Выручка и себестоимость продаж (Запрос)

В данной статье продемонстрирован пример создания в Экстракторе 1С проекта выгрузки регистра накопления «Выручка и себестоимость продаж» с использованием настроек партицирования.

Пример сделан на базе 1С «Управление торговлей 11.5»

Сначала видео:

Выручка и себестоимость запросом
Это видео доступно:

Начнем: Добавьте новый проект, укажите его название, выберите «Подключение»
Затем Сохраните проект, и добавьте в Проект новую строку

  • Создание набора данных по 1С

  • Теперь можно нажать «Конструктор» или ввести текст запроса (пример ниже)

Текст запроса
ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.Период КАК Период, ВыручкаИСебестоимостьПродажОбороты.Регистратор КАК Документ, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Серия КАК Серия, ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента КАК ЗаказКлиента, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер КАК Партнер, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Организация КАК Организация, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Контрагент КАК Контрагент, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Договор КАК Договор, ВыручкаИСебестоимостьПродажОбороты.Подразделение КАК Подразделение, ВыручкаИСебестоимостьПродажОбороты.ТипЗапасов КАК ТипЗапасов, ВыручкаИСебестоимостьПродажОбороты.Менеджер КАК Менеджер, ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот КАК КолВо, ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот КАК Выручка, ВыручкаИСебестоимостьПродажОбороты.СтоимостьОборот КАК Себестоимость, ВыручкаИСебестоимостьПродажОбороты.ДопРасходыОборот КАК ДопРасходы, ВыручкаИСебестоимостьПродажОбороты.РасходыНаПродажуСНДСОборот КАК РасходыНаПродажу, ВыручкаИСебестоимостьПродажОбороты.ТрудозатратыОборот КАК Трудозатраты, ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот - ВыручкаИСебестоимостьПродажОбороты.СтоимостьОборот - ВыручкаИСебестоимостьПродажОбороты.РасходыНаПродажуСНДСОборот - ВыручкаИСебестоимостьПродажОбороты.ТрудозатратыОборот - ВыручкаИСебестоимостьПродажОбороты.ДопРасходыОборот КАК ВалПрибыль ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(НАЧАЛОПЕРИОДА(&ДатаВыгрузки, МЕСЯЦ), КОНЕЦПЕРИОДА(&ДатаВыгрузки, МЕСЯЦ), Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты

В данном запросе есть важный момент:
Внутри регистра ВыручкаИСебестоимостьПродаж.Обороты используется такая конструкция:

  1. НАЧАЛОПЕРИОДА(&ДатаВыгрузки, МЕСЯЦ), КОНЕЦПЕРИОДА(&ДатаВыгрузки, МЕСЯЦ) - это позволяет делать отбор с начала месяца по конец месяц, передавая в качестве параметра &ДатаВыгрузки-любой день внутри этого месяца

  2. Если нужно, чтобы запрос отбирал данные не по месяца, а по дням, достаточно в функции НАЧАЛОПЕРИОДА() указать не МЕСЯЦ, а ДЕНЬ, т.е указать: НАЧАЛОПЕРИОДА(&ДатаВыгрузки, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаВыгрузки, ДЕНЬ)

  • На закладке «Параметры» - установите значение «Начало этого месяца» - в нашем случае это будет например апрель и нажмите Далее

  • Если необходимо, отметьте флаги на полях с Уникальными идентификаторами

  • Создайте новую таблицу

Важное замечание

Постарайтесь не превышать длину названия в 25 символов (если пишете название таблицы на русском)

  • Маппинг полей и настройка типов полей и их поведения. На этом экране, пока просто нажмите «Далее» (если конечно вам не требуется изменить сопоставление полей с таблицей-приемником, изменить типы полей)

  • Партицирование. На следующем экране, укажите:

    1. Поле сортировки = Период

    2. Партиция = toYYYYMM(`Период`)

    Теперь важный момент, касающийся будущей структуры таблицы в БД «Clickhouse». Необходимо выбрать «движок таблицы». Если нет особых предпочтений – оставьте предлагаемый по умолчанию – MergeTree (см. скриншот ниже после п.3).

    Укажите поля сортировки (можно не указывать, тогда будет использовано по умолчанию – tuple()).

    Примечание: для «Регистров накопления», рекомендуем выбрать Период (обязательно в обратных одинарных кавычках) – теперь нужное поле можно выбрать, а для «Справочников» – Наименование.

    Укажите выражение для партиций (оно вам понадобится, если будете использовать тип выгрузки – «Перезапись партиции»).
    Примечание: для регистров накопления – это обычно:

    • toYYYYMM(`Период`) – это партиция с числом в формате ГодМесяц от поля «Период»

    • toYYYYMMDD (`Период`) – это партиция с числом в формате ГодМесяцДень от поля «Период»

    • а для справочников можно ничего не указывать (тут зависит от того как вы собираетесь проектировать выгрузку).

    Примечание: названия полей в кириллице лучше обрамлять в обратные кавычки ( ` ), как показано на скриншоте ниже

  • Нажмите, Далее и Завершить

  • Нажмите Выполнить проект

  • Все готово - данные по этому проекту Выгружены