При программном заполнении табличной части Товаров документа Заказ Клиента вызывать действие При Заполнении (УТ 11)

1. Synthersizer 12.10.22 10:06 Сейчас в теме
Подскажите пожалуйста как при программном заполнении табличной части Товаров документа Заказ Покупателя вызывать действие При Заполнении. УТ 11.
На форме 'ФормаСпискаДокументов' документа 'ЗаказКлиента' я создал кнопку чтобы при нажатии на неё можно было программно в выбранный ЗаказКлиента добавлять товар (с введенным количеством и ценой). Подскажите пожалуйста как сделать так, чтобы при добавлении этого товара сумма пересчитывалась и добавлялось НДС? Я так понимаю что нужно смотреть в сторону процедуры ТоварыНоменклатураПриИзменении(Элемент) в ФормеДокумента. Или может быть в 1С можно как-то программно оповещать об изменении. Сильно не ругайтесь, 1С изучаю недавно)
ИначеЕсли Товар.Номенклатура <> Объект.Номенклатура Тогда    
КакДобавить = Номер.Товары.Добавить();
КакДобавить.Номенклатура = Объект.Номенклатура;
КакДобавить.КоличествоУпаковок = Объект.Количество;
КакДобавить.Цена = Объект.Цена; 
Номер.Записать(); 
Прервать;
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
3. VictorRGB2 14 12.10.22 10:26 Сейчас в теме
(1) под рукой нет УТ 11, как там выполняется для отдельной строки не могу подсмотреть
а для всей табличной части мы так делаем

СтруктураДействий = Новый Структура;
		
СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(лДокумент);
СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС",  Новый Структура("НалогообложениеНДС, Дата, ПоДатеОтгрузки", лДокумент.НалогообложениеНДС, лДокумент.Дата, Истина));
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Ложь));
СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));
		
ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(лДокумент.Товары, СтруктураДействий, Неопределено);
Показать



по идее надо идти в общий модуль "ОбработкаТабличнойЧастиСервер" и там искать
можно также выйти на вызываемые их этого модуля процедуры из документа
Synthersizer; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 12.10.22 10:18 Сейчас в теме
(1)Есть еще ОбработкаВыбора() -

ЗЫ Надеюсь Объект.Номенклатура - это ссылка на элемент справочника номенклатуры...
3. VictorRGB2 14 12.10.22 10:26 Сейчас в теме
(1) под рукой нет УТ 11, как там выполняется для отдельной строки не могу подсмотреть
а для всей табличной части мы так делаем

СтруктураДействий = Новый Структура;
		
СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(лДокумент);
СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС",  Новый Структура("НалогообложениеНДС, Дата, ПоДатеОтгрузки", лДокумент.НалогообложениеНДС, лДокумент.Дата, Истина));
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Ложь));
СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));
		
ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(лДокумент.Товары, СтруктураДействий, Неопределено);
Показать



по идее надо идти в общий модуль "ОбработкаТабличнойЧастиСервер" и там искать
можно также выйти на вызываемые их этого модуля процедуры из документа
Synthersizer; +1 Ответить
4. Synthersizer 12.10.22 15:06 Сейчас в теме
(3) Спасибо большое. Разобрался после вашего комментария что и как)
5. Synthersizer 13.10.22 09:37 Сейчас в теме
Тэк. А может быть кто-нибудь подскажет еще как заполнить вариант обеспечивания?) В процедуре ТоварыНоменклатураПриИзменении(Элемент) заполнение идет вот так:
ДобавитьДействияОбеспеченияНаКлиенте(СтруктураДействий,
		"ВариантОбеспечения,ДоступноВДругихСтроках,СкладОбязателен,ДатаОтгрузкиОбязательна");

Как это вызвать при программно добавлении элемента?)
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот