Имя: Пароль:
1C
 
СКД, отбор, вложенная схема и БСП
0 DosBot
 
27.07.20
08:27
Платформа 8.3.15.1700
1С:ERP Управление предприятием 2.4.12.71

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

Пару релизов назад всё прекрасно работало. Но после волшебного обновления пришлось обновить саму форму (т.к. было много изменений, на старой много чего не работало), добавил свой код в ОтчетТабличныйДокументОбработкаРасшифровки и отбор работать перестал - на вложенную схему он не накладывается.

Код, до недавнего времени рабочий:

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

Собственно вопрос: КАК используя общую форму ФормаОтчета в своём отчёте открыть вариант-расшифровку (вложенная схема компоновки), с отборами??
1 DosBot
 
27.07.20
13:07
В общем не понял я как победить отбор вложенной схемы.. в итоге сделал без неё добавив ещё один набор данных и соединив его с основным.
Для того, чтобы всё работало добавил в процедуру ОтчетТабличныйДокументОбработкаРасшифровки формы отчёта:

...
    ПараметрыОткрытия.Вставить("КлючВариантаВладельца", КлючТекущегоВарианта);
    ПараметрыОткрытия.Вставить("КлючВарианта", "ДокументыОплаты");
    ПараметрыОткрытия.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина);
    ПараметрыОткрытия.Вставить("СформироватьПриОткрытии", Истина);
        
    Отбор_ = Новый Структура();
    // Тут заполняем отбор как угодно
    // Можно воспользоваться БухгалтерскиеОтчетыВызовСервера.ПолучитьМассивПолейРасшифровки(...)
    
    ОткрытьФорму("ИмяФормыОтчета", ПараметрыОткрытия, ЭтаФорма, Новый УникальныйИдентификатор());
2 DosBot
 
27.07.20
13:08
+ (1) блин... конечно же надо ещё вот что:
  ...
  ПараметрыОткрытия.Вставить("Отбор", Отбор_ );
  ...