1с ошибка при получении значения атрибута контекста parentwindow

В общем модуле есть вот такие 1 функция, и 1 процедура.

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

{ОбщийМодуль.Вспомогательный.Модуль(1919)}: Ошибка при получении значения атрибута контекста (clipboardData)

       О.ParentWindow.ClipboardData.Setdata(«Text», «» + стрТекст);    

по причине:

Произошла исключительная ситуация: Ошибка при вызове OpenClipboard

Функция GUIDОБъектаВБуфер(Объект) Экспорт

    стрТекст = Объект.Ссылка.УникальныйИдентификатор();

    #Если Клиент Тогда

        О = Новый COMОбъект(«htmlfile»);

        О.ParentWindow.ClipboardData.Setdata(«Text», «» + стрТекст);    

    #КонецЕсли

    
    Возврат стрТекст;

КонецФункции

Процедура ПоместитьВБуферОбмена(стрТекст) экспорт

#Если Клиент Тогда

       О = Новый COMОбъект(«htmlfile»);

       О.ParentWindow.ClipboardData.Setdata(«Text», «» + стрТекст);    

#КонецЕсли

КонецПроцедуры

Ошибка в 1С 8. Ошибка при получении значения атрибута контекста (ОсновнаяРоль), Недопустимо использование свойства ОсновнаяРоль

Описание ошибки:
Проблема стала возникать после того, как в серверную базу УТ 10.3 был добавлен функционал Библиотеки МДЛП. Ошибка не проявляла себя явно при работе в режиме 1С: Предприятие, но негативно влияла на выполнение некоторых регламентных заданий, так что они аварийно прерывались.

Найденные решения:

{ОбщийМодуль.Пользователи.Модуль(116)}: Ошибка при получении значения атрибута контекста (ОсновнаяРоль)
по причине:
Недопустимо использование свойства «ОсновнаяРоль»

Проблема стала заметна случайно лишь тогда, когда в частности регламентное фоновое задание «Наличие новых ЭД» стало прерываться в процессе своего выполнения из за ошибки.

1С 8 как исправить ошибку при получении значения атрибута контекста ОсновнаяРоль
Рис. 1. Пример ошибки «Ошибка при получении значения атрибута контекста (ОсновнаяРоль)» в регламентном задании «Наличие новых эд в сервисе ЭДО« 

Так же и в другом регламентном задании стала проявляться ошибка «Ошибка при получении значения атрибута контекста (ОсновнаяРоль) по причине: Недопустимо использование свойства «ОсновнаяРоль».


Рис. 2. Пример ошибки «Недопустимо использование свойства «ОсновнаяРоль» в регламентном задании «Выполнение обмена по сценарию…»

Удивителен тот факт, что код «Метаданные.ОсновнаяРоль» вполне нормальный. Т.е. конструкция вызывается в конфигураторе при конфигурировании как свойство объекта «Метаданные». Так же не возникает ошибок при проверка кода при сохранении изменений конфигурации. 

Нажатие на изображении увеличит его

Рис. 3. Причина ошибки в коде, конструкция «Метаданные.ОсновнаяРоль = Неопределено».

Релиз используемой платформы 1С в базе, в которой возникла проблема — 8.3.18.1741


Рис. 4. Сведения о конфигурации, версии платформы и параметры конфигурации.

Удивительно, что описание данного свойства «ОсновнаяРоль» отсутствует в Синтакс-помощнике. Хотя, как уже было коротко упомянуто, свойство «ОсновнаяРоль» глобального свойства «Метеданные» используется в библиотеке МДЛП. Исходно основное назначение библиотеки — для конфигураций, работающих в режиме управляемого приложения. Конфигурация 1С: Управление торговлей 10.3 работает в другом режиме — обычного приложения. Поэтому получается, что конструкция кода эксплуатируется в редко используемой библиотеке и ее работоспособность не совсем понятна в текущем релизе платформы.

В сети оказалось достаточно мало вспомогательной информации об этой ошибке. Из найденного, что может кому-то помочь — это обсуждение на форуме forum.1c.ru «После обновления на 2.0.15.8 выпадает ошибка: Недопустимо использование свойства «ОсновнаяРоль».

