Вход | Регистрация


Как поймать инициализацию параметров в типовой отчет "Реестр документов" БП 3

Как поймать инициализацию параметров в типовой отчет "Реестр документов" БП 3
Я
   Charity
 
10.08.18 - 15:05
Добрый день, уважаемые.
Очень давно не работала с УФ и затупила на простейшей, казалось бы, задаче. Итак, имеем типовой отчет "Реестр документов" бп 3, вызываемый по кнопке "Печать" из формы списка документов. Задача состоит в добавлении некоторых колонок в указанный реестр для некоторых видов документов. Так вот, не могу поймать запрос, инициализирующий СКД данного отчета. Т.е.при создании на сервере формы отчета "Реестр документов" отладчик показывает, что параметры уже заполнены, текст запроса есть. Хотелось бы сделать по фен-шую, поймав инициализацию текста запроса и изменив его для некоторых документов.
А я затупила, не пойму, где именно эта инициализация производится. Пните в нужном направлении, пожалуйста. Спасибо.
 
 
   spiller26
 
1 - 10.08.18 - 15:06
(0) Тебе повезло, только на этой неделе это делал
щас найду выложу тебе
   Charity
 
2 - 10.08.18 - 15:07
Заранее рассыпаюсь в благодарностях)
   spiller26
 
3 - 10.08.18 - 15:16
1. Отчеты.Формы.ФормаОтчета 
   Модуль
   &НаСервере
Процедура ИнициализироватьОтчет(ОсновнаяТаблица, ТекстЗапроса)
...
    СхемаКомпоновкиДанныхЭталон = Отчеты.РеестрДокументов.ПолучитьМакет("СхемаКомпоновкиДанныхЭталон");
    //-> Кра 06.08.2018

    Если ИмяТаблицы = "Документ.РеализацияТоваровУслуг" Тогда
        ТекстЗапроса = абтЗапросДляТаблицыРеализацияТоваровУслуг();
        СхемаКомпоновкиДанныхЭталон = Отчеты.РеестрДокументов.ПолучитьМакет("СхемаКомпоновкиДанныхЭталонРеализация");
    КонецЕсли;    
    //<- Кра 06.08.2018    

-----------------------------

&НаСервере
Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки)
...
        //-> Кр 06.08.2018

        Если ИмяТаблицы = "Документ.РеализацияТоваровУслуг" Тогда
            НовоеПолеВыбора = ПоказателиИсточник.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
            НовоеПолеВыбора.Поле = Новый ПолеКомпоновкиДанных("РублеваяСумма");
            НовоеПолеВыбора.Использование = Истина;
        КонецЕсли;    
        //<- Кра 06.08.2018

        
        ТаблицаПоказателей = СохраняемыеПоказатели.Получить();

2. ОбщМодуль.БухгалтерскиеОтчетыВызовСервера
    
Процедура СформироватьОтчет(ПараметрыОтчета, АдресХранилища) Экспорт
...
    //-> Кра 06.08.2018

    Если ПараметрыОтчета.Свойство("ИмяТаблицы") Тогда
        Если ПараметрыОтчета.ИмяТаблицы = "Документ.РеализацияТоваровУслуг" Тогда
            ПараметрыОтчета.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос = абтЗапросДляТаблицыРеализацияТоваровУслуг();
        КонецЕсли;    
    КонецЕсли;    
    //<- Кра 06.08.2018

    
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
   spiller26
 
4 - 10.08.18 - 15:24
(3) При открытии формы подставил свой запрос. Добавил свой параметр "РублеваяСумма"
В общмодуле опять ему запрос подкидываю, т.к. могут переформировать.

Минусы: так и не понял как сразу с параметром формировать и сохранять выбранный параметр пользователю (им приходиться самим выбирать в настройках) Времени особо не было и им не в лом самим ставить галочку этого параметра.
    
Вот тут не забывай проверять свойтво структуры, т.к. будут пробелмы при формировании отчета по счетам.
Если ПараметрыОтчета.Свойство("ИмяТаблицы") Тогда
   Charity
 
5 - 10.08.18 - 15:34
Спасибо! а в какой конфигурации были сделаны эти доработки? У мну например, в файловой базе не заходит в процедуру общего модуля БухгалтерскиеОтчетыВызовСервера
   Charity
 
6 - 10.08.18 - 15:35
Пардон, заходит, не то посмотрела)
   spiller26
 
7 - 10.08.18 - 15:41
(5) БП 3.0 Корп
   Charity
 
8 - 10.08.18 - 15:44
у меня БП 3.0 простая, не корп. Не заходит отладчик в эту процедуру общего модуля. Соответственно, я не вижу параметра "Имя таблицы".
   Charity
 
9 - 10.08.18 - 15:45
(3.0.60.46)
   Charity
 
10 - 10.08.18 - 15:57
У меня, видимо, с отладкой какая-то шляпа была. Да! я вижу имя таблицы в процедуре инициализации отчета. Спасибо,     spiller26!
 
 Рекламное место пустует
   Charity
 
11 - 10.08.18 - 15:58
Возможно, и в общем модуле увижу, а то долбилась в шары. Спасибо еще раз!

Список тем форума
Рекламное место пустует  Рекламное место пустует
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует