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

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