Поэтому возможно, но это только неподтвержденное предположение, что метод работает только в конфигурациях, работающих в режиме управляемого приложения, т.к. о нем отсутствует какая-либо информация в официальной методике — «Синтакс-помощнике». Поскольку упоминание проблемы с «ОсновнаяРоль» и ее актуальное решение по приведенной выше ссылке действует для конфигурации 1С: Деньги, которая работает исключительно в режиме обычного приложения (интерфейса).

1С 8 свойство метода метаданные конфигурации ОсновнаяРоль
Рис. 5. Отсутствие в «Синтакс-помощнике» описания метода «ОсновнаяРоль»

Поэтому решением данной проблемы стало изменение кода на конструкцию: Метаданные.ОсновныеРоли.Количество()

Нажатие на изображении увеличит его

Рис. 6. Устранение ошибки «Ошибка при получении значения атрибута контекста (ОсновнаяРоль)» заменой текста кода.

Таким образом код стал актуальным для исполнения и в дальнейшем не вызывал ошибку.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

21-07-2022

Журавлев А.С.
(Сайт azhur-c.ru)

Содержание

  1. Тема: Ошибка внешней компоненты ПРИ ПЕЧАТИ ШТРИХ-КОДА
  2. Ошибка внешней компоненты ПРИ ПЕЧАТИ ШТРИХ-КОДА
  3. Сабж
  4. Ошибка при печати штрихкодов на х64-клиенте 1С: Компонента 1С:Печать штрихкодов не установлена на данном компьютере
  5. Ошибка при получении значения атрибута контекста
  6. XDTO — Не дает установить значение перечисления
  7. Номенклатура ФайлКартинки Ошибка при установке значения атрибута контекста (Владелец)

Тема: Ошибка внешней компоненты ПРИ ПЕЧАТИ ШТРИХ-КОДА

Опции темы
Поиск по теме
Отображение

Ошибка внешней компоненты ПРИ ПЕЧАТИ ШТРИХ-КОДА

Доброго времени суток !
Имеется 1С:Предприятие 8.2 (8.2.13.219) Конфигурация Управление торговлей, редакция 11.0 (11.0.6.9)
Проблемы заключается в следующем: Необходимо распечатать этикетку со штрих-кодом. И при печати появляется «ошибка внешней компоненты» если кликнуть подробно то появлется сие сообщение:
<Обработка.ПечатьЭтикетокИ Ценников.МодульМенеджера(24 5)>: Ошибка при установке значения атрибута контекста (РазмерШрифта)
ВнешняяКомпонента.РазмерШ� �ифта = ПараметрыШтрихкода.Размер� �рифта;
по причине:
Ошибка внешней компоненты

Вот такие дела. Кто с таким сталкивался и как победил ? Заранее спасибо !

Последний раз редактировалось VDIGIT; 30.09.2011 в 06:41 . Причина: Опечатка

А компонента 1С: Печать штрихкода установлена? если нет, то такая есть на диске ИТС

Установлена (причем вариантов компоненты немерено было переставлено). «Ошибка» в самой конфигурации, а точнее в размере шрифта. Слегка изменил саму конфигурацию (и само формирование и печать) и все заработало как надо ! Только надо немного доделать, чтобы было на «автоматическом» уровне, а то лезть и править конфигурацию не есть гут ! как сделаю выложу !

блин! будь другом! подскажи как вышел из ситуёвины. клинит напроч что-то.

Сабж

Столкнулись с такой же проблемой: при печати созданного в 1С Розница 8.2 штрихкода выводилось сообщение:

