База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как сформировать отчет в 1С УНФ с вычитанием остатка дней по формуле? › RE: Как сформировать отчет в 1С УНФ с вычитанием остатка дней по формуле?
24 января 2025 в 19:15
#31259

Участник
1С (Код)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 1C &НаКлиенте Процедура СформироватьОтчет() // Получаем текущую дату ТекущаяДата = ТекущаяДата(); // Создаем выборку для получения остатков товаров Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ Товары.Номенклатура, Товары.Характеристика, Товары.Количество, Товары.СрокХранения, Товары.ДатаПоступления, (ТекущаяДата() - Товары.ДатаПоступления) КАК ОстатокДней ИЗ РегистрНакопления.Запасы КАК Товары ГДЕ Товары.Количество > 0"; Результат = Запрос.Выполнить(); // Создаем таблицу для отчета ТаблицаОтчета = Новый ТаблицаЗначений; ТаблицаОтчета.Колонки.Добавить("Номенклатура"); ТаблицаОтчета.Колонки.Добавить("Характеристика"); ТаблицаОтчета.Колонки.Добавить("Количество"); ТаблицаОтчета.Колонки.Добавить("СрокХранения"); ТаблицаОтчета.Колонки.Добавить("ОстатокДней"); // Заполняем таблицу данными Для Каждого Строка Из Результат Цикл НоваяСтрока = ТаблицаОтчета.Добавить(); НоваяСтрока.Номенклатура = Строка.Номенклатура; НоваяСтрока.Характеристика = Строка.Характеристика; НоваяСтрока.Количество = Строка.Количество; НоваяСтрока.СрокХранения = Строка.СрокХранения; НоваяСтрока.ОстатокДней = Строка.ОстатокДней - Строка.СрокХранения; КонецЦикла; // Выводим отчет Сообщить("Отчет сформирован. Количество строк: " + ТаблицаОтчета.Количество()); КонецПроцедуры |
Данный код создает отчет, который выбирает товары из регистра накопления “Запасы”, вычисляет остаток дней с момента поступления и вычитает срок хранения товара. Результаты выводятся в таблицу.