Содержание:
1. Решение задач для конфигурации 1С 8.3 Управление предприятием
Задача, при которой требуется получить какие-либо итоговые показатели на каждую дату в выбранном периоде возникает довольно часто.
Одним из вариантов реализации таких задач является использование конструкции «Периодами» в тексте запросе.
В качестве примера, рассмотрим решение одной из подобных задач для конфигурации 1С 8.3 Управление предприятием.
По условиям задачи в отчете необходимо получить записи для каждого месяца из указанного периода и количество продаж в месяце. Если продаж в каком-то из месяцев не было, то количество продаж для него равно 0.
При расчете итогов по полю с типом «Дата» после слова «Итоги» необходимо указать ключевого слово «Периодами». В скобках после него необходимо указать начало и конец периода, в котором нужно получить записи в результате отчета, а также тип налогового периода: «Год», «Полугодие», «Декада», «Квартал», «Месяц», «Неделя», «День», «Час», «Минута», «Секунда».
Информацию о количестве продаж товара будем получать из таблицы «Обороты» регистра накопления в 1С 8.3 ВыручкаИСебестоимостьПродаж.
Для примера рассмотрим историю продаж товара «Вентилятор оконный». За 2021 год было 2 продажи 11.05.21 и 30.09.21:
Выручка и себестоимость продаж
Сначала проверим, какой будет результат, если в запросе не использовать конструкцию «Периодами». Текст запроса в таком случае будет выглядеть так:
Параметр «ДатаНачала»
В результате запроса получим 2 строки:
Получение 2-х строк в результате запроса
Теперь добавим в текст запроса итоги по полю период:
В конструкторе запроса 1С 8.3 на вкладке «Итоги» необходимо выделить строку с полем группировки 1С, установить галку «Периодами» и выбрать вид дополнения, в нашем случае это «Месяц».
В качестве начала и конца периода, в рамках которого нам нужно получить дополнение записей результата запроса, установим параметры, с которыми формируется запрос.
Конструктор запроса
Результат такого запроса:
2. Результат запроса 1С
Результат запроса 1С был дополнен строками за каждый месяц 2021 года, несмотря на то, что в этих месяцах оборотов по этой номенклатуре не было.
Если в конструкции «Периодами» параметры «Начало периода» и «Конец периода» не указывать, то в качестве начала и конца периода для дополнения будут использованы первая и последняя дата из результата запроса 1С:
Использование первой и последней датой из результата запроса 1С
Важным ограничением использования конструкции «Периодами» является то, требуемый результат можно получить только если обход результата запроса производится с передачей параметров в метод «Выбрать()».
Если же использовать метод «Выгрузить()», то дополнение дат производиться не будет.
Специалист компании "Кодерлайн"
Анна Белокопытова