0
Беата Смит
06.04.19
✎
16:29
|
Есть документ. У него есть табличная часть ТЧ1 и реквизит Реквизит1, есть УФ, на которой есть соответствующие им элементы Таблица1 и Поле1. Все поля таблицы на форме содержат списки значений. Поле1 содержит строку, составляемую программно из содержимого ячеек таблицы.
К каждой колонке в Таблице1 привязаны процедуры класса ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка), выполняемые НА КЛИЕНТЕ, еще на таблице висят процедуры ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование), ПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) и ПослеУдаления(Элемент)
тоже, соответственно, клиентские.
И есть моя процедура ЗаписьСтрокТаблицыВПоле()
Для Каждого Строчка из Объект.ТЧ1 Цикл
Стр = Строчка.Колонка1 + Строчка.Колонка2 + ... + Строчка.КолонкаН;
КонецЦикла;
Объект.Реквизит1 = Стр;
Короче, я вызываю ее в процедурах ОбработкаВыбора(), чтобы при любом изменении содержимого ячеек в Таблице1 значение Поле1 перезаписывалось. Но ничего в Поле1 не меняется. Да, я в курсе, что данные передаются по цепочке клиент-сервер-бд, и что когда я вызываю ЗаписьСтрокТаблицыВПоле() в конце процедуры ОбработкаВыбора(), данные в объекте все еще хранятся те, что были ДО того, как пользователь выбрал новые значения. Но я бьюсь уже чертову кучу времени не могу понять, как мне тогда быть? Как мне обновить реквизиты объекта сразу при изменении данных в тч на форме?
|
|
3
Беата Смит
06.04.19
✎
17:10
|
(1) насчет пункта 1: я просто опечаталась, пока писала сюда, там Стр = Стр + .... вот эти все колонки.
2. А как тогда мне проверять выбор, сделанный в поле ТЧ? Мне нужно что-то типа обработки выбора, потому что там я не даю пользователю выбрать неверные данные.
|
|
4
RomanYS
06.04.19
✎
17:29
|
(3) >>Мне нужно что-то типа обработки выбора, потому что там я не даю пользователю выбрать неверные данные.
Это другая задача, с (0) не связанная.
Судя по описанию в (2) ОбработкаВыбора не вызывается при выборе из списка, а только из другой(!) формы.
У каждой колонки есть обработчик есть ПриИзменении, у таблицы формы есть обработчики завершения редактирования строки
|
|