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

Предопределенный элемент отсутствует в данных

Я
   skela1c

25.07.16 — 10:36

При попытке открыть элемент в базе получаем такую ошибку

{ОбщийМодуль.УправлениеСвойствами.Модуль(1473)}: Ошибка при получении значения атрибута контекста (Справочник_Номенклатура)

    НаборСвойств = Справочники.НаборыДополнительныхРеквизитовИСведений[ИмяЭлемента];

по причине:

Справочник.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура. Предопределенный элемент отсутствует в данных

Как можно исправить эту ошибку?

   skela1c

1 — 25.07.16 — 10:36

Программа УТ 11.2

   Господин ПЖ

2 — 25.07.16 — 10:37

объединить с конфой поставщика

   skela1c

3 — 25.07.16 — 10:40

объединял  и загружал стандартную конфу все тоже самое

   Господин ПЖ

4 — 25.07.16 — 10:41

кэш продуй

   DrZombi

5 — 25.07.16 — 10:42

(0) Можно подсунуть

   skela1c

6 — 25.07.16 — 10:42

если я базу загружаю, это из-за кэша?

   _stay true_

7 — 25.07.16 — 10:42

(0) Кэш, ТиИ со всеми галками(возможно, битая ссылка засела где-то)

   skela1c

8 — 25.07.16 — 10:43

тестирование делал

   _stay true_

9 — 25.07.16 — 10:44

(8) Почисти кэш в AppData/Roaming, выгони всех из базы и оставь в папке(если файловая) только файл 1Cv8.1CD

Если же SQL-вариант, то выгрузи в ДТ и загрузи обратно.

   skela1c

10 — 25.07.16 — 10:47

файлы удалил не помогло

   DrZombi

11 — 25.07.16 — 10:48

(10) Да подсунь программно, через обработку

   DrZombi

12 — 25.07.16 — 10:48

+ Любой понравившийся элемент.

   EugeniaK

13 — 25.07.16 — 10:48

(0) В Гугле уже забанили?

Первой строкой по запросу «Предопределенный элемент отсутствует в данных»

«Ошибки в предопределённых элементах»

В 8.3.3 в 1С добавилась возможность программно привязывать предопределенные элементы к элементам ИБ.

Периодически при сбоях, обменах либо ошибках в используемом программном коде соответствие между предопределенными элементами и элементами ИБ может сбиваться.

Какие ситуации бывают, как они возникают и как с ними бороться.

http://catalog.mista.ru/public/310542/

   EugeniaK

14 — 25.07.16 — 10:49

Привяжи любой элемент к своему предопределенному Справочник.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура

   skela1c

15 — 25.07.16 — 10:57

в конфигураторе предопределенные реквизиты есть, базу чинили чеком

   EugeniaK

16 — 25.07.16 — 11:01

(15) Перечитай (13)

Они должны быть не в конфигурации, а в базе.

   kossmatiy

17 — 25.07.16 — 11:03

(14) а лучше посмотреть какой элемент привязан в типовой и создать/привязать такой же

   EugeniaK

18 — 25.07.16 — 11:06

(17) Логично. Скорее всего он есть, просто отвязался.

Правильнее привязать имеющийся.

А если нету, то перенести из типовой правильный универсальным обменом ХМЛ

   skela1c

19 — 25.07.16 — 11:13

перенести справочник?

   skela1c

20 — 25.07.16 — 11:19

подскажите пожалуйста, что перенести из типовой и как это сделать?

   skela1c

21 — 25.07.16 — 11:22

а как правильно привязать?

   Cyberhawk

22 — 25.07.16 — 11:23

Почему не позовешь программиста?

   skela1c

23 — 25.07.16 — 11:23

я сам учусь

   EugeniaK

24 — 25.07.16 — 11:35

(19) Перенести или привязать нужно элемент справочника.

Прочитай по ссылке в (13)

Подробнее разжевать уже некуда.

   skela1c

25 — 25.07.16 — 11:40

еще странно в конфигураторе элементы есть а в пользовательском режиме их нет

   skela1c

26 — 25.07.16 — 11:44

каким образом можно поменять справочник на типовой

   EugeniaK

27 — 25.07.16 — 11:49

(25) Логично. В этом и ошибка.

Цитата:

«Для начала необходимо четко осознать для себя, что есть предопределенные элементы в конфигурации и есть предопределенные элементы в информационной базе (ИБ). Технически предопределенные элементы ИБ это самые обычные элементы справочников, у которых в реквизите «ИмяПредопределенныхДанных» указано, какому предопределенному элементу конфигурации они соответствуют. Ничем больше они от обычных элементов не отличаются. Соответственно, любой обычный элемент ИБ можно сделать предопределенным, любой предопределенный обычным. Для этого достаточно вписать нужное значение в реквизит «ИмяПредопределенныхДанных».

Подробнее в (13)

   skela1c

28 — 25.07.16 — 11:54

ок, в каком справочнике есть реквизит «ИмяПредопределенныхДанных», где он находится?

   skela1c

29 — 25.07.16 — 11:58

вопрос про ИмяПредопределенныхДанных снимается

   skela1c

30 — 25.07.16 — 12:07

кроме обработки можно как-нибудь по другому привязать предопределенные элементы?

   EugeniaK

31 — 25.07.16 — 12:33

(30) Да.

В статье есть пример кода, который выполнить.

ОбновляемыйОбъект = СсылкаНаОбъект.ПолучитьОбъект();

ОбновляемыйОбъект.ИмяПредопределенныхДанных = «НашеИмяПредопределенногоЭлемента»;

ОбновляемыйОбъект.ОбменДанными.Загрузка = Истина;

ОбновляемыйОбъект.Записать();

   skela1c

32 — 25.07.16 — 12:40

это да, но хотелось быстро и оптом )))

   kossmatiy

33 — 25.07.16 — 12:58

Быстро — это обработка на инфостарте «установка предопределенных эл-тов»

   TormozIT

34 — 25.07.16 — 13:00

Или на http://devtool1c.ucoz.ru/index/redaktor_predopredelennykh/0-43 «Редактор предопределенных элементов» из подсистемы «Инструменты разработчика»

  

skela1c

35 — 25.07.16 — 13:20

спасибо всем разобрался. Особая благодарность EugeniaK

Содержание:

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

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

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

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

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

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

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

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

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

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

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

  1. {Справочник.ПодразделенияОрганизаций.Форма.ФормаЭлемента(118)}: Ошибка при получении значения атрибута контекста (Предопределенный): У пользователя недостаточно прав на исполнение операции над базой данных.
    Если Не СпособОтражения.Предопределенный Тогда
    по причине:
    У пользователя недостаточно прав на исполнение операции над базой данных.

    Как с этой ошибкой бороться. У роли есть права на Справочник.ПодразделенияОрганизаций.


  2. 1Cnica

    Offline

    1Cnica
    Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26

    если можно, поставь полные права юзеру
    у меня такие же проблемы с юзерами возникают, задолбалась уже колупаться в этих правах/ролях :(


  3. lazy

    Offline

    lazy
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29

    1Cnica, я в шоке. Полагаю, что права пользователей сделаны отнюдь не для того, чтобы мучить 1Сников, или пользователей. А для того, чтобы назначить зоны ответственности пользователей, разграничить уровни доступа к информации.

    Если всем подряд давать полные права — для маленькой организации с 3-мя сотрудниками это может быть и приемлемый вариант, то в остальных случаях — это прямой путь к полному концу обеда с вначале групповым изнасилованием 1Сника, а потом его увольнением…


  4. BabySG

    Offline

    BabySG
    Администраторы
    Команда форума
    Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    18
    Баллы:
    29

    Бороться только один — внимательно настраивать права.


  5. vitaly_mnpz

    Offline

    vitaly_mnpz
    Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26

    Добавьте пользователю роль «Отражение в регламентированном учете».


  6. BabySG

    Offline

    BabySG
    Администраторы
    Команда форума
    Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    18
    Баллы:
    29

    Кстати да — релиз какой? В 20-ке поменялись права…


  7. AndreyNag

    Offline

    AndreyNag
    Опытный в 1С

    Регистрация:
    25 апр 2012
    Сообщения:
    134
    Симпатии:
    0
    Баллы:
    26

    После обновления в режиме слияния конфигурации УТ 10.3.2.11 до 10.3.18.4 не могу пробить чек ККМ. Ругается «ошибка при получении значения атрибута контекста ТекущийКасссир».
    Куда ему стукнуть?
    Спасибо за внимание.

    P.S. Решено загрузкой новой конфигурации без сравнения.


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Ошибка в 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)

седьмой

45 / 44 / 1

Регистрация: 11.07.2012

Сообщений: 1,024

1

Как записать предопределенные данные в справочник?

29.05.2019, 13:22. Показов 3391. Ответов 11

Метки 1с 8.3 управляемая форма (Все метки)


Студворк — интернет-сервис помощи студентам

Сделал все как на диске итс

Кликните здесь для просмотра всего текста

https://its.1c.ru/db/metod8dev#content:5367:hdoc

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
&НаСервере
Процедура ПараметрыФактПриИзмененииНаСервере(факт)
    ф1=0;
    Если НЕ факт.Пустая() Тогда
    Объект1 = факт.ПолучитьОбъект();
    Объект1.ИмяПредопределенныхДанных = "А";
    Объект1.Записать();
    КонецЕсли;
 
    // Вставить содержимое обработчика.
КонецПроцедуры
 
&НаКлиенте
Процедура ПараметрыФактПриИзменении(Элемент)
    ф1=0;
    ПараметрыФактПриИзмененииНаСервере(Элементы.Параметры.ТекущиеДанные.Наименование);
КонецПроцедуры

выходит сообщение об ошибке

1C
1
2
3
4
{Документ.ИспытанияВещей.Форма.ФормаДокумента.Форма(87)}: Ошибка при установке значения атрибута контекста (ИмяПредопределенныхДанных)
    Объект1.ИмяПредопределенныхДанных = "А";
по причине:
Предопределенный элемент не существует

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

Как это исправить?



0



Yulunga

1188 / 727 / 211

Регистрация: 22.04.2013

Сообщений: 5,350

Записей в блоге: 1

29.05.2019, 13:32

2

1C
1
2
Ссылка = ПланыСчетов.ПланСчетовПример.НайтиПоКоду("А");
    Объект = Ссылка.ПолучитьОбъект();

и

1C
1
Объект1 = Элементы.Параметры.ТекущиеДанные.НАИМЕНОВАНИЕ.ПолучитьОбъект();

чуете 1ницу?
там ссылка, а у вас строка.



1



99 / 84 / 21

Регистрация: 12.11.2015

Сообщений: 678

29.05.2019, 13:33

3

В результате при обращении к предопределенному элементу А будет возвращен существовавший ранее объект данных А.

Вы создаете абсолютно новый? Не имея ссылочности хотите создать?



0



1879 / 1284 / 460

Регистрация: 16.01.2015

Сообщений: 5,611

29.05.2019, 15:10

4

седьмой, Предопределенный элемент можно создать только в конфигураторе. В пользовательском режиме и программированием — только переназначить существующий предопределенный



1



45 / 44 / 1

Регистрация: 11.07.2012

Сообщений: 1,024

30.05.2019, 09:58

 [ТС]

5

Цитата
Сообщение от Yulunga
Посмотреть сообщение

чуете 1ницу?

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

Добавлено через 1 минуту

Цитата
Сообщение от slypower
Посмотреть сообщение

Вы создаете абсолютно новый?

да хочу новый, все когда то бывает первый раз и даже предопределенные элементы, а в чем проблема первого раза?

Добавлено через 1 минуту

Цитата
Сообщение от polax
Посмотреть сообщение

Предопределенный элемент можно создать только в конфигураторе

да у меня он нигде не создаетс и в конфигураторе тоже, как его там создать?



0



99 / 84 / 21

Регистрация: 12.11.2015

Сообщений: 678

30.05.2019, 11:45

6

седьмой, в конфигураторе на справочник правой кнопкой мыши-предопределенные элементы. Там и создавайте



0



45 / 44 / 1

Регистрация: 11.07.2012

Сообщений: 1,024

30.05.2019, 12:04

 [ТС]

7

Зачем мне его создавать в конфигурации если он уже там есть или кто то раньше создал

Миниатюры

Как записать предопределенные данные в справочник?
 



0



99 / 84 / 21

Регистрация: 12.11.2015

Сообщений: 678

30.05.2019, 13:08

8

седьмой, я где-то писал вам СТАНДАРТНЫЕ РЕКВИЗИТЫ? Я писал:

Цитата
Сообщение от slypower
Посмотреть сообщение

на справочник правой кнопкой мыши-предопределенные элементы

Добавлено через 4 минуты

Вот:

Миниатюры

Как записать предопределенные данные в справочник?
 



1



45 / 44 / 1

Регистрация: 11.07.2012

Сообщений: 1,024

30.05.2019, 14:35

 [ТС]

9

Цитата
Сообщение от slypower
Посмотреть сообщение

на справочник правой кнопкой мыши-предопределенные элементы

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

Миниатюры

Как записать предопределенные данные в справочник?
 



0



99 / 84 / 21

Регистрация: 12.11.2015

Сообщений: 678

30.05.2019, 14:50

10

Появится в справочнике там же, где и если создать в предприятии, но будет иметь другой значек немного. Обращение будет проще: Справочник.ВашСправочник.ВашеЗначение; Не изменяемые пользователем данные, например Вид документа: ТТН, ТН,…



1



1188 / 727 / 211

Регистрация: 22.04.2013

Сообщений: 5,350

Записей в блоге: 1

30.05.2019, 14:57

11

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



1



45 / 44 / 1

Регистрация: 11.07.2012

Сообщений: 1,024

30.05.2019, 16:13

 [ТС]

12

Цитата
Сообщение от slypower
Посмотреть сообщение

Не изменяемые пользователем данные,

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



0



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