.
При этом созданная «этикетка по умолчанию», содержащая шрихкод, прекрасно выводилась на печать до тех пор пока не изменялся ее размер. Изменение параметров штрихкода-картинки («растянуть», «реальный размер», «пропорционально») никакого эффекта не давали.
Победить проблему не удалось, зато удалось ее «замаскировать»:
1. В конфигураторе был задействован режим отладки: меню Отладка Остановка по ошибке ставим галочку в пункт Останавливаться по ошибке и сохраняемся (Сделайте бекап базы и/или конфигурации на всякий пожарный случай)
2. Запускаем одновременно с конфигуратором (можно прямо из него) 1С и повторяем событие ошибки.
3. Нас перебрасывает в конфигуратор на нужную нам строку в которой как-раз и стоит параметр «размер шрифта»
4. Закомментируем (то есть «спрячем» от исполнения программой) эту строку кода: перед строкой впереди поставим два слэша — \ (строка поменяет цвет текста на зеленый)
5. Сохраняем конфигурацию и перезапускаем 1С
6. В 1Ске делаем следующее: открываем шаблон нашей этикетки и видим, что рядом с надписью: «Тип кода (выборка) EAN13» чуть правее стоит галочка в пункте «Отображать текст». Снимаем галочку.
7. Теперь сформированный штрихкод будет отображаться просто как штрихкод, без записи его значения в цифровом отображении (с размером шрифта этих цифр и происходит сбой при выводе на печать).
8. Создаем свою этикетку, правим ее, вставляем штрихкод и растягиваем его как нам нужно.
9. Если кроме штрихкода вам нужны еще и цифры составляющие его, то ниже/выше/рядом со штрихкодом вставьте еще один, но уже в текстовом виде (при вставке штриха 1С вас спросит – вставить ли его как картинку – откажитесь и получите штрихкод в цифровом символьном виде) и отредактируйте что бы оба штриха были у вас рядом и выглядели так как вам нужно.
Это конечно не решение проблемы, но это поможет вам сделать этикетку на печати нужного вам вида и размера.

Источник

Ошибка при печати штрихкодов на х64-клиенте 1С: Компонента 1С:Печать штрихкодов не установлена на данном компьютере

Буквально вчера столкнулся с проблемой, что типовая 1С УТ 10.3 при печати формы с штрихкодом стала выдавать: Компонента 1С:Печать штрихкодов не установлена на данном компьютере.
Нигде я не нашел инструкции, как это быстренько решить. Поэтому приведу здесь своё решение и надеюсь, что оно кому-нибудь поможет хоть немного сэкономить время.

ком там приведен как премер внешней компоненты. и в этой части это был вопрос, что под нативной компонентой имел в виду автор.

а то, что как работает встроенная компонента, не известно где написано — согласен полностью. сам до сих пор не нашел. структура и объем документации 1с — известное днище и ад. поиск в итс — тоже. уроды.

Вы смогли разобраться в чем дело, у меня тоже перестало ни с того ни с сего работать, точно такая картинка, хотя использовал типовой механизм УТ

Вы не правы, всё написано)))

1) Смотрите, вот при заполнении макета вызывается такая функция:

2) В функции п.1 вызывается другая функция, в которой уже подключается внешняя компонента:

Т.о., проще всего сделать так: а) Скопировать в свою конфигурацию из УТ11 общий макет «КомпонентаПечатиШтрихкодов» (здесь ВК лежат); б) Добавить представленный код в свою обработку; в) Сформировав «ПараметрыШтрихкода», передаете их в ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) , а эта функция вам уже возвратит ШК.

Мне кажется, что теперь даже новичкам станет ясно)))

(19) У меня возникла такая же проблема. Обошел ее вот таким способом (нашел в типовых):
РисунокШтрихкодаИсточник=ОбластьМакета.Рисунки.ШтрихКод;

РисунокШтрихкода = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
РисунокШтрихкода.Верх = РисунокШтрихкодаИсточник.Верх;
РисунокШтрихкода.Лево = РисунокШтрихкодаИсточник.Лево;
РисунокШтрихкода.Высота = РисунокШтрихкодаИсточник.Высота;
РисунокШтрихкода.Ширина = РисунокШтрихкодаИсточник.Ширина;
РисунокШтрихкода.Имя = РисунокШтрихкодаИсточник.Имя;
РисунокШтрихкода.Линия = РисунокШтрихкодаИсточник.Линия;
РисунокШтрихкода.РазмерКартинки = РазмерКартинки.Растянуть;

ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить(«Ширина», РисунокШтрихкодаИсточник.Ширина);
ПараметрыШтрихкода.Вставить(«Высота», РисунокШтрихкодаИсточник.Высота);
ПараметрыШтрихкода.Вставить(«Штрихкод», Штрихкоддокумента);
ПараметрыШтрихкода.Вставить(«ТипКода», 1);
ПараметрыШтрихкода.Вставить(«МонохромныйШрифт», Истина);
ПараметрыШтрихкода.Вставить(«ОтображатьТекст», Истина);
ПараметрыШтрихкода.Вставить(«РазмерШрифта», 10);
ПараметрыШтрихкода.Вставить(«Масштабировать», Истина);
ПараметрыШтрихкода.Вставить(«СохранятьПропорции», Истина);

