Программное формирование отчетов в БП 3.0 на примере оборотно-сальдовой ведомости по счету

14.07.21

Задачи пользователя - Адаптация типовых решений

Порой возникает задача получить программно результат отчета на основе СКД в виде табличного документа. В данной статье будет описан один из вариантов реализации данной задачи.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Программное формирование отчетов в БП 3.0, на примере оборотно-сальдовой ведомости по счету:
.epf 9,39Kb
79
79 Скачать (1 SM) Купить за 1 850 руб.

Пример разработан на основе обротно-сальдовой ведомости в конфигурации «Бухгалтерия предприятия, редакция 3.0».

Для программного формирования отчета разработанного на СКД нам понадобятся следующие объекты;

  1. Отчет
ОСВ = Отчеты.ОборотноСальдоваяВедомостьПоСчету.Создать();
  1. Схема компоновки данных
СхемаКомпоновки =ОСВ.ПолучитьМакет("СхемаКомпоновкиДанных");
  1. Компоновщик настроек

Для формирования оборотно-сальдовой ведомости необходимо получить параметры получения отчета. Их возвращает функция "ПолучитьПараметрыИсполненияОтчета(ПараметрыОтчета, МенеджерОтчета)" расположенная в модуле отчета. Для завершения настройки компоновщика настроек необходимо его передать в процедуру "ПередКомпоновкойМакета(ПараметрыОтчета, ПараметрыОтчета.СхемаКомпоновкиДанных, КомпоновщикНастроек)" расположенную в модуле менеджера отчета. 

ПараметрыИсполненияОтчета = ПолучитьПараметрыИсполненияОтчета(ПараметрыОтчета, МенеджерОтчета);
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.ЗагрузитьНастройки(ПараметрыОтчета.НастройкиКомпоновкиДанных);
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПараметрыОтчета.СхемаКомпоновкиДанных));
МенеджерОтчета.ПередКомпоновкойМакета(ПараметрыОтчета, ПараметрыОтчета.СхемаКомпоновкиДанных, КомпоновщикНастроек);
КомпоновщикНастроек.Восстановить();
  1. Компоновщик макета компоновки данных

   Далее полученные настройки компоновщика используем для компоновки макета.

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(ПараметрыОтчета.СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки());
  1. Процессор компоновки данных

На основе полученного макета компоновки данных компонуем и выводим данные отчета.

ПроцессорКомпоновкиОСКД = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиОСКД.Инициализировать(Макет);
  1. Процессор вывода данных
ПроцессорВыводаОСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВыводаОСКД.УстановитьДокумент(Результат);
ПроцессорВыводаОСКД.Вывести(ПроцессорКомпоновкиОСКД);

Реквизит1.Вывести(Результат);

Настройки отчета используемые для формирования отчета представляют собой структуру включающие следующие значения типа "ЗначениеКлюч"

	ПараметрыОтчета.Вставить("ВключатьОбособленныеПодразделения", Ложь);
	ПараметрыОтчета.Вставить("ВыводитьЗаголовок"             , Истина);
	ПараметрыОтчета.Вставить("ВыводитьПодвал"                , Ложь);
	ПараметрыОтчета.Вставить("ВыделятьОтрицательные"         , Истина);
	ПараметрыОтчета.Вставить("Группировка"                   , Группировка1);
	ПараметрыОтчета.Вставить("ДанныеРасшифровки"             , "");
	ПараметрыОтчета.Вставить("ДополнительныеПоля"            , Новый ТаблицаЗначений);
	ПараметрыОтчета.Вставить("ИдентификаторОтчета"           , "ОборотноСальдоваяВедомостьПоСчету");
	ПараметрыОтчета.Вставить("КонецПериода"                  , КонецКвартала(ДобавитьМесяц(ТекущаяДата(),-1)));
	ПараметрыОтчета.Вставить("МакетОформления"               , "ОформлениеОтчетовЗеленый");
	ПараметрыОтчета.Вставить("НаборПоказателей"              , НаборПоказателей);
	ПараметрыОтчета.Вставить("НастройкиКомпоновкиДанных"     , СхемаКомпоновки.НастройкиПоУмолчанию);
	ПараметрыОтчета.Вставить("НачалоПериода"                 , НачалоКвартала(ДобавитьМесяц(ТекущаяДата(),-1)));
	ПараметрыОтчета.Вставить("Организация"                   , БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация",ПараметрыСеанса.ТекущийПользователь));
	ПараметрыОтчета.Вставить("ОтветственноеЛицо"             , Перечисления.ОтветственныеЛицаОрганизаций.ОтветственныйЗаБухгалтерскиеРегистры);
	ПараметрыОтчета.Вставить("Периодичность"                 , 0);
	ПараметрыОтчета.Вставить("ПоСубсчетам"                   , Ложь);
	ПараметрыОтчета.Вставить("ПоказательБУ"                  , Истина);
	ПараметрыОтчета.Вставить("ПоказательВР"                  , Ложь);
	ПараметрыОтчета.Вставить("ПоказательВалютнаяСумма"       , Ложь);
	ПараметрыОтчета.Вставить("ПоказательКоличество"          , Ложь);
	ПараметрыОтчета.Вставить("ПоказательКонтроль"            , Ложь);
	ПараметрыОтчета.Вставить("ПоказательНУ"                  , Ложь);
	ПараметрыОтчета.Вставить("ПоказательПР"                  , Ложь);
	ПараметрыОтчета.Вставить("ПоказательСверкаНУ"            , Ложь);
	ПараметрыОтчета.Вставить("РазвернутоеСальдо"             , Истина);
	ПараметрыОтчета.Вставить("РазмещениеДополнительныхПолей" , 0);
	ПараметрыОтчета.Вставить("РежимРасшифровки"              , Ложь);
	ПараметрыОтчета.Вставить("СхемаКомпоновкиДанных"         , СхемаКомпоновки);
	ПараметрыОтчета.Вставить("Счет"                          , Счет);
	ПараметрыОтчета.Вставить("УменьшенныйАвтоотступ"         , Ложь);

Рабочий код примера размещен в прикрепленной обработке. На форме обработки размещен реквизит "табличный документ" и команда заполнения которая выводит в реквизит оборотно-сальдовую ведомость согласно установленным параметрам. Результат обработки в дальнейшем можно использовать в своих целях. 

Обработка тестировалась на конфигурации Бухгалтерия предприятия, редакция 3.0 (3.0.94.17), версия платформы 8.3.17.1851.

Отчет Обротно-сальдовая ведомость ОСВ программное формирование

См. также

SALE! %

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    162810    900    401    

879

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4358    16    1    

34

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    6222    15    5    

24

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6927    74    17    

30

Инструментарий разработчика СКД Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

По выбранной схеме компоновки данных генерирует программный код, который генерирует СКД, аналогичную исходной схеме. Есть дополнительные инструменты для просмотра дерева схемы, сравнение исходной схемы и полученной по коду, а также сравнение изменений в сгенерированном коде для исходной схемы и для измененной.

3 стартмани

05.02.2024    7359    56    obmailok    21    

79

СКД WEB-интеграция Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Долгое время поддерживаю web-портал, в котором появилась необходимость создавать отчеты. Просмотрев различные фреймворки на js, я решил сделать свое решение, которое позволяло бы быстро разрабатывать и добавлять новые отчеты на web-портал.

2 стартмани

11.12.2023    11089    24    John_d    25    

124

СКД Программист Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Рассмотрим еще не получивший широкого распространения способ работы с внешними данным в СКД. В процессе обсуждения работы с СКД выяснилось, что многие не знакомы со способом помещения туда временной таблицы, полученной предварительно. Статья будет полезна разработчикам, знакомым с программным созданием СКД.

05.12.2023    8403    PROSTO-1C    15    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gerasimovaol@rambler.ru 94 26.03.22 11:58 Сейчас в теме
Добрый день! Подскажите как вставить отбор по конкретному контрагенту?
2. alul 11.12.23 16:58 Сейчас в теме
Если б еще был программный вызов набора возможных параметров отчета и отборов,
да еще всё это было с использованием БСП... решение было б бесценно - то бищь золотое)))
Оставьте свое сообщение