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

1С:Предприятие ::

Метки: 

КАК запустить обработчик события табличной части документа при программном заполнении

Я
   kgivanovich
 
28.03.18 - 15:30
Есть обработка, которая создает и заполняет документ, шапку и таб.часть. Все делаю на клиенте. Сначала создается УФ нового документа, заполняется шапка через ФормаДокумента.Объект и далее можно заполнить таб.часть через ФормаДокумента.Объект.ТабЧасть.
НО! При вводе новой строки и заполнения рекизита, скажем "Сотрудник" или "Номенклатура", хотелось бы запустить имеющийся обработчик события типа "СотрудникПриИзменении", который дополняет эту строку дополнительными данными: подразделение, оклад и прочее, а в случае с номенклатурой - единицу изм., коэфф. и т.д.
Эти обработчики работают с элементами формы, а точнее с текущей строкой и текущими данными. И вот у меня никак не получается добиться того, чтобы там появились данные. Делаю так:
ФормаДокумента.Элементы.ТабЧасть.ДобавитьСтроку()
После этого
ФормаДокумента.Элементы.ТабЧасть.ТекущиеДанные и ФормаДокумента.Элементы.ТабЧасть.ТекущаяСтрока содержать значения "Неопределено"
Чего не хватает? Что не так?
 
  Рекламное место пустует
   Малыш Джон
 
1 - 28.03.18 - 15:33
может
НоваяСтрока = ФормаДокумента.Элементы.ТабЧасть.ДобавитьСтроку();

?

и с ней работать?
   Малыш Джон
 
2 - 28.03.18 - 15:34
+(1)

ну если так уж нужна текущая строка, тогда ещё:

ФормаДокумента.Элементы.ТабЧасть.ТекущаяСтрока = НоваяСтрока;
   kgivanovich
 
3 - 28.03.18 - 15:37
ДобавитьСтроку() - это не функция, значение не возвращает
ТекущиеДанные доступны только для чтения
В ТекущаяСтрока содержится идентификатор строки, а не строка
   Малыш Джон
 
4 - 28.03.18 - 15:46
оу, не заметил, что УФ
   Mankubus
 
5 - 28.03.18 - 15:51
(0) никак не запустить. Копируй процедуру в свою обработку и запускай
   kgivanovich
 
6 - 28.03.18 - 15:55
(5) Обидно однако. А зачем же тогда обработчик сделан "экспортным"?
   Tateossian
 
7 - 28.03.18 - 15:59
(6) Текущие данные можно установить, спозиционировав на строку и колонку. И потом вызвать собработчик при изменении, передав текущее поле.
   Tateossian
 
8 - 28.03.18 - 16:01
(6) Правда, я так делал на обычной форме

    Данные = ЭлементыФормы.Комплектующие.ТекущаяКолонка.Данные; 
    
    ...
        
        МатериалыНоменклатураПриИзменении(ЭлементыФормы.Материалы.Колонки[Данные].ЭлементУправления);


Для управляемой это тоже можно повторить, так как можно обратиться к элементу коллекции таблицы формы по индексу.
   kgivanovich
 
9 - 28.03.18 - 16:07
(8) У меня управляемая форма. Никаких аналогий с обычными формами там нет, как и нет аналогии китайского с русским. Приведи, пжл, хоть пару строк текста, как добавить строку и как спозиционироваться, да так, чтобы при этом в ФормаДокумента.Элементы.ТабЧасть.ТекущиеДанные появилась эта строка.


Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует