Содержание:
1. Что означает ошибка при получении значения атрибута контекста?
2. Диагностика ошибки в конфигурации программы 1С: Предприятие
3. Устранение ошибки при получении атрибута контекста в системе программы 1С
1. Что означает ошибка при получении значения атрибута контекста?
Ошибка при получении значения атрибута контекста может появляться после того, как в информационную базу сервера добавят библиотеку. Само наличие ошибки внутри системы программы «1С: Предприятие» глобально никак не влияет, однако, при её наличии, могут быть неполадки во время исполнения регламентных задач.
Ошибка при получении значения атрибута контекста означает то, что значение атрибута прочесть нельзя так как, оно отсутствует (или нет прав на чтение данного атрибута). К примеру, это может быть некое обращение к полю выборки внутри запроса, которой не существует или к элементу формы, которого не существует и так далее. Примером появления такой ошибки также может быть получение нынешнего юзера через параметры внутри сеанса, а именно: если этот параметр не был выставлен, то на экране появится ошибка о том, что невозможно получить значение атрибута контекста, однако, причиной ошибки будет названо то, что была попытка получить значение параметра в сеансе, которое не было инициализировано.
2. Диагностика ошибки в конфигурации программы 1С: Предприятие
При возникновении ошибки может, например, возникнуть окно, где, помимо текста ошибки, будет содержаться строка «Недопустимо использование свойства «ОсновнаяРоль». При этом, сама ошибка может не сразу выявиться, а только тогда, когда регламентное фоновое задание 1С начинало постоянно прерываться. Это выглядит таким образом:
Наличие новых эд в сервисе ЭДО
При этом, эта ошибка может проявляться для различных регламентных заданий, в том числе, для атрибута контекста «ОсновнаяРоль», где будет описано, что нельзя использовать это свойство. Это демонстрируется далее:
Выполнение обмена по сценарию: Сценарий синхронизации для Бухгалтерия МФ 3.0
Однако, если обратиться к программному коду 1С «Метаданные.ОсновнаяРоль», то ошибок в нём не будет. Получаем, что вся модель запрашивается внутри конфигуратора в разрезе свойства объекта «Метаданные». Если же отдельно проверять программный код 1С во время внесения изменений, то там аналогично не будет обнаружено ошибок, как показано на скриншоте далее:
Общий модуль Пользователи: Модуль
При этом всём, замечено, что, чаще всего, ошибка значения атрибута 1С проявляется в версии 1С 8.3.18.1741, далее можно увидеть окно с отображением данной версии:
О программе
Важно, что описания самого свойства «ОсновнаяРоль» нет внутри синтаксис-помощника. Это свойство задействовано внутри библиотеки системы МДЛП, суть которой в том, что она может помогать делать из управляемой конфигурации обычную. Именно из-за этого выходит так, что само строение программного кода 1С используется в почти не актуальной библиотеке.
3. Устранение ошибки при получении атрибута контекста в системе программы 1С
Когда выявляется подобная ошибка по значению атрибута, то сначала нужно сверить наличие атрибута, к которому происходит обращение, после чего, нужно убедиться в том, что тип атрибута и значения, которое ему присваивают, совпадают.
Если ни то, ни то не помогло, то нужно проверить ещё и права на чтение атрибутов и установку значений для них. Для этого способа нужно выставить режим привилегированного типа – это можно сделать прописав перед строкой, которая содержит ошибку, строку «УстановитьПривилегированныйРежим(Истина)», после строки «УстановитьПривилегированныйРежим(Ложь)».
В случае, когда и этот способ не помог, то следует обратиться к следующему.
Чтобы сделать так, чтобы ошибка значения атрибута 1С пропала и не мешала выполнению регламентных задач – необходимо скорректировать программный код 1С на строку «Метаданные.ОсновныеРоли.Количество()», как демонстрируется на скриншоте с примером ниже:
Общий модуль Пользователи: Модуль
После таких манипуляций, получаем, что ошибки больше не возникает.
В данной статье было описано то, как и в каких случаях внутри конфигурации системы 1С появляется ошибка значения атрибута, а также выявлено какие способы существуют для её устранения.
Специалист компании "Кодерлайн"
Айдар Фархутдинов




