17 июля 2025
1C-RarusTechDay 2025
8-я открытая техническая конференция для специалистов 1С
Зарегистрироваться
1C-RarusTechDay 2025 — 8‑я открытая техническая конференция для специалистов 1С

Добавление отчетов ААА5

Декоративное изображение

Для получения доступа к форуму необходимо авторизоваться
или зарегистрироваться на сайте.

Пользователь ПП
RSS
Добрый день.
Есть ситуация:
Добавили в базу свой отчет, при выводе постоянно запрашивает параметр - нашли.
При повторном нажатии "Сформировать" - отчет дорисовывается снизу. И так, каждый раз.
При работе через ВПФ - таких проблем нету.


Подскажите пожалуйста, есть ли какие-нибудь рекомендации по добавлению своих отчетов в базу.

В частности, какие процедуры - функции добавлять в Модули объекта для корректной обработки.
Декоративное изображение 3
Сотрудник 1С-Рарус
Добрый день, Иван, сотрудники компании 1С-Рарус не оказывают консультации по программированию на платформе 1С. Возможно, кто-то из участников форума даст Вам совет, это не запрещается правилами форума.
Пользователь ПП
Цитата
Иван Полищук написал:
Добрый день.
Есть ситуация:
Добавили в базу свой отчет, при выводе постоянно запрашивает параметр - нашли.
При повторном нажатии "Сформировать" - отчет дорисовывается снизу. И так, каждый раз.
При работе через ВПФ - таких проблем нету.


Подскажите пожалуйста, есть ли какие-нибудь рекомендации по добавлению своих отчетов в базу.

В частности, какие процедуры - функции добавлять в Модули объекта для корректной обработки.
У нас в модуле объекта (у отчета) есть следующий код:
Код
Функция ПолучитьСвойства() Экспорт
   
   СтруктураСвойств = Новый Структура;
   
   Возврат СтруктураСвойств;
   
КонецФункции

// Стандартная процедура настройки схемы компоновщика данных
//
Процедура ЗаполнитьНачальныеНастройки() Экспорт
   
   ОтчетыСервер.ЗаполнитьНачальныеОстатки(ЭтотОбъект);
      
КонецПроцедуры // ЗаполнитьНачальныеНастройки()

Процедура ПолучитьОтборСКД(ПолеКомпоновки, Отбор, НайденныеОтборы)
   
   Для Каждого ТекОтбор Из Отбор Цикл
      Если ТекОтбор.Использование Тогда
         Если ТипЗнч(ТекОтбор) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
            ПолучитьОтборСКД(ПолеКомпоновки, ТекОтбор.Элементы, НайденныеОтборы);
         ИначеЕсли ТипЗнч(ТекОтбор) = Тип("ЭлементОтбораКомпоновкиДанных") И ТекОтбор.ЛевоеЗначение = ПолеКомпоновки Тогда
            НайденныеОтборы.Добавить(ТекОтбор);
         КонецЕсли;
      КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт
      
   ОтчетыСервер.ВывестиОтчет(ЭтотОбъект, СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка);
   
КонецПроцедуры

// проверяет настройки отчета на корректность заполнения
//
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
   
КонецПроцедуры
Пользователь ПП
Цитата
Данил Василига написал:
Цитата
Иван Полищук  написал:
Добрый день.
Есть ситуация:
Добавили в базу свой отчет, при выводе постоянно запрашивает параметр - нашли.
При повторном нажатии "Сформировать" - отчет дорисовывается снизу. И так, каждый раз.
При работе через ВПФ - таких проблем нету.


Подскажите пожалуйста, есть ли какие-нибудь рекомендации по добавлению своих отчетов в базу.

В частности, какие процедуры - функции добавлять в Модули объекта для корректной обработки.
У нас в модуле объекта (у отчета) есть следующий код:
Код
 Функция ПолучитьСвойства() Экспорт
   
   СтруктураСвойств = Новый Структура;
   
   Возврат СтруктураСвойств;
   
КонецФункции

// Стандартная процедура настройки схемы компоновщика данных
//
Процедура ЗаполнитьНачальныеНастройки() Экспорт
   
   ОтчетыСервер.ЗаполнитьНачальныеОстатки(ЭтотОбъект);
      
КонецПроцедуры // ЗаполнитьНачальныеНастройки()

Процедура ПолучитьОтборСКД(ПолеКомпоновки, Отбор, НайденныеОтборы)
   
   Для Каждого ТекОтбор Из Отбор Цикл
      Если ТекОтбор.Использование Тогда
         Если ТипЗнч(ТекОтбор) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
            ПолучитьОтборСКД(ПолеКомпоновки, ТекОтбор.Элементы, НайденныеОтборы);
         ИначеЕсли ТипЗнч(ТекОтбор) = Тип("ЭлементОтбораКомпоновкиДанных") И ТекОтбор.ЛевоеЗначение = ПолеКомпоновки Тогда
            НайденныеОтборы.Добавить(ТекОтбор);
         КонецЕсли;
      КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт
      
   ОтчетыСервер.ВывестиОтчет(ЭтотОбъект, СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка);
   
КонецПроцедуры

// проверяет настройки отчета на корректность заполнения
//
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
   
КонецПроцедуры
 
Спасибо!!!!! Получилось!!!
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С