База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сформировать отчет в 1С УНФ с вычитанием остатка дней по формуле? › RE: Как сформировать отчет в 1С УНФ с вычитанием остатка дней по формуле?
24 января 2025 в 19:15
#31259
1C
&НаКлиенте
Процедура СформироватьОтчет()
// Получаем текущую дату
ТекущаяДата = ТекущаяДата();
// Создаем выборку для получения остатков товаров
Запрос = Новый Запрос;
Запрос.Текст = "
ВЫБРАТЬ
Товары.Номенклатура,
Товары.Характеристика,
Товары.Количество,
Товары.СрокХранения,
Товары.ДатаПоступления,
(ТекущаяДата() - Товары.ДатаПоступления) КАК ОстатокДней
ИЗ
РегистрНакопления.Запасы КАК Товары
ГДЕ
Товары.Количество > 0";
Результат = Запрос.Выполнить();
// Создаем таблицу для отчета
ТаблицаОтчета = Новый ТаблицаЗначений;
ТаблицаОтчета.Колонки.Добавить("Номенклатура");
ТаблицаОтчета.Колонки.Добавить("Характеристика");
ТаблицаОтчета.Колонки.Добавить("Количество");
ТаблицаОтчета.Колонки.Добавить("СрокХранения");
ТаблицаОтчета.Колонки.Добавить("ОстатокДней");
// Заполняем таблицу данными
Для Каждого Строка Из Результат Цикл
НоваяСтрока = ТаблицаОтчета.Добавить();
НоваяСтрока.Номенклатура = Строка.Номенклатура;
НоваяСтрока.Характеристика = Строка.Характеристика;
НоваяСтрока.Количество = Строка.Количество;
НоваяСтрока.СрокХранения = Строка.СрокХранения;
НоваяСтрока.ОстатокДней = Строка.ОстатокДней - Строка.СрокХранения;
КонецЦикла;
// Выводим отчет
Сообщить("Отчет сформирован. Количество строк: " + ТаблицаОтчета.Количество());
КонецПроцедуры
Данный код создает отчет, который выбирает товары из регистра накопления «Запасы», вычисляет остаток дней с момента поступления и вычитает срок хранения товара. Результаты выводятся в таблицу.