т.е. заменил картинку на макете на программно созданную.

Но потом возникла другая проблема: по качеству печатаемый штрихкод заметно хуже, чем в компоненте x32 и пользователи жалуются на проблемы при сканировании, а худшее качество числового штрихкода видно просто на глаз.

Источник

Ошибка при получении значения атрибута контекста

Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
<ОбщийМодуль.ПроцедурыОбменаУПП.Модуль(884)>: Ошибка при получении значения атрибута контекста (НаличиеОбменаУПП) по причине:
Попытка получения неинициализированного значения параметра сеанса

Кто-нибудь сталкивался с такой ошибкой? Что это может быть?

Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
<ОбщийМодуль.ПроцедурыОбменаУПП.Модуль(884)>: Ошибка при получении значения атрибута контекста (НаличиеОбменаУПП)

по причине:
Попытка получения неинициализированного значения параметра сеанса

Появилось только после начала обновления движка с 8.2.14.540 на 8.2.15.310. Причём сервер ешё 14 релиза, поэтому клиенты должны запускаться 14 релиза. Пойду проверю соответствие версий.

(11) вышла Управление производственным предприятием, редакция 1.3, версия 1.3.53.2 .

Исправлена ошибка 20026889:
Под пользователем с ограниченными правами происходит ошибка при записи новых элементов справочников и документов, если в информационной базе не используется обмен («Обмен с УПП 1.3», «Обмен с РТ 1.0», «Обмен с УТ 10.3». )

Самописная программа на 1С, данные обновляются из УПП (релиз УПП 1.3.94.1) Платформа 8.2 (8.2.19.130). Обновление данных их УПП через COM соединение. Обновление на тестовой базе с этой же базы УПП отработало днем без ошибок. Вечером поставили на рабочую базу, снимается по ошибке, причем выдает разные ошибки:

<Обработка.ЗагрузкаДанныхИзУПП.Форма.Форма.Форма(675)>: Ошибка при получении значения атрибута контекста (Code)
СтрокаСпецификации.Спецификация=Справочники.СпецификацииНоменклатуры.НайтиПоКоду(СпецификацииУПП.СпецификацияНоменклатуры.Code);
по причине:
Неизвестная ошибка

<Обработка.ЗагрузкаДанныхИзУПП.Форма.Форма.Форма(293)>: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выбрать();
по причине:
Неизвестная ошибка

Кеш почистили. На базе УПП блокировали регламентные задания. На базе, в которую идет загрузка, регламентных заданий нет.

Источник

XDTO — Не дает установить значение перечисления

Две конфигурации с одинаковыми названиями перечислений но отличающимися значениями:
Конфигурация 1:
Перечисление1
— Значение1
— Значение2

Конфигурация 3
Перечисление2
— Значение1
— Значение2
— Значение3

Создаю объект XDTO по своей схеме.

Делаю выгрузку данных из Конфигурации 1, где у нас в конфигурации только 2 значения.

Заполняю объект XDTO.
Вариант1:
ОбъектXDTO.Свойство = Значение3Строкой;
Выдает ошибку:
Ошибка при установке значения атрибута контекста (Перечисление1): Ошибка отображения типов:
Отображение лексического значения ‘Значение3’ в значение типа ‘ПеречислениеСсылка.Перечисление1’
Не работает. Пытается преобразовать значение в ссылку 1С, не выходит, отваливается в ошибку.

ОбъектXDTO.Свойство = Значение2Строкой;
Работает. Перобразовал в ссылку 1С, так как нашел ее.

Вариант2:
Переименовываем(удаляем) объект метеданных Перечисление1 в конфигурации.
ОбъектXDTO.Свойство = Значение3Строкой;
Записывается без ошибки. Записывается как строка без преобразования.

ОбъектXDTO.Свойство = Значение2Строкой;
Записывается без ошибки. Записывается как строка без преобразования.

Вопрос. Как в данном случае записать в объект XDTO значение перечисления отсутствующее в конфигурации источнике если перечисление с одинаковыми названиями есть в обоих конфигурациях.

Пока вопрос решил добавлением значение3 из конфигурации2 в конфигурацию 1, но это однозначно костыль.

Две конфигурации с одинаковыми названиями перечислений но отличающимися значениями:
Конфигурация 1:
Перечисление1

Делаю выгрузку данных из Конфигурации 1, где у нас в конфигурации только 2 значения перечисления.

Заполняю объект XDTO.
Вариант1:
ОбъектXDTO.Свойство = Значение3Строкой;
Выдает ошибку:
Ошибка при установке значения атрибута контекста (Перечисление1): Ошибка отображения типов:
Отображение лексического значения ‘Значение3’ в значение типа ‘ПеречислениеСсылка.Перечисление1’
Не работает. Пытается преобразовать значение в ссылку 1С, не выходит, отваливается в ошибку.

Работает. Перобразовал в ссылку 1С, так как нашел ее.

Вариант2:
Переименовываем(удаляем) объект метеданных Перечисление1 в конфигурации.
Записывается без ошибки. Записывается как строка без преобразования.
Записывается без ошибки. Записывается как строка без преобразования.

Вопрос. Как в данном случае записать в объект XDTO значение перечисления отсутствующее в конфигурации источнике если перечисление с одинаковыми названиями есть в обоих конфигурациях.

Пока вопрос решил добавлением значение3 из конфигурации2 в конфигурацию 1, но это однозначно костыль.

Источник

Номенклатура ФайлКартинки Ошибка при установке значения атрибута контекста (Владелец)

8.3 УТ11 внешняя обработка модуль объекта
Здравствуйте, это обработка для загрузки данных из таблицы xlsx и создания новой номенклатуры, очень долго не могу понять почему не работает загрузка картинки для номенклатуры через отладку выяснил что ошибка связана с КартинкаОбъект.Записать(); Написано что Тип значения должен быть СправочникСссылка.Номенклатура ,.
Через табло в значении владелец файла, там просто пусто , я думаю ошибка здесь в КартинкаОбъект.Владелец = Товар.Ссылка; потому что у Товар (Товар = Справочники.Номенклатура.СоздатьЭлемент();) У справочника номенклатуры владельца нет, в сам справочник добавить владельца, Вопрос как можно все таки провести КартинкаОбьект и как назначить владельца , Так же пытался добавить Товар.Владелец = Справочник.Номеклатура или Пользователи.ТекущийПользователь не работает .Мне просто нужно создать новую номенклатуру с картинкой по URL .3 дня ищу ответ, я знаю что уже были подобные ситуации ,но я перепробывал все способы на форуме внедрения картинок.

1. Вы знаете, можете обижаться, но готовое рабочее решение я уже скинул в самом начале. Сейчас я воспроизвел его на УТ и код рабочий. Так что не надо говорить, что никто Вам не помогает. Нужно просто уметь воспринимать помощь.
2. Синтаксис-помощник практически никогда не даст вам решение адаптированное конкретно под вашу ситуацию. нужно учиться им пользоваться.
3. Если Вы нашли в интернете КОНКРЕТНО ВАШ вариант — можете считать что вам крупно повезло. Это обычно исключение из правил. Чаще всего приходится искать маленькие подсказки, чтобы оттолкнувшись от найти СВОЕ решение, которое и будет КОНКРЕТНО ВАШИМ вариантом.
4. Все «КРУТЫЕ ПРОГРАММИСтЫ» когда-то были начинающими. И начинали большинство в гораздо худших условиях, по сравнению с нынешними условиями новичков. Это я про огромные базы знаний и форумы в интернете. Раньше все 1Сники довольствовались только кодом из типовых конфигураций и желтыми книгами при изучении 1С.
5. Большинство «Крутых» программистов выросли на 1С франчах. Если Вы новичок — вам просто необходимо смотреть в сторону франчей, как школы для 1Сника.

ЗЫ. Рабочий пример загрузки картинки в справочник номенклатура с сайта:

Источник

Содержание:

1.       Ошибка при установке значения атрибута контекста

2.       Ошибка при получении значения атрибута контекста

Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.  

1.    Ошибка при установке значения атрибута контекста

Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута. 

Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.  

2.    Ошибка при получении значения атрибута контекста

Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.

При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).  

Специалист компании «Кодерлайн»

Александр Суворов

Содержание:

1.      Что означает ошибка при получении значения атрибута контекста?

2.      Диагностика ошибки в конфигурации программы 1С: Предприятие

3.      Устранение ошибки при получении атрибута контекста в системе программы 1С  

1.      Что означает ошибка при получении значения атрибута контекста?

Ошибка при получении значения атрибута контекста может появляться после того, как в информационную базу сервера добавят библиотеку. Само наличие ошибки внутри системы программы «1С: Предприятие» глобально никак не влияет, однако, при её наличии, могут быть неполадки во время исполнения регламентных задач.

Ошибка при получении значения атрибута контекста означает то, что значение атрибута прочесть нельзя так как, оно отсутствует (или нет прав на чтение данного атрибута). К примеру, это может быть некое обращение к полю выборки внутри запроса, которой не существует или к элементу формы, которого не существует и так далее. Примером появления такой ошибки также может быть получение нынешнего юзера через параметры внутри сеанса, а именно: если этот параметр не был выставлен, то на экране появится ошибка о том, что невозможно получить значение атрибута контекста, однако, причиной ошибки будет названо то, что была попытка получить значение параметра в сеансе, которое не было инициализировано.  

2.      Диагностика ошибки в конфигурации программы 1С: Предприятие

При возникновении ошибки может, например, возникнуть окно, где, помимо текста ошибки, будет содержаться строка «Недопустимо использование свойства «ОсновнаяРоль». При этом, сама ошибка может не сразу выявиться, а только тогда, когда регламентное фоновое задание 1С начинало постоянно прерываться. Это выглядит таким образом:

1s atributy konteksta.png

Наличие новых эд в сервисе ЭДО

При этом, эта ошибка может проявляться для различных регламентных заданий, в том числе, для атрибута контекста «ОсновнаяРоль», где будет описано, что нельзя использовать это свойство. Это демонстрируется далее:

atributy konteksta.png

Выполнение обмена по сценарию: Сценарий синхронизации для Бухгалтерия МФ 3.0

Однако, если обратиться к программному коду 1С «Метаданные.ОсновнаяРоль», то ошибок в нём не будет. Получаем, что вся модель запрашивается внутри конфигуратора в разрезе свойства объекта «Метаданные». Если же отдельно проверять программный код 1С во время внесения изменений, то там аналогично не будет обнаружено ошибок, как показано на скриншоте далее:

atributy konteksta 1s.png

Общий модуль Пользователи: Модуль

При этом всём, замечено, что, чаще всего, ошибка значения атрибута 1С проявляется в версии 1С 8.3.18.1741, далее можно увидеть окно с отображением данной версии:

atributy konteksta v 1s.png

О программе

Важно, что описания самого свойства «ОсновнаяРоль» нет внутри синтаксис-помощника. Это свойство задействовано внутри библиотеки системы МДЛП, суть которой в том, что она может помогать делать из управляемой конфигурации обычную. Именно из-за этого выходит так, что само строение программного кода 1С используется в почти не актуальной библиотеке.  

3.      Устранение ошибки при получении атрибута контекста в системе программы 1С

Когда выявляется подобная ошибка по значению атрибута, то сначала нужно сверить наличие атрибута, к которому происходит обращение, после чего, нужно убедиться в том, что тип атрибута и значения, которое ему присваивают, совпадают.

Если ни то, ни то не помогло, то нужно проверить ещё и права на чтение атрибутов и установку значений для них. Для этого способа нужно выставить режим привилегированного типа – это можно сделать прописав перед строкой, которая содержит ошибку, строку «УстановитьПривилегированныйРежим(Истина)», после строки «УстановитьПривилегированныйРежим(Ложь)».


В случае, когда и этот способ не помог, то следует обратиться к следующему.

Чтобы сделать так, чтобы ошибка значения атрибута 1С пропала и не мешала выполнению регламентных задач – необходимо скорректировать программный код 1С на строку «Метаданные.ОсновныеРоли.Количество()», как демонстрируется на скриншоте с примером ниже:

sintaksis pomoshchnik.png

Общий модуль Пользователи: Модуль

После таких манипуляций, получаем, что ошибки больше не возникает.

В данной статье было описано то, как и в каких случаях внутри конфигурации системы 1С появляется ошибка значения атрибута, а также выявлено какие способы существуют для её устранения.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Ошибка в 1С 8. Ошибка при получении значения атрибута контекста (ОсновнаяРоль), Недопустимо использование свойства ОсновнаяРоль

Описание ошибки:
Проблема стала возникать после того, как в серверную базу УТ 10.3 был добавлен функционал Библиотеки МДЛП. Ошибка не проявляла себя явно при работе в режиме 1С: Предприятие, но негативно влияла на выполнение некоторых регламентных заданий, так что они аварийно прерывались.

Найденные решения:

{ОбщийМодуль.Пользователи.Модуль(116)}: Ошибка при получении значения атрибута контекста (ОсновнаяРоль)
по причине:
Недопустимо использование свойства «ОсновнаяРоль»

Проблема стала заметна случайно лишь тогда, когда в частности регламентное фоновое задание «Наличие новых ЭД» стало прерываться в процессе своего выполнения из за ошибки.

1С 8 как исправить ошибку при получении значения атрибута контекста ОсновнаяРоль
Рис. 1. Пример ошибки «Ошибка при получении значения атрибута контекста (ОсновнаяРоль)» в регламентном задании «Наличие новых эд в сервисе ЭДО« 

Так же и в другом регламентном задании стала проявляться ошибка «Ошибка при получении значения атрибута контекста (ОсновнаяРоль) по причине: Недопустимо использование свойства «ОсновнаяРоль».


Рис. 2. Пример ошибки «Недопустимо использование свойства «ОсновнаяРоль» в регламентном задании «Выполнение обмена по сценарию…»

Удивителен тот факт, что код «Метаданные.ОсновнаяРоль» вполне нормальный. Т.е. конструкция вызывается в конфигураторе при конфигурировании как свойство объекта «Метаданные». Так же не возникает ошибок при проверка кода при сохранении изменений конфигурации. 

Нажатие на изображении увеличит его

Рис. 3. Причина ошибки в коде, конструкция «Метаданные.ОсновнаяРоль = Неопределено».

Релиз используемой платформы 1С в базе, в которой возникла проблема — 8.3.18.1741


Рис. 4. Сведения о конфигурации, версии платформы и параметры конфигурации.

Удивительно, что описание данного свойства «ОсновнаяРоль» отсутствует в Синтакс-помощнике. Хотя, как уже было коротко упомянуто, свойство «ОсновнаяРоль» глобального свойства «Метеданные» используется в библиотеке МДЛП. Исходно основное назначение библиотеки — для конфигураций, работающих в режиме управляемого приложения. Конфигурация 1С: Управление торговлей 10.3 работает в другом режиме — обычного приложения. Поэтому получается, что конструкция кода эксплуатируется в редко используемой библиотеке и ее работоспособность не совсем понятна в текущем релизе платформы.

В сети оказалось достаточно мало вспомогательной информации об этой ошибке. Из найденного, что может кому-то помочь — это обсуждение на форуме forum.1c.ru «После обновления на 2.0.15.8 выпадает ошибка: Недопустимо использование свойства «ОсновнаяРоль».

Поэтому возможно, но это только неподтвержденное предположение, что метод работает только в конфигурациях, работающих в режиме управляемого приложения, т.к. о нем отсутствует какая-либо информация в официальной методике — «Синтакс-помощнике». Поскольку упоминание проблемы с «ОсновнаяРоль» и ее актуальное решение по приведенной выше ссылке действует для конфигурации 1С: Деньги, которая работает исключительно в режиме обычного приложения (интерфейса).

1С 8 свойство метода метаданные конфигурации ОсновнаяРоль
Рис. 5. Отсутствие в «Синтакс-помощнике» описания метода «ОсновнаяРоль»

Поэтому решением данной проблемы стало изменение кода на конструкцию: Метаданные.ОсновныеРоли.Количество()

Нажатие на изображении увеличит его

Рис. 6. Устранение ошибки «Ошибка при получении значения атрибута контекста (ОсновнаяРоль)» заменой текста кода.

Таким образом код стал актуальным для исполнения и в дальнейшем не вызывал ошибку.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

21-07-2022

Журавлев А.С.
(Сайт azhur-c.ru)

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • 1с ошибка при выполнении файловой операции tmp
  • 1с ошибка при обновлении пользователь иб не идентифицирован
  • 1с ошибка при запуске неверный формат хранилища данных
  • 1с новый уникальныйидентификатор ошибка
  • 1с неклассифицированная ошибка документа

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: