Программное формирование отчетов в БП 3.0 на примере оборотно-сальдовой ведомости по счету
Задачи пользователя - Адаптация типовых решений
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Пример разработан на основе обротно-сальдовой ведомости в конфигурации «Бухгалтерия предприятия, редакция 3.0».
Для программного формирования отчета разработанного на СКД нам понадобятся следующие объекты;
- Отчет
ОСВ = Отчеты.ОборотноСальдоваяВедомостьПоСчету.Создать();
- Схема компоновки данных
СхемаКомпоновки =ОСВ.ПолучитьМакет("СхемаКомпоновкиДанных");
- Компоновщик настроек
Для формирования оборотно-сальдовой ведомости необходимо получить параметры получения отчета. Их возвращает функция "ПолучитьПараметрыИсполненияОтчета(ПараметрыОтчета, МенеджерОтчета)" расположенная в модуле отчета. Для завершения настройки компоновщика настроек необходимо его передать в процедуру "ПередКомпоновкойМакета(ПараметрыОтчета, ПараметрыОтчета.СхемаКомпоновкиДанных, КомпоновщикНастроек)" расположенную в модуле менеджера отчета.
ПараметрыИсполненияОтчета = ПолучитьПараметрыИсполненияОтчета(ПараметрыОтчета, МенеджерОтчета);
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.ЗагрузитьНастройки(ПараметрыОтчета.НастройкиКомпоновкиДанных);
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПараметрыОтчета.СхемаКомпоновкиДанных));
МенеджерОтчета.ПередКомпоновкойМакета(ПараметрыОтчета, ПараметрыОтчета.СхемаКомпоновкиДанных, КомпоновщикНастроек);
КомпоновщикНастроек.Восстановить();
- Компоновщик макета компоновки данных
Далее полученные настройки компоновщика используем для компоновки макета.
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(ПараметрыОтчета.СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки());
- Процессор компоновки данных
На основе полученного макета компоновки данных компонуем и выводим данные отчета.
ПроцессорКомпоновкиОСКД = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиОСКД.Инициализировать(Макет);
- Процессор вывода данных
ПроцессорВыводаОСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВыводаОСКД.УстановитьДокумент(Результат);
ПроцессорВыводаОСКД.Вывести(ПроцессорКомпоновкиОСКД);
Реквизит1.Вывести(Результат);
Настройки отчета используемые для формирования отчета представляют собой структуру включающие следующие значения типа "ЗначениеКлюч"
ПараметрыОтчета.Вставить("ВключатьОбособленныеПодразделения", Ложь);
ПараметрыОтчета.Вставить("ВыводитьЗаголовок" , Истина);
ПараметрыОтчета.Вставить("ВыводитьПодвал" , Ложь);
ПараметрыОтчета.Вставить("ВыделятьОтрицательные" , Истина);
ПараметрыОтчета.Вставить("Группировка" , Группировка1);
ПараметрыОтчета.Вставить("ДанныеРасшифровки" , "");
ПараметрыОтчета.Вставить("ДополнительныеПоля" , Новый ТаблицаЗначений);
ПараметрыОтчета.Вставить("ИдентификаторОтчета" , "ОборотноСальдоваяВедомостьПоСчету");
ПараметрыОтчета.Вставить("КонецПериода" , КонецКвартала(ДобавитьМесяц(ТекущаяДата(),-1)));
ПараметрыОтчета.Вставить("МакетОформления" , "ОформлениеОтчетовЗеленый");
ПараметрыОтчета.Вставить("НаборПоказателей" , НаборПоказателей);
ПараметрыОтчета.Вставить("НастройкиКомпоновкиДанных" , СхемаКомпоновки.НастройкиПоУмолчанию);
ПараметрыОтчета.Вставить("НачалоПериода" , НачалоКвартала(ДобавитьМесяц(ТекущаяДата(),-1)));
ПараметрыОтчета.Вставить("Организация" , БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация",ПараметрыСеанса.ТекущийПользователь));
ПараметрыОтчета.Вставить("ОтветственноеЛицо" , Перечисления.ОтветственныеЛицаОрганизаций.ОтветственныйЗаБухгалтерскиеРегистры);
ПараметрыОтчета.Вставить("Периодичность" , 0);
ПараметрыОтчета.Вставить("ПоСубсчетам" , Ложь);
ПараметрыОтчета.Вставить("ПоказательБУ" , Истина);
ПараметрыОтчета.Вставить("ПоказательВР" , Ложь);
ПараметрыОтчета.Вставить("ПоказательВалютнаяСумма" , Ложь);
ПараметрыОтчета.Вставить("ПоказательКоличество" , Ложь);
ПараметрыОтчета.Вставить("ПоказательКонтроль" , Ложь);
ПараметрыОтчета.Вставить("ПоказательНУ" , Ложь);
ПараметрыОтчета.Вставить("ПоказательПР" , Ложь);
ПараметрыОтчета.Вставить("ПоказательСверкаНУ" , Ложь);
ПараметрыОтчета.Вставить("РазвернутоеСальдо" , Истина);
ПараметрыОтчета.Вставить("РазмещениеДополнительныхПолей" , 0);
ПараметрыОтчета.Вставить("РежимРасшифровки" , Ложь);
ПараметрыОтчета.Вставить("СхемаКомпоновкиДанных" , СхемаКомпоновки);
ПараметрыОтчета.Вставить("Счет" , Счет);
ПараметрыОтчета.Вставить("УменьшенныйАвтоотступ" , Ложь);
Рабочий код примера размещен в прикрепленной обработке. На форме обработки размещен реквизит "табличный документ" и команда заполнения которая выводит в реквизит оборотно-сальдовую ведомость согласно установленным параметрам. Результат обработки в дальнейшем можно использовать в своих целях.
Обработка тестировалась на конфигурации Бухгалтерия предприятия, редакция 3.0 (3.0.94.17), версия платформы 8.3.17.1851.
Вступайте в нашу телеграмм-группу Инфостарт