Нельзя изменять поле, содержащее объект данных формы
Добрый день.
Помогите обойти эту ошибку. "Нельзя изменять поле, содержащее объект данных формы".
Пытаюсь тут изменить значение реквизита документа на новый, который я получил в запросе. Тип реквизита "строка".
В данном случае объектом выступает "СчетФактураПолученный"
Помогите обойти эту ошибку. "Нельзя изменять поле, содержащее объект данных формы".
Пытаюсь тут изменить значение реквизита документа на новый, который я получил в запросе. Тип реквизита "строка".
//....
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Объект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Объект.НомерВходящегоДокумента = ВыборкаДетальныеЗаписи.НовыйНомерСчетФактуры;
//.....
ПоказатьВ данном случае объектом выступает "СчетФактураПолученный"
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)да, я тебя понял. Вспоминаю, что уже не первый раз такое у меня. Помню в названии процедуры использовал какое-то слово, которое также используется в 1с как какой-то идентификатор и 5 минут голову ломал, над тем что 1С не нравится.
В данном случае, я про это не подумал, так как брал часть кода из другой обработки и там как раз было название переменной "Объект" и обработка работает. Вот это меня и подкосило. Спасибо тебе за оперативный ответ.
В данном случае, я про это не подумал, так как брал часть кода из другой обработки и там как раз было название переменной "Объект" и обработка работает. Вот это меня и подкосило. Спасибо тебе за оперативный ответ.
Еще вариант когда заполняешь два объекта, содержащие табличные части через ЗаполнитьЗначенияСвойств(Объект1, Объект2) такая ошибка вылезла у меня. Причем, 1С - ники в типовой косякнули так...
Нужно писать: ЗаполнитьЗначенияСвойств(Объект1, Объект2,,"ТЧ1,ТЧ2..."); то есть, исключать табличные части из заполнения, а заполнять их отдельно
Нужно писать: ЗаполнитьЗначенияСвойств(Объект1, Объект2,,"ТЧ1,ТЧ2..."); то есть, исключать табличные части из заполнения, а заполнять их отдельно
(5)
во многих примерах кода, многие программисты используют префиксы, позволяющие гарантированно избежать пересечения с со стандартными/служебными реквизитами.
например
лкОбъект
лкСтр
лкРезультат
лкОтбор
вот как раз такой подход очень часто помогает избежать подобных ошибок.
Вспоминаю, что уже не первый раз такое у меня.
во многих примерах кода, многие программисты используют префиксы, позволяющие гарантированно избежать пересечения с со стандартными/служебными реквизитами.
например
лкОбъект
лкСтр
лкРезультат
лкОтбор
вот как раз такой подход очень часто помогает избежать подобных ошибок.
Возможно, кому-то будет полезно, хоть и спустя время.
Словил данную ошибку при попытке использовать "ЗаполнитьЗначенияСвойств", где приемником был связанный объект создаваемой формы, а источником - ссылка, из которой создавал док.
Ошибка сохранялась ровно до момента точного перечисления заполняемых реквизитов шапки.
Было: ЗаполнитьЗначенияСвойств(ДанныеФормы, сОснование);
Стало: ЗаполнитьЗначенияСвойств(ДанныеФормы, сОснование, "Комментарий, Склад");
Указание исключаемых свойств не спасало.
Удачи)
P.S. табличных частей не было, потому и решил добавить комментарий...
Словил данную ошибку при попытке использовать "ЗаполнитьЗначенияСвойств", где приемником был связанный объект создаваемой формы, а источником - ссылка, из которой создавал док.
Ошибка сохранялась ровно до момента точного перечисления заполняемых реквизитов шапки.
Было: ЗаполнитьЗначенияСвойств(ДанныеФормы, сОснование);
Стало: ЗаполнитьЗначенияСвойств(ДанныеФормы, сОснование, "Комментарий, Склад");
Указание исключаемых свойств не спасало.
Удачи)
P.S. табличных частей не было, потому и решил добавить комментарий...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот