Каталог решений - Свой способ заполнения табличной части документа с срабатыванием процедуры ПриИзменении

Свой способ заполнения табличной части документа с срабатыванием процедуры ПриИзменении

Свой способ заполнения табличной части документа с срабатыванием процедуры ПриИзменении

В наличии

Задача состояла в программном заполнении табличной части документа. При этом чтобы срабатывала процедура ПриИзменении при внесении значения в колонку Номенклатура.

Категория:

Описание

После неудачного применения различных методик появилась собственная идея реализации данной задачи.  Вот пример:

 

    ДокПоступления = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
   
ФормаДокПоступления = ДокПоступления.ПолучитьФорму();
   
ФормаДокПоступления.Открыть();

    ПервоначальноПриАктивизацииСтроки = ФормаДокПоступления.ЭлементыФормы.Товары.ПолучитьДействие(«ПриАктивизацииСтроки»);
   
ПолеВводаПриИзменении = ФормаДокПоступления.ЭлементыФормы.Товары.Колонки.Номенклатура.ЭлементУправления.ПолучитьДействие(«ПриИзменении»);
   
ФормаДокПоступления.ЭлементыФормы.Товары.УстановитьДействие(«ПриАктивизацииСтроки», ПолеВводаПриИзменении);

    Для каждого СтрокаТЗ Из ТЗКЗаполнению Цикл
       
НоваяСтрокаТовары = ДокПоступления.Товары.Добавить();
       
НоваяСтрокаТовары.Номенклатура = СтрокаТЗ.Номенклатура;
       
НоваяСтрокаТовары.Количество = СтрокаТЗ.Количество;
       
НоваяСтрокаТовары.Цена = СтрокаТЗ.Цена;
       
ФормаДокПоступления.ЭлементыФормы.Товары.ТекущаяСтрока = НоваяСтрокаТовары;
    КонецЦикла;

    ФормаДокПоступления.ЭлементыФормы.Товары.УстановитьДействие(«ПриАктивизацииСтроки», ПервоначальноПриАктивизацииСтроки);

    ДокПоступления.Записать(РежимЗаписиДокумента.Проведение);
   
ФормаДокПоступления.Закрыть();
   
ФормаДокПоступления = Неопределено;

Суть заключается в подмене действия, происходящего при активизации строки, на действие, происходящее при изменении Номенклатуры. Потом действие возвращается назад.

has been added to your cart:
Оформление заказа