Программно сменить Отбор в СКД

1. sys1c 13.12.23 07:39 Сейчас в теме
Все привет.
УТ 11. Отчет-ОстаткиИДоступностьТоваров
Нужно чтобы у пользователя Отбор - Склад, поменял Вид сравнения на ВИерархии и установился склад.
В ПриКомпоновкеРезультата и ПриСозданииНаСервере не срабатывает такой код:

Отладчиком вижу в Цикл и в Условие заходит, но в результате, в Отчете настройки не заполняются, что делаю не так?

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

Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. MuxaH 13.12.23 10:14 Сейчас в теме
А если:
ПолеСклад = Новый ПолеКомпоновкиДанных("Склад");
текНастройки = Форма.Отчет.КомпоновщикНастроек.ПолучитьНастройки();
Для Каждого Стр ИЗ текНастройки.Отбор.Элементы Цикл
    Если Стр.ЛевоеЗначение = ПолеСклад Тогда    
            Стр.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
            Стр.ПравоеЗначение = Справочники.Склады.НайтиПоНаименованию("МояГруппа");
            Стр.Использование = Истина;
    КонецЕсли;
КонецЦикла;
Показать
3. sys1c 13.12.23 10:56 Сейчас в теме
(2) оно срабатывает, но потом затирается где-то портянках кода БСП.
пока разбираюсь...
4. Sashares 33 13.12.23 11:22 Сейчас в теме
(3)После того как вы поменяли настройки, загрузите их обратно в компоновщик.
5. sys1c 13.12.23 11:32 Сейчас в теме
6. Sashares 33 13.12.23 11:39 Сейчас в теме
(5)
текНастройки = Форма.Отчет.КомпоновщикНастроек.ПолучитьНастройки();
...

Форма.Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(текНастройки );
7. sys1c 13.12.23 11:40 Сейчас в теме
(6) неработает.
вернее работает ровно на этом этапе, потом гдето в дебрях БСП сбрасывает мой отбор в стандартный
8. sys1c 13.12.23 11:58 Сейчас в теме
Вообщем я победил, но мне не нравится как: в "Изменить в расширении", вставил этот код - заработало.

как пробиться через БСП пока не понял.

добавил в
Процедура ОпределитьНастройкиФормы()

Настройки.События.ПередЗагрузкойНастроекВКомпоновщик = Истина;


создал эту процедуру.
Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы, КлючВарианта, НовыеНастройкиКД, НовыеПользовательскиеНастройкиКД) Экспорт

в ней, НовыеНастройкиКД, это уже тип НастройкиКД, их менял - ничего не менялось, пробовал в лоб через Контекст.Отчет...
он в первый вызов в Контект.Отчет норм, а второй вызов уже идет Контекст.ОБЪЕКТ....
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот