|
УФ: Нельзя изменять поле, содержащее объект данных формы |
☑ |
0
FFrr1C
01.10.14
✎
17:38
|
в управляемой форме документа - есть реквизит "ТЗ" с типом ТаблицыЗначений;
далее необходимо заполненный реквизит передать в ТабЧасть объекта документа:
&НаКлиенте
Процедура Оупен(Команда)
Стр = Тз.Добавить();
стр.сервис = ПолучитьСервис(СокрЛП(Ex.Cells(НС,1).Value));
ЗагрузитьТз(Тз)
конецпроцедуры
&НаСервере
Процедура ЗагрузитьТз(Тз)
об = РеквизитФормыВЗначение("Объект") ;
Об.ЗакинутьВТЗ(РеквизитФормыВЗначение("ТЗ"));
ЗначениеВРеквизитФормы(об, "Объект");
конецпроцедуры
//в модуле документа
Функция ЗакинутьВТЗ(Тз) экспорт
Распечатка.Очистить();
Распечатка.Загрузить(Тз);
конецфункции
почему то выдает ошибку:
"Нельзя изменять поле, содержащее объект данных формы"
|
|
1
hhhh
01.10.14
✎
17:45
|
а так?
Функция ЗакинутьВТЗ(МойПараметрТз) экспорт
|
|
2
FFrr1C
01.10.14
✎
17:48
|
ну так оно вроде и есть ЗакинутьВТЗ(МойПараметрТз) экспорт, где МойПараметрТз получаем в форме из РеквизитФормыВЗначение("ТЗ")
|
|
3
hhhh
01.10.14
✎
17:55
|
(2) у Вас написано "ТЗ".
|
|
4
ssh2QQ6
01.10.14
✎
18:00
|
на сервер, кстати, ТЗ - данные формы коллекция можно не передавать, вызов контекстный
|
|
5
ssh2QQ6
01.10.14
✎
18:09
|
+(4) поэтому и ошибка. Убери параметр у процедуры ЗагрузитьТз
|
|
6
ssh2QQ6
01.10.14
✎
18:19
|
В ТЗ как раз содержится объект данных - таблица значений и система думает, что передавая это поле в качестве параметра планируется его изменение и выдает ошибку. Что интересно, вот если передать ТЗ как параметр по значению, т.е. написать Процедура ЗагрузитьТз(Знач Тз), то ошибки не будет.
|
|
7
FFrr1C
02.10.14
✎
14:34
|
Спасибо! понято...
|
|