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

СКД програмная установка отборов при открытии формы.

СКД програмная установка отборов при открытии формы.
Я
   Искатель1С
 
27.09.21 - 16:10
СКД програмная установка отборов при открытии формы:
    ЭлементыОтбора = ОтчетОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы;
    Если ЭтаФорма.Параметры.Свойство("Контрагент") Тогда
        Для каждого ЭлОтбора из ЭлементыОтбора Цикл
            Если ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент") Тогда
                 ЭлОтбора.ПравоеЗначение = ЭтаФорма.Параметры["Контрагент"];
                 ЭлОтбора.Использование = Истина;
                 Если ЗначениеЗаполнено(ЭлОтбора.ИдентификаторПользовательскойНастройки) Тогда
                    
                        ПользовательскийПараметр = ЭтотОбъект.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(
                           ЭлОтбора.ИдентификаторПользовательскойНастройки);
                        Если ТипЗнч(ПользовательскийПараметр) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
                            ПользовательскийПараметр.ПравоеЗначение = ЭтаФорма.Параметры["Контрагент"];
                        КонецЕсли;                    
                   КонецЕсли;
            КонецЕсли;    
        КонецЦикла;    
    КонецЕсли;    

       В параметрах формы передаю значение которое сразу должно попасть в настройки, но этого не происходит.
       Управляемые формы.
   hhhh
 
1 - 27.09.21 - 17:08
(0) а зачем это всё? Просто вывести пользовательскую настройку на форму. Она для этого и придумана.
   Искатель1С
 
2 - 27.09.21 - 17:44
(1) Отчет открывается програмно из другой формы, на которой выбран Контрагент. Надо чтобы отчет открылся сразу с заполненной
настройкой.
   ДенисЧ
 
3 - 27.09.21 - 17:50
Дядя Отладчик что говорит?
   Искатель1С
 
4 - 27.09.21 - 17:50
Конечно можно вот так:
   Искатель1С
 
5 - 27.09.21 - 17:50
ОткрытьФорму("Отчет.НашОтчет", ПараметрыФормы);
УсловияОтбора = Новый Структура;
ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии", УсловияОтбора, Истина);
УсловияОтбора.Вставить("Контрагент", выбКонтрагент);
   Искатель1С
 
6 - 27.09.21 - 17:51
Но при (5) настройки с формы исчезают, хотя отбор и есть.
   Искатель1С
 
7 - 27.09.21 - 17:52
(3)  Отладчик говорит, что все хорошо.
     ЭлОтбора.ПравоеЗначение = тут контрагент ссылка
      ПользовательскийПараметр.ПравоеЗначение = тут тоже контрагент ссылка
   Искатель1С
 
8 - 27.09.21 - 17:53
Забыл сказать, код в (0) находитс я в форме отчета в ПриСозданииНаСервере(
   Искатель1С
 
9 - 27.09.21 - 17:55
+ (7) Но когда открывается форма, то ни в пользовательских настройках ни в настройках ничего нет.

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