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

Как быть с атрибутом пользователя ПользовательОС

Я
   Гений 1С

11.01.07 — 18:03

Господа, помогите, я уже на пределе.

У пользователя атрибут ПользовательОС не считывается, выдает ошибку:

Ошибка при получении значения атрибута контекста (ПользовательОС), хотя в конфигураторе все нормально показывает: Неудачная попытка найти имя пользователя ОС по системному идентификатору

С другой стороны и установить я ее не могу, выдает ошибку.

А как вообще должна выглядеть строка, так:  DOMENLOGIN или как?

Парюсь не-по-детски.

   Гений 1С

1 — 11.01.07 — 18:20

Зы, по ходу разобрался, дожно быть \DOMENLOGIN

   Гений 1С

2 — 12.01.07 — 10:34

Пардон, господа, разобрался не до конца.

Как получить идентификатор из реквизита ПользовательОС, т.е. там хранится ГУИД, а мне нужно типа \DOMENLOGIN

Простое считывание УЗ.ПользовательОС выдает ошибку: Неудачная попытка найти имя пользователя ОС по системному идентификатору

   ABCD

3 — 12.01.07 — 13:07

АутентификацияОС

А это свойство у тебя установлено?

   Гений 1С

4 — 12.01.07 — 14:25

(3) Да, установлено. Я научился устанавливать виндоус-аутентификацию, но не могу прочитать текущего пользователя (пишу конфу по назначению прав пользователям в разных базах, их у нас штук 40). Нужно прочиттаь начальное состояние.

   Гений 1С

5 — 12.01.07 — 18:05

апп

   Гений 1С

6 — 15.01.07 — 10:27

upp

   а лю 427

7 — 15.01.07 — 10:28

а головой постучать?

   Гений 1С

8 — 15.01.07 — 10:46

(7) не помогает

   Гений 1С

9 — 15.01.07 — 17:01

Ну поможыте же кто-нибудь, придется все логины винды переписывать…

Кстатти обработка «manage users» с проклаба тоже не показывает пользователя ОС.

   Гений 1С

10 — 15.01.07 — 17:26

ну же, знатоки!

   Terv

11 — 15.01.07 — 17:40

(2) хм, а я то думал SID

   shachneff

12 — 15.01.07 — 18:10

Использовать ВК или скрипт, смотреть MSDN на предмет функции типа FindDomainUserByXXX()

   Гений 1С

13 — 15.01.07 — 18:34

(12) а почему 1це это не умеет, это у всех не умеет (запустите обработку с проклаба «manage users», она не показывает пользователя, или только у меня на 12 релизе, при моей структуре домена???

   shachneff

14 — 15.01.07 — 18:37

(13) Уточни вопрос. Что нужно получить на выходе?

   shachneff

15 — 15.01.07 — 18:42

1С хранит ссылку на пользователя домена (или просто компьютера) в виде GUID. Это самый обычный GUID, являющийся UID пользователя в некой среде. Каждый раз, когда в списке пользователей ты обращаешься к этой ссылке, в текущей системе производится поиск имени пользователя по GUID. В случае, если ссылка разрешена, имя и домен отображаются.
Если в домене удалить юзера, либо лишить ваш компьютер доступа к домену, на пользователя которого указывала ссылка, ядро 1С не сможет разрешить ссылку и покажет GUID.
Существует множество решений на Дельфи или на С++, которые помогают вытащить ссылку на юзера по его UID (или SID).

   shachneff

16 — 15.01.07 — 18:44

а еще интересно, как 1С разрешает эту ссылку. Может кто посмотрит таблицу импорта 1С-ки на предмет интересных функций?

   shuhard

17 — 15.01.07 — 21:09

странно , у меня для локального юзера выдает \CFSexcadmin:

МассивЮзеров=ПользователиИнформационнойБазы.ПолучитьПользователей();

   Для Каждого Юзер Из МассивЮзеров Цикл

       Сообщить(Юзер.ПользовательОС);    

  КонецЦикла;

1С:Предприятие 8.0 (8.0.16.2)

   shuhard

18 — 15.01.07 — 22:03

   Гений 1С

19 — 16.01.07 — 10:06

(17) У меня на 12-м релизе не работает этот код, выдает вот такую хрень:

{Форма.Форма(7)}: Ошибка при получении значения атрибута контекста (ПользовательОС): Неудачная попытка найти имя пользователя ОС по системному идентификатору

       Сообщить(Юзер.ПользовательОС);    

по причине:

Неудачная попытка найти имя пользователя ОС по системному идентификатору

   Волшебник

Модератор

20 — 16.01.07 — 10:10

(19) Почему такой древний релиз? На дворе уже 17, кажись

  

Гений 1С

21 — 16.01.07 — 10:11

(20) Проверил, на 8.1 работает. Релиз не от меня зависит… окей, дело именно в релизе. Вопрос исчерпан.

Как быть с атрибутом пользователя ПользовательОС

Я

  

Гений 1С

11.01.07 — 18:03

Господа, помогите, я уже на пределе.

У пользователя атрибут ПользовательОС не считывается, выдает ошибку:

Ошибка при получении значения атрибута контекста (ПользовательОС), хотя в конфигураторе все нормально показывает: Неудачная попытка найти имя пользователя ОС по системному идентификатору

С другой стороны и установить я ее не могу, выдает ошибку.

А как вообще должна выглядеть строка, так:  DOMENLOGIN или как?

Парюсь не-по-детски.

  

Гений 1С

1 — 11.01.07 — 18:20

Зы, по ходу разобрался, дожно быть DOMENLOGIN

  

Гений 1С

2 — 12.01.07 — 10:34

Пардон, господа, разобрался не до конца.

Как получить идентификатор из реквизита ПользовательОС, т.е. там хранится ГУИД, а мне нужно типа DOMENLOGIN

Простое считывание УЗ.ПользовательОС выдает ошибку: Неудачная попытка найти имя пользователя ОС по системному идентификатору

  

ABCD

3 — 12.01.07 — 13:07

АутентификацияОС

А это свойство у тебя установлено?

  

Гений 1С

4 — 12.01.07 — 14:25

(3) Да, установлено. Я научился устанавливать виндоус-аутентификацию, но не могу прочитать текущего пользователя (пишу конфу по назначению прав пользователям в разных базах, их у нас штук 40). Нужно прочиттаь начальное состояние.

  

Гений 1С

5 — 12.01.07 — 18:05

апп

  

Гений 1С

6 — 15.01.07 — 10:27

upp

  

а лю 427

7 — 15.01.07 — 10:28

а головой постучать?

  

Гений 1С

8 — 15.01.07 — 10:46

(7) не помогает

  

Гений 1С

9 — 15.01.07 — 17:01

Ну поможыте же кто-нибудь, придется все логины винды переписывать…

Кстатти обработка «manage users» с проклаба тоже не показывает пользователя ОС.

  

Гений 1С

10 — 15.01.07 — 17:26

ну же, знатоки!

  

Terv

11 — 15.01.07 — 17:40

(2) хм, а я то думал SID

  

shachneff

12 — 15.01.07 — 18:10

Использовать ВК или скрипт, смотреть MSDN на предмет функции типа FindDomainUserByXXX()

  

Гений 1С

13 — 15.01.07 — 18:34

(12) а почему 1це это не умеет, это у всех не умеет (запустите обработку с проклаба «manage users», она не показывает пользователя, или только у меня на 12 релизе, при моей структуре домена???

  

shachneff

14 — 15.01.07 — 18:37

(13) Уточни вопрос. Что нужно получить на выходе?

  

shachneff

15 — 15.01.07 — 18:42

1С хранит ссылку на пользователя домена (или просто компьютера) в виде GUID. Это самый обычный GUID, являющийся UID пользователя в некой среде. Каждый раз, когда в списке пользователей ты обращаешься к этой ссылке, в текущей системе производится поиск имени пользователя по GUID. В случае, если ссылка разрешена, имя и домен отображаются.
Если в домене удалить юзера, либо лишить ваш компьютер доступа к домену, на пользователя которого указывала ссылка, ядро 1С не сможет разрешить ссылку и покажет GUID.
Существует множество решений на Дельфи или на С++, которые помогают вытащить ссылку на юзера по его UID (или SID).

  

shachneff

16 — 15.01.07 — 18:44

а еще интересно, как 1С разрешает эту ссылку. Может кто посмотрит таблицу импорта 1С-ки на предмет интересных функций?

  

shuhard

17 — 15.01.07 — 21:09

странно , у меня для локального юзера выдает CFSexcadmin:

МассивЮзеров=ПользователиИнформационнойБазы.ПолучитьПользователей();

   Для Каждого Юзер Из МассивЮзеров Цикл

       Сообщить(Юзер.ПользовательОС);    

  КонецЦикла;

1С:Предприятие 8.0 (8.0.16.2)

  

shuhard

18 — 15.01.07 — 22:03

  

Гений 1С

19 — 16.01.07 — 10:06

(17) У меня на 12-м релизе не работает этот код, выдает вот такую хрень:

{Форма.Форма(7)}: Ошибка при получении значения атрибута контекста (ПользовательОС): Неудачная попытка найти имя пользователя ОС по системному идентификатору

       Сообщить(Юзер.ПользовательОС);    

по причине:

Неудачная попытка найти имя пользователя ОС по системному идентификатору

  

Волшебник

Модератор

20 — 16.01.07 — 10:10

(19) Почему такой древний релиз? На дворе уже 17, кажись

  

Гений 1С

21 — 16.01.07 — 10:11

(20) Проверил, на 8.1 работает. Релиз не от меня зависит… окей, дело именно в релизе. Вопрос исчерпан.

Содержание:

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

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

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

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

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

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

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

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

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

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

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

Создание пользователя

Автор lonselot, 21 сен 2015, 22:22

0 Пользователей и 1 гость просматривают эту тему.

Не создается новый пользователь. Учебная версия — 1С:Предприятие 8.3, учебная версия (8.3.5.1248).
Ошибка :
         Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
{ОбщийМодуль.Пользователи.Модуль(1107)}: Ошибка при получении значения атрибута контекста (ПользовательОС)
               Если Приемник[Свойство] <> ЗначениеСвойства Тогда
по причине:
Информация о пользователях операционной системы недоступна


Видимо вы его создаете с галочкой «Аутентификация операционной системы» создавайте с «Аутентификация 1С Предприятие»


Цитата: SkyNetYar от 21 сен 2015, 23:28
Видимо вы его создаете с галочкой «Аутентификация операционной системы» создавайте с «Аутентификация 1С Предприятие»
Аутентификация ОС отключена, стоит аутентификация 1с все равно ошибка.
Может в уч.версии нельзя пользователей создавать?


А ну да учебная же..
ОГРАНИЧЕНИЯ И ОСОБЕННОСТИ УЧЕБНОЙ ВЕРСИИ
ограничено количество данных:
максимальное количество записей в таблицах счетов 500;
максимальное количество записей в главных таблицах объектов 200;
количество записей в табличных частях объектов 1000;
количество записей в наборах записей 1000;
не поддерживается работа в варианте клиент-сервер;
не поддерживается работа распределенных информационных баз;
не поддерживается COM-соединение;
отсутствует возможность использования паролей и аутентификации операционной системы для пользователей;
печать и сохранение табличных документов поддерживаются только в режиме Конфигуратора;
не поддерживается копирование содержимого более чем одной ячейки табличного документа в режиме «1С:Предприятия»;
быстродействие учебной версии ниже, чем у коммерческой версии «1С:Предприятие 8.2»;
не поддерживается работа с хранилищем конфигурации;
не доступна функциональность, связанная с поставкой конфигурации;
количество одновременных сеансов работы с информационной базой ограничено одним сеансом.


Теги:

  • Форум 1С

  • Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4

  • Установка и администрирование 1С Предприятие 8

  • Создание пользователя

Похожие темы (5)

Рейтинг@Mail.ru

Rambler's Top100

Поиск

Господа, помогите, я уже на пределе. У пользователя атрибут ПользовательОС не считывается, выдает ошибку: Ошибка при получении значения атрибута контекста (ПользовательОС), хотя в конфигураторе все нормально показывает: Неудачная попытка найти имя пользователя ОС по системному идентификатору С другой стороны и установить я ее не могу, выдает ошибку. А как вообще должна выглядеть строка, так:  DOMENLOGIN или как? Парюсь не-по-детски.

Зы, по ходу разобрался, дожно быть DOMENLOGIN

Пардон, господа, разобрался не до конца. Как получить идентификатор из реквизита ПользовательОС, т.е. там хранится ГУИД, а мне нужно типа DOMENLOGIN Простое считывание УЗ.ПользовательОС выдает ошибку: Неудачная попытка найти имя пользователя ОС по системному идентификатору

АутентификацияОС А это свойство у тебя установлено?

Да, установлено. Я научился устанавливать виндоус-аутентификацию, но не могу прочитать текущего пользователя (пишу конфу по назначению прав пользователям в разных базах, их у нас штук 40). Нужно прочиттаь начальное состояние.

Ну поможыте же кто-нибудь, придется все логины винды переписывать… Кстатти обработка «manage users» с проклаба тоже не показывает пользователя ОС.

Использовать ВК или скрипт, смотреть MSDN на предмет функции типа FindDomainUserByXXX

а почему 1це это не умеет, это у всех не умеет (запустите обработку с проклаба «manage users», она не показывает пользователя, или только у меня на 12 релизе, при моей структуре домена???

Уточни вопрос. Что нужно получить на выходе?

1С хранит ссылку на пользователя домена (или просто компьютера) в виде GUID. Это самый обычный GUID, являющийся UID пользователя в некой среде. Каждый раз, когда в списке пользователей ты обращаешься к этой ссылке, в текущей системе производится поиск имени пользователя по GUID. В случае, если ссылка разрешена, имя и домен отображаются. Если в домене удалить юзера, либо лишить ваш компьютер доступа к домену, на пользователя которого указывала ссылка, ядро 1С не сможет разрешить ссылку и покажет GUID. Существует множество решений на Дельфи или на С++, которые помогают вытащить ссылку на юзера по его UID (или SID).

а еще интересно, как 1С разрешает эту ссылку. Может кто посмотрит таблицу импорта 1С-ки на предмет интересных функций?

странно , у меня для локального юзера выдает CFSexcadmin:

и я не один такой удачливый

У меня на 12-м релизе не работает этот код, выдает вот такую хрень: {Форма.Форма}: Ошибка при получении значения атрибута контекста (ПользовательОС): Неудачная попытка найти имя пользователя ОС по системному идентификатору по причине: Неудачная попытка найти имя пользователя ОС по системному идентификатору

Почему такой древний релиз? На дворе уже 17, кажись

Проверил, на 8.1 работает. Релиз не от меня зависит… окей, дело именно в релизе. Вопрос исчерпан.

Тэги:

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

Ошибка при получении значения атрибута контекста (ТекущийПользователь)

bless18
06.04.2010 09:32 Прочитано: 49820

Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь;
по причине:
Попытка получения неинициализированного значения параметра сеансаКод 1C v 8.х

 Процедура ПриНачалеРаботыСистемы()
Пользователь = ПараметрыСеанса.ТекущийПользователь;
Если обЗначениеНеЗаполнено(Пользователь.Сотрудник) Тогда
ИмяПользователя = СокрЛП(Пользователь.Наименование);
Иначе
ИмяПользователя = СокрЛП(Пользователь.Сотрудник.Наименование);
КонецЕсли;
Предупреждение("Здравствуйте уважаемый пользователь """+ИмяПользователя+"""
|Система готова к работе.", 3);
КонецПроцедуры

Где происходит их инициализация?

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
06.04.2010 09:48 Ответ № 1

Когда в Общие — Параметры сеанса добавил ТекущийПользователь, то его нужно определять при загрузке:
так же в процедуре ПриНачалеРаботыСистемы пишешь что то типо:
Код 1C v 8.х

 ИмяПользователя = ИмяПользователя();
Если Не ПустаяСтрока(ИмяПользователя) Тогда
ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(ИмяПользователя);
КонецЕсли;
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;

Это работает при условии, что ИмяПользователя заданное в конфигураторе, равно Имени введенному в справочнике Пользователей в реквизит Код

bless18
06.04.2010 09:56 Ответ № 2

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

E_Migachev
06.04.2010 09:57 Ответ № 3

А лучше добавить процедуру в Модуль сеанса(Правой клавишей щелкаещь на названии конфигурации и выбираешь Открыть модуль сеанса)

В ней создаешь Процедура УстановкаПараметровСеанса () и в ней пишешь код который я предложил выше или так, Если не совпадают:

Код 1C v 8.х

 Процедура УстановкаПараметровСеанса()
Спр = Справочники.Сотрудники;
ПараметрыСеанса.ТекущийПользователь=Спр.НайтиПоРеквизиту("Пользователь1С", ИмяПользователя());
КонецПроцедуры
//где Пользователь1С, это реквизит справочника сотрудники, и именем как вбито в конфигураторе

Эта процедура вызывается раньше чем ПриНачалеРаботыСистемы.

Ну а дальше подставлять сопоставленное значение при создании соответствующего документа:

Код 1C v 8.х

  Док.Пользователь=ПараметрыСеанса.Пользователь;   

События модуля сеанса:
Глобальный контекст
УстановкаПараметровСеанса (SessionParametersSetting)
Синтаксис:
УстановкаПараметровСеанса(<Требуемые параметры>)
Параметры:
<Требуемые параметры>
Тип: Массив; Неопределено. Массив устанавливаемых идентификаторов параметров сеанса, которые нужно инициализировать, если обработчик вызывается перед использованием неинициализированных параметров сеанса.
Неопределено, если обработчик события вызывается системой при начале сеанса или при захвате соединения из пула.
Описание:
Событие предназначено для инициализации параметров сеанса.
Вызывается системой:
при установке соединения с информационной базой или при захвате соединения с информационной базой из пула до вызова всех остальных обработчиков. Значение параметра «Параметры сеанса» — Неопределено;
перед фактическим использованием значений параметров сеанса, которые не были инициализированы ранее. В этом случае значением параметра «Параметры сеанса» является массив идентификаторов неинициализированных параметров сеанса, значения которых используются. Если после выполнения обработчика хотя бы один из перечисленных параметров сеанса остается неинициализированным, то возникает исключение.

bless18
06.04.2010 12:13 Ответ № 4

Спасибо вам огромное! Вы мне очень помогли!

bless18
06.04.2010 12:15 Ответ № 5

Спасибо вам огромное! Вы мне очень помогли!

E_Migachev
06.04.2010 15:44 Ответ № 6

Пожалуйста )

Подсказка: Вы получили ответ на свой вопрос — закройте вопрос!

Ошибка в 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С 8.3 с официального сайта, поставил, развернул демо-базу «Управление небольшой фирмой», и вот что он мне выдает при запуске под пользователем «Администратор»:

Платформа: 1С:Предприятие 8.3, учебная версия (8.3.4.482)
Конфигурация: Управление небольшой фирмой (учебная), редакция 1.4 (1.4.8.7) (http://v8.1c.ru/small/)
Copyright © ООО «1C», 2012. Все права защищены
(http://www.1c.ru)
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Версия 8.2

Ошибки:
———————————————————————————
21.10.2014 12:55:03
{ОбщийМодуль.Пользователи.Модуль(620)}: Ошибка при вызове метода контекста (Записать)
Пользователь.Записать();
по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
{ОбщийМодуль.Пользователи.Модуль(1138)}: Ошибка при получении значения атрибута контекста (ПользовательОС)
ЗначениеСвойства = Источник[Свойство];
по причине:
Информация о пользователях операционной системы недоступна

ОС: Win 8.1 Professional, x64. Запуск проводится в режиме совместимости с Win 8.

Обращение в ТП по адресу «hline@1c.ru»результатов не дало, т.к. они, по всей видимости, с частными пользователями не работают, только с организациями. Кто-нибудь сталкивался с похожей проблемой? Попытка найти решение в поисковиках дала результат «у вас битый релиз, скачайте новый», только вот где его взять, раз на официальном сайте он проблемный
При этом, демо-конфигурация «8 занятий» запускается без проблем.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

Содержание:

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

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

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

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

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

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

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

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

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

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

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

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

Всем привет.
Скачал учебную версию 1С 8.3 с официального сайта, поставил, развернул демо-базу «Управление небольшой фирмой», и вот что он мне выдает при запуске под пользователем «Администратор»:

Платформа: 1С:Предприятие 8.3, учебная версия (8.3.4.482)
Конфигурация: Управление небольшой фирмой (учебная), редакция 1.4 (1.4.8.7) (http://v8.1c.ru/small/)
Copyright © ООО «1C», 2012. Все права защищены
(http://www.1c.ru)
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Версия 8.2

Ошибки:
———————————————————————————
21.10.2014 12:55:03
{ОбщийМодуль.Пользователи.Модуль(620)}: Ошибка при вызове метода контекста (Записать)
Пользователь.Записать();
по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
{ОбщийМодуль.Пользователи.Модуль(1138)}: Ошибка при получении значения атрибута контекста (ПользовательОС)
ЗначениеСвойства = Источник[Свойство];
по причине:
Информация о пользователях операционной системы недоступна

ОС: Win 8.1 Professional, x64. Запуск проводится в режиме совместимости с Win 8.

Обращение в ТП по адресу «hline@1c.ru»результатов не дало, т.к. они, по всей видимости, с частными пользователями не работают, только с организациями. Кто-нибудь сталкивался с похожей проблемой? Попытка найти решение в поисковиках дала результат «у вас битый релиз, скачайте новый», только вот где его взять, раз на официальном сайте он проблемный
При этом, демо-конфигурация «8 занятий» запускается без проблем.

Ошибка при получении значения атрибута контекста (ТекущийПользователь)

bless18
06.04.2010 09:32 Прочитано: 51587

Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь;
по причине:
Попытка получения неинициализированного значения параметра сеансаКод 1C v 8.х

 Процедура ПриНачалеРаботыСистемы()
Пользователь = ПараметрыСеанса.ТекущийПользователь;
Если обЗначениеНеЗаполнено(Пользователь.Сотрудник) Тогда
ИмяПользователя = СокрЛП(Пользователь.Наименование);
Иначе
ИмяПользователя = СокрЛП(Пользователь.Сотрудник.Наименование);
КонецЕсли;
Предупреждение("Здравствуйте уважаемый пользователь """+ИмяПользователя+"""
|Система готова к работе.", 3);
КонецПроцедуры

Где происходит их инициализация?

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
06.04.2010 09:48 Ответ № 1

Когда в Общие — Параметры сеанса добавил ТекущийПользователь, то его нужно определять при загрузке:
так же в процедуре ПриНачалеРаботыСистемы пишешь что то типо:
Код 1C v 8.х

 ИмяПользователя = ИмяПользователя();
Если Не ПустаяСтрока(ИмяПользователя) Тогда
ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(ИмяПользователя);
КонецЕсли;
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;

Это работает при условии, что ИмяПользователя заданное в конфигураторе, равно Имени введенному в справочнике Пользователей в реквизит Код

bless18
06.04.2010 09:56 Ответ № 2

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

E_Migachev
06.04.2010 09:57 Ответ № 3

А лучше добавить процедуру в Модуль сеанса(Правой клавишей щелкаещь на названии конфигурации и выбираешь Открыть модуль сеанса)

В ней создаешь Процедура УстановкаПараметровСеанса () и в ней пишешь код который я предложил выше или так, Если не совпадают:

Код 1C v 8.х

 Процедура УстановкаПараметровСеанса()
Спр = Справочники.Сотрудники;
ПараметрыСеанса.ТекущийПользователь=Спр.НайтиПоРеквизиту("Пользователь1С", ИмяПользователя());
КонецПроцедуры
//где Пользователь1С, это реквизит справочника сотрудники, и именем как вбито в конфигураторе

Эта процедура вызывается раньше чем ПриНачалеРаботыСистемы.

Ну а дальше подставлять сопоставленное значение при создании соответствующего документа:

Код 1C v 8.х

  Док.Пользователь=ПараметрыСеанса.Пользователь;   

События модуля сеанса:
Глобальный контекст
УстановкаПараметровСеанса (SessionParametersSetting)
Синтаксис:
УстановкаПараметровСеанса(<Требуемые параметры>)
Параметры:
<Требуемые параметры>
Тип: Массив; Неопределено. Массив устанавливаемых идентификаторов параметров сеанса, которые нужно инициализировать, если обработчик вызывается перед использованием неинициализированных параметров сеанса.
Неопределено, если обработчик события вызывается системой при начале сеанса или при захвате соединения из пула.
Описание:
Событие предназначено для инициализации параметров сеанса.
Вызывается системой:
при установке соединения с информационной базой или при захвате соединения с информационной базой из пула до вызова всех остальных обработчиков. Значение параметра «Параметры сеанса» — Неопределено;
перед фактическим использованием значений параметров сеанса, которые не были инициализированы ранее. В этом случае значением параметра «Параметры сеанса» является массив идентификаторов неинициализированных параметров сеанса, значения которых используются. Если после выполнения обработчика хотя бы один из перечисленных параметров сеанса остается неинициализированным, то возникает исключение.

bless18
06.04.2010 12:13 Ответ № 4

Спасибо вам огромное! Вы мне очень помогли!

bless18
06.04.2010 12:15 Ответ № 5

Спасибо вам огромное! Вы мне очень помогли!

E_Migachev
06.04.2010 15:44 Ответ № 6

Пожалуйста )

Подсказка: Вы получили ответ на свой вопрос — закройте вопрос!

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