Найти в Дзене

Ошибка во внешней обработке 1С "Поле объекта недоступно для записи"

Предыстория Платформа 8.3.23.1739 Обработка используется из справочника библиотеки стандартных подсистем - Дополнительные отчёты и обработки. Раньше была включена в состав конфигурации. Ошибка Поле объекта недоступно для записи (ИмяПоля) С такой ошибкой обратился пользователь с ограниченными правами. Анализ Под полными правами ошибки не возникает. Посмотрим структуру обработки. Видим, что используются реквизиты объекта. В обработчике формы ПриСозданииНаСервере реквизиты доступны. В обработчике ПриОткрытии видим в значениях сообщение "Недоступно для чтения". Попробовал скопировать реквизит и снова посмотреть обработчик ПриОткрытии. Новый реквизит оказался доступен пользователю. Решение Получается, один из способов восстановить обработку - пересоздать реквизиты. Но это займёт много времени, нужно заменить путь к данным у элементов форм и переименовать новые реквизиты после удаления исходных. Второй способ, который удалось найти - вставить обработку в состав конфигурации и заново выгрузит
Оглавление

Предыстория

Платформа 8.3.23.1739

Обработка используется из справочника библиотеки стандартных подсистем - Дополнительные отчёты и обработки. Раньше была включена в состав конфигурации.

Ошибка

Поле объекта недоступно для записи (ИмяПоля)

С такой ошибкой обратился пользователь с ограниченными правами.

Анализ

Под полными правами ошибки не возникает.

Посмотрим структуру обработки. Видим, что используются реквизиты объекта.

-2

В обработчике формы ПриСозданииНаСервере реквизиты доступны.

-3

В обработчике ПриОткрытии видим в значениях сообщение "Недоступно для чтения".

-4

Попробовал скопировать реквизит и снова посмотреть обработчик ПриОткрытии. Новый реквизит оказался доступен пользователю.

-5

Решение

Получается, один из способов восстановить обработку - пересоздать реквизиты. Но это займёт много времени, нужно заменить путь к данным у элементов форм и переименовать новые реквизиты после удаления исходных.

Второй способ, который удалось найти - вставить обработку в состав конфигурации и заново выгрузить её во внешнюю.

После такой манипуляции все реквизиты стали доступны.

-7

Данное решение облегчило восстановление работоспособности обработки.

Результаты

Попробовал сравнить две версии обработки: до перевыгрузки и после. Встроенный механизм сравнения объектов ничего не выдал.

Выгрузил обработки в файлы и попробовал сравнить полученные xml файлы. Сравнивал через механизм платформы, выбирал режим сравнения "Текстовый документ", т.к. сравнение в режиме "Обработка в формате XML" ничего не выдало. Для выбора файлов XML в режиме сравнения "Текстовый документ" необходимо сбросить фильтр по расширению.

Как видно на скриншотах ниже, сменились идентификаторы обработки, реквизитов, формы.

Похоже, что платформа закэшировала настройки формы, связанные с настройками видимости реквизитов объекта.

-11

Ссылка на telegram канал.