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

Как Заполнить "СвязиПарамтеровВыбора" программно во внешней обработке.

Как Заполнить "СвязиПарамтеровВыбора" программно во внешней обработке.
Я
   Документовед
 
03.08.21 - 11:32
Внешняя обработка для ERP, по заполнению табличной части.

Открывается форма.

На форме есть элементы "Продукция" и "Спецификация", которые являются реквизитами обработки..

Для элемента "Спецификация" надо заполнить СвязиПарамтеровВыбора, со ссылкой на "Продукция".

Бьюсь, бьюсь не получается.

Может у кого есть пример заполнения СвязиПарамтеровВыбора во внешней обработке?
   hhhh
 
1 - 03.08.21 - 11:48
(0) нафига еще и во внешней обработке заморачиваться с программным заполнением?
   Документовед
 
2 - 03.08.21 - 11:49
(1) Как предать на форму выбора Спецификации параметры выбора по Продукции?
   hhhh
 
3 - 03.08.21 - 11:55
(2) ну типа
Элементы.Спецификации.ОтборСтрок = Новый ФиксированнаяСтруктура("Продукция", Элемент.ТекущиеДанные.Продукция);
   Документовед
 
4 - 03.08.21 - 12:01
(3) Там немного нет. Но спасибо.
   Документовед
 
5 - 03.08.21 - 12:02
Получилось самому разобраться, что-то тупил местами.

Если кому понадобится.

&НаСервере
Функция ПараметрыВыбораСпецификаций() Экспорт
    
    ПараметрыВыбораСпецификаций = УправлениеДаннымиОбИзделияхКлиентСервер.ПараметрыВыбораСпецификаций();
    
    ПараметрыВыбораСпецификаций.ДоступныеТипы.Добавить(Перечисления.ТипыПроизводственныхПроцессов.Сборка);// Объект.ТипПроизводственногоПроцесса);

    ПараметрыВыбораСпецификаций.ДоступныеСтатусы.Добавить(Перечисления.СтатусыСпецификаций.Действует);
    
    //Если Объект.ТипПроизводственногоПроцесса <> Перечисления.ТипыПроизводственныхПроцессов.Разборка Тогда

        ПараметрыВыбораСпецификаций.СпецификацииПоФиксированнойСтоимости = "Показывать";
    //КонецЕсли;

    
    СвязиПараметровВыбора = Новый Структура(УправлениеДаннымиОбИзделияхКлиентСервер.ПоляСтруктурыДанныхОбИзделииДляВыбораСпецификации());
    
    СвязиПараметровВыбора.Номенклатура            = "Объект.ссПродукция";
    //СвязиПараметровВыбора.Характеристика          = "Объект.Продукция.Характеристика";

    //СвязиПараметровВыбора.НачалоПроизводства      = "Объект.НачатьНеРанее";

    //СвязиПараметровВыбора.ПодразделениеДиспетчер  = "Объект.Подразделение";

    //СвязиПараметровВыбора.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";

    
    ПараметрыВыбораСпецификаций.СвязиПараметровВыбора.Вставить("Объект.ссСпецификацияПродукции", СвязиПараметровВыбора);
    
    //Возврат ПараметрыВыбораСпецификаций;

    
    Возврат Новый ФиксированнаяСтруктура(ПараметрыВыбораСпецификаций);
    
КонецФункции


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Вставить содержимое обработчика.

    
    
    Объект.ссОбъектЗаказ =  Параметры.ОбъектыНазначения[0];

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

    
КонецПроцедуры

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