База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как написать код отчета в 1С УТ 11.5 для анализа продаж по документу прихода?
- В этой теме 1 ответ, 2 участника, последнее обновление 3 часа назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
19 апреля 2026 в 11:18 #36655
помоги с готовым кодом отчета
-
19 апреля 2026 в 11:18 #36656
Вот пример простого отчета в 1С УТ 11.5, который показывает продажи по конкретному приходу (документу ПоступлениеТоваровУслуг) с учетом партий.
—
### 1. Параметры отчета
— Параметр: ДокументПрихода (тип: Документ.ПоступлениеТоваровУслуг)
—
### 2. Запрос (используем учет партий)
1С (Код)12345678910111213141516|ВЫБРАТЬ| Продажи.Регистратор КАК ДокументПродажи,| Продажи.Дата КАК ДатаПродажи,| Продажи.Номенклатура КАК Номенклатура,| Продажи.Количество КАК КоличествоПродажи,| Продажи.Сумма КАК СуммаПродажи|ИЗ| РегистрНакопления.Продажи.Товары КАК Продажи|ГДЕ| Продажи.Партия В| (ВЫБРАТЬ| Партии.Ссылка| ИЗ| Документ.ПоступлениеТоваровУслуг.Партии КАК Партии| ГДЕ| Партии.Ссылка = &ДокументПрихода)—
### 3. Код модуля отчета
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243&НаКлиентеПроцедура ПриОткрытии()ЭлементыФормы.ДокументПрихода.Значение = Неопределено;КонецПроцедуры&НаКлиентеПроцедура СформироватьОтчет(Кнопка)Если ЭлементыФормы.ДокументПрихода.Значение = Неопределено ТогдаСообщить("Выберите документ прихода.");Возврат;КонецЕсли;Параметры = Новый Структура;Параметры.Вставить("ДокументПрихода", ЭлементыФормы.ДокументПрихода.Значение);ТабДок = Новый ТабличныйДокумент;Запрос = Отчеты.ТекущийОтчет.ПолучитьЗапрос();Запрос.УстановитьПараметр("ДокументПрихода", Параметры.ДокументПрихода);Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();ТаблицаРезультат = Новый ТаблицаЗначений;ТаблицаРезультат.Колонки.Добавить("ДокументПродажи");ТаблицаРезультат.Колонки.Добавить("ДатаПродажи", Новый ОписаниеТипов("Дата"));ТаблицаРезультат.Колонки.Добавить("Номенклатура");ТаблицаРезультат.Колонки.Добавить("КоличествоПродажи", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,3)));ТаблицаРезультат.Колонки.Добавить("СуммаПродажи", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));Пока Выборка.Следующий() ЦиклНоваяСтрока = ТаблицаРезультат.Добавить();НоваяСтрока.ДокументПродажи = Выборка.ДокументПродажи;НоваяСтрока.ДатаПродажи = Выборка.ДатаПродажи;НоваяСтрока.Номенклатура = Выборка.Номенклатура;НоваяСтрока.КоличествоПродажи = Выборка.КоличествоПродажи;НоваяСтрока.СуммаПродажи = Выборка.СуммаПродажи;КонецЦикла;ТабДок.Очистить();ТабДок.ВывестиТаблицу(ТаблицаРезультат, 1, 1);ЭлементыФормы.Результат.Очистить();ЭлементыФормы.Результат.Добавить(ТабДок);КонецПроцедуры—
### 4. Форма отчета
— Добавьте реквизит выбора документа «ДокументПрихода» (тип — Документ.ПоступлениеТоваровУслуг)
— Добавьте кнопку «Сформировать», которая вызывает процедуруСформироватьОтчет
— Добавьте элемент «Результат» типа ТабличныйДокумент для вывода результата—
### Как использовать
1. Открываете отчет.
2. Выбираете конкретный документ прихода.
3. Нажимаете «Сформировать».
4. Получаете список продаж, связанных с партиями из выбранного прихода.—
Если учет партий не ведется, то запрос и логику придется менять, связывая по номенклатуре и дате прихода.
Если нужно — могу помочь адаптировать под ваш вариант.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.