|
Изменение ТЧ документа
| ☑ |
0
Kurbash
15.12.14
✎
06:51
|
Всем привет. В обработчик события ПередЗаписью на сервере модуля формы документа создаю ТЗ. Хочу изменить ТЧ документа с отбором по ТЗ. Пишу так:
для каждого стр из ТЗ цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Сотрудник", стр.Сотрудник);
Строки = Объект.ТЧ.НайтиСтроки(ПараметрыОтбора);
для каждого с из строки цикл
с.крт=стр.ктр;
конеццикла;
конеццикла;
проходит нормально, ошибок нет, но значения реквизита в ТЧ не меняется. В чем может быть дело?
|
|
1
patria0muerte
15.12.14
✎
06:57
|
Если я не ошибаюсь, тебе надобно из объекта данную ТЧ получить, поменять в ней все что надо, а потом в объект обратно сложить.
Там что-то вроде РеквизитФормыВЗначение(). Оттуда уже и начинай.
|
|
2
patria0muerte
15.12.14
✎
06:59
|
+(1) Как мне кажется, надо вообще так сделать:
1) получить объект (РеквизитФормыВЗначение)
2) Собрать нужную структуру с отборами
3) Зафигачить в модуле объекта процедуру по обработке ТЧ по данной структуре
4) Положить объект обратно (ЗначениеВРеквизитФормы(), вроде)
Как-то так. Но возможно, что я не прав.
|
|
3
Kurbash
15.12.14
✎
07:05
|
(1)ага, так и сделал
НашОбъект=РеквизитФормыВЗначение("Объект");
для каждого стр из ТЗ цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Сотрудник", стр.Сотрудник);
Строки = НашОбъект.ТЧ.НайтиСтроки(ПараметрыОтбора);
для каждого с из строки цикл
с.крт=стр.ктр;
конеццикла;
конеццикла;
ЗначениеВРеквизитФОрмы(НашОбъект,"Объект");
|
|
4
фобка
15.12.14
✎
08:39
|
(2) не, это лишнее. В (0) рабочий код
|
|