|
УФ: изменение строки табличной части |
☑ |
0
Kateryne
06.11.13
✎
11:53
|
Есть метод в модуле объекта документа, оперирует конкретной строкой табличной части объекта.
Т.е. что-то типа:
Процедура ИзменитьСтрокуТабличнойЧасти(СтрокаТаблЧасти)
СтрокаТабличнойЧасти.Поле1 = СтрокаТабличнойЧасти.Поле2;
// естественно, алгоритм сложнее, но для простоты пусть так
КонецПроцедуры
Не получается корректно вызвать из модуля формы. Пишу что-то типа:
&НаСервере
Процедура ПриИзмененииНашегоПоля(НомерСтроки)
НашОбъект = РеквизитФормыВЗначение("Объект"); // основной реквизит формы
СтрокаТаблЧасти = НашОбъект.ТабличнаяЧасть.Получить(НомерСтроки);
НашОбъект.ИзменитьСтрокуТабличнойЧасти(СтрокаТаблЧасти);
КонецПроцедуры
&НаКлиенте
Процедура ТабличноеПолеПоле1ПриИзменении(Элемент) // табличное поле привязано к табличной части нашего объекта
ПриИзмененииНашегоПоля(ЭтаФорма.ТекущийЭлемент.ТекущаяСтрока);
КонецПроцедуры
Все отрабатывает корректно в отладчике, но на форме не отображается, и после сохранения и повторного открытия документа тоже остается без изменений.
Надо явно давать команду обновления формы? Или еще что-то?
|
|
1
Asmody
06.11.13
✎
11:58
|
РеквизитФормыВЗначение сделал, а обратно кто делать будет?
|
|
2
Kateryne
06.11.13
✎
12:08
|
Логично, черт возьми. Хм, и так каждый раз?
Наверное, проще будет переложить метод в модуль менеджера...
Как вообще обычно делают?
|
|
3
Kateryne
06.11.13
✎
12:09
|
Туплю, кстати. Перекладывание не поможет...
|
|
4
hhhh
06.11.13
✎
12:17
|
(2) вообще-то в 90% случаев
СтрокаТабличнойЧасти.Поле1 = СтрокаТабличнойЧасти.Поле2;
прокатит. Вы проверьте.
Примитивные типы: строка, число, дата точно. СправочникСсылка тоже должно прокатить.
|
|
5
Renat11111
06.11.13
✎
12:43
|
(0) ради интереса можно посмотреть алгоритм этой процедуры ИзменитьСтрокуТабличнойЧасти?
|
|