Добавление реквизита программно

1. EvgeniyNP 18.07.23 10:48 Сейчас в теме
Здравствуйте!
Есть справочник Мероприятия. У него есть ТЧ. На форме в Объект.ТЧ добавлены колонки реквизитов.

В другой справочник добавляю эту тч и программно создаю элементы на форме.
Добавленные колонки делаю так
	НовыйРеквизит = Новый РеквизитФормы("МестнаяНачало", Новый ОписаниеТипов("Дата"),"Объект.МФТИ_Программа","МестнаяНачало");

	ДобавленныеРеквизиты = Новый Массив;      
	ДобавленныеРеквизиты.Добавить(НовыйРеквизит); 
	Форма.ИзменитьРеквизиты(ДобавленныеРеквизиты);


Но затык в другом месте. Есть процедура, которая меняет в строках значение добавленных колонок.
Но в случае Мероприятий все происходит нормально. в моем варианте ругается и пишет "Нельзя изменять поле, содержащее объект данных формы"

Я не так добавляю реквизит на форму? или что-то еще упустил?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SlavaKron 18.07.23 11:29 Сейчас в теме
(1) Что передаете в процедуру в качестве параметров? Процедуру вызываете на клиенте или на сервере?
3. EvgeniyNP 18.07.23 15:14 Сейчас в теме
(2) Мероприятия вызывают процедуру в модуле формы с клиента
УправлениеМероприятиямиКлиентСервер.ПересчитатьНачалоОкончаниеПунктовПрограммы(Объект, ПараметрыПреобразованияМестногоВремени);

где Объект имеет тип ДанныеФормыСтруктура, ПараметрыПреобразованияМестногоВремени просто структура

у модуля УправлениеМероприятиямиКлиентСервер стоят галки Клиент, Сервер, ВнешнееСоединение

У меня вызывается так же, только форма в расширении.


И пока это писал и проверял, понял что у моего модуля, где находится "ПересчитатьНачалоОкончаниеПунктовПрограммы" не такие галки, как у "УправлениеМероприятиямиКлиентСервер". Создал новый модуль с такими же, и все заработало.
Спасибо)
4. SlavaKron 18.07.23 17:15 Сейчас в теме
(3) Видимо, до исправления процедура выполнялась на сервере. При серверном вызове, если параметры передаются не по значению, на клиенте происходит неявное присвоение значений параметрам по окончании вызова. В вашем случае процедура пыталась перезаписать параметр "Объект", на это и ругалась платформа.
5. EvgeniyNP 20.07.23 17:36 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот