|
Нельзя изменять поле, содержащее объект данных формы, УФ, тонкий клиент
| ☑ |
0
rowvg
naïve
11.05.21
✎
11:32
|
На форме есть реквизит СписокКомплектующих, тип - ТаблицаЗначений. Если в серверной процедуре написать
ЭтотОбъект.СписокКомплектующих = Запрос.Выполнить().Выгрузить();
получим ошибку - Нельзя изменять поле, содержащее объект данных формы.
В тоже время вот такой код
НоваяСтрока = ЭтотОбъект.СписокКомплектующих.Добавить();
в той же процедуре прекрасно работает.
Но ведь он тоже изменяет поле, содержащее объект данных формы.
Почему в первом случает это ошибка, а во втором - нет?
|
|
1
Жан Пердежон
11.05.21
✎
11:38
|
Загрузить()
|
|
2
Жан Пердежон
11.05.21
✎
11:39
|
(0) очевидно, что в первом случае ты изменяешь поле, а во втором нет
|
|
3
rowvg
naïve
11.05.21
✎
11:41
|
(2) Поле меняется и во втором случае, ведь я добавляю в него новые строки, которых ранее не было.
|
|
4
Kassern
11.05.21
✎
11:43
|
(3) если вы будете заполнять строки типа: НоваяСтрока =ТЗ[0]; то словите точно такую же ошибку. В первом случае вы присваиваете к объекту данных формы таблицу значений. Во втором случае вы добавляете средствами объекта данных формы новую строку.
|
|
5
rowvg
naïve
11.05.21
✎
11:47
|
(4) Это понятно
Непонятна логика разработчиков платформы. Почему Запрос.Выполнить().Выгрузить(), если он работает с ДанныеФормаКоллекция не может просто очистить существующий объект и заполнить его новыми строками?
Мне таблицу значений на сервере можно только в цикле заполнить?
|
|
6
mikecool
11.05.21
✎
11:48
|
(5) тебе в (1) ответили
|
|
7
Kassern
11.05.21
✎
11:48
|
(5) Вам же написали в (1) ЭтотОбъект.СписокКомплектующих.Загрузить(ТвоеТЗ);
|
|
8
mikecool
11.05.21
✎
11:49
|
+6 и если тебе что-то не понятно, то это не вина разработчиков
|
|
9
rowvg
naïve
11.05.21
✎
11:49
|
(6) Не тебе все - таки я думаю...
(7) Спасибо, понял
|
|