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