Имя: Пароль:
1C
1С v8
Создаю программно, документ из обработки, обработчики событий документа на клиенте. Как?
0 SkillUp
 
27.11.20
16:24
Здравствуйте, создаю программно документ из обработки, но обработчики событий (ПриИзменении номенклатуры ТЧ, ПриИзменении количества в ТЧ) документа происходят на клиенте. Что в итоге? Создаю документ на сервере, а надо обработать все обработчики событий на клиенте. Единственное ,что в голову приходит это записать документ. Получить форму документа на клиенте, и пройтись по все обработчикам при изменении. Поделитесь опытом, как делать грамотно в этом случае?

Вот код, при изменении номенклатуры в ТЧ:

&НаКлиенте
Процедура ЗапасыНоменклатураПриИзменении(Элемент)
    
    СтрокаТабличнойЧасти = Элементы.Запасы.ТекущиеДанные;
    
    СтруктураДанные = Новый Структура();
    СтруктураДанные.Вставить("Номенклатура",     СтрокаТабличнойЧасти.Номенклатура);
    
    СтатусПартии = Новый СписокЗначений;
    СтатусПартии.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыПартий.СобственныеЗапасы"));
    
    СтруктураДанные.Вставить("СтатусПартии", СтатусПартии);
    
    СтруктураДанные = ПолучитьДанныеНоменклатураПриИзменении(СтруктураДанные);
    
    СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтруктураДанные.ЕдиницаИзмерения;
    СтрокаТабличнойЧасти.СтранаПроисхождения = СтруктураДанные.СтранаПроисхождения;
    СтрокаТабличнойЧасти.НомерГТД = Неопределено;
    СтрокаТабличнойЧасти.Количество = 1;
    
    СтрокаТабличнойЧасти.НеобходимостьВводаСправкиНаАлкоголь = СтруктураДанные.ЭтоАлкогольнаяПродукция;
    
    //Серийные номера
    Для каждого ВыделеннаяСтрока Из Элементы.Запасы.ВыделенныеСтроки Цикл
        ТекущиеДанныеСтроки = Элементы.Запасы.ДанныеСтроки(ВыделеннаяСтрока);
        РаботаССерийнымиНомерамиКлиентСервер.УдалитьСерийныеНомераПоКлючуСвязи(Объект.СерийныеНомера, ТекущиеДанныеСтроки,,ИспользоватьСерийныеНомераОстатки);
    КонецЦикла;
    
    СтрокаТабличнойЧасти.ИспользоватьХарактеристики = СтруктураДанные.ИспользоватьХарактеристики;
    СтрокаТабличнойЧасти.ПроверятьЗаполнениеХарактеристики = СтруктураДанные.ПроверятьЗаполнениеХарактеристики;
    СтрокаТабличнойЧасти.ЗаполнениеХарактеристикиПроверено = Истина;
    
    Если СтруктураДанные.ИспользоватьХарактеристики
        Тогда
        СтрокаТабличнойЧасти.Характеристика = СтруктураДанные.Характеристика;
    КонецЕсли;
    
    //Партии
    СтрокаТабличнойЧасти.ИспользоватьПартии = СтруктураДанные.ИспользоватьПартии;
    СтрокаТабличнойЧасти.ПроверятьЗаполнениеПартий = СтруктураДанные.ПроверятьЗаполнениеПартий;
    
    Если СтруктураДанные.ИспользоватьПартии
        Тогда
        СтрокаТабличнойЧасти.Партия = СтруктураДанные.Партия;
    КонецЕсли;
    // Конец Партии
    
КонецПроцедуры // ЗапасыНоменклатураПриИзменении()
1 ДенисЧ
 
27.11.20
16:31
Ctrl-C, Ctrl-V
2 SkillUp
 
27.11.20
16:31
Все разобрался, это относится только к визуализации. К программному созданию документа, оно не относится. Пардон...
2 + 2 = 3.9999999999999999999999999999999...