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

Содержание:

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

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

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

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

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

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

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

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

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

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

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

Содержание:

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

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

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

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

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

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

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

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

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

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

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

  

RomaH

26.02.07 — 14:31

УПП 124

Права пользователя

в запросе получаю ссылку на физ лицо

и код типа:

Выборка.ФизЛицо.Наименование пишет что нет прав

Хотя если в запросе получить Наименование и обратится

Выборка.ФизЛицоНаименование

то все ок

  

AntonioS

1 — 26.02.07 — 14:36

в каком контексте Выборка.ФизЛицо.Наименование делаешь?

нужен код

  

RomaH

2 — 26.02.07 — 14:40

Функция ПолучитьТаблицуРегистраторов(МассивПараметров) Экспорт

   Запрос = Новый Запрос;

   Запрос.Текст=»

   |ВЫБРАТЬ РАЗРЕШЕННЫЕ

   |    ТаблицаРегистраторов.Регистратор                КАК Регистратор,

   |    ТаблицаРегистраторов.ПодразделениеОрганизации    КАК Подразделение,

   |    ТаблицаРегистраторов.Должность                    КАК Должность,

   |    Совмещение.ДатаНачала                            КАК ДатаНач,

   |    Совмещение.ДатаОкончания                        КАК ДатаКон,

   |    Совмещение.ПричинаВременногоПеревода            КАК Причина,

   |    Совмещение.ФизЛицоЗамещаемое                    КАК ПричинаФизЛицо,

   |    Совмещение.ФизЛицоЗамещаемое.Наименование       КАК ПричинаФизЛицоНаименование,    

   |    ТаблицаРегистраторов.РазмерОборот               КАК Результат

   |ИЗ

   |    (ВЫБРАТЬ

   |        НадбавкиЗаСовмещение.Регистратор КАК Регистратор,

   |        НадбавкиЗаСовмещение.ПодразделениеОрганизации КАК ПодразделениеОрганизации,

   |        НадбавкиЗаСовмещение.Должность КАК Должность,

   |        НадбавкиЗаСовмещение.Приказ КАК Приказ,

   |        СУММА(НадбавкиЗаСовмещение.РазмерОборот) КАК РазмерОборот

   |    ИЗ

   |        РегистрНакопления.ЕТС_НадбавкиЗаСовмещение.Обороты(

   |            ,

   |            &ДатаКон,

   |            Регистратор,

   |            ВидРасчетаИзмерение = &Совмещение

   |                И ФизЛицо = &ФизЛицо

   |                И Приказ = &Приказ) КАК НадбавкиЗаСовмещение

   |    

   |    СГРУППИРОВАТЬ ПО

   |        НадбавкиЗаСовмещение.Регистратор,

   |        НадбавкиЗаСовмещение.Приказ,

   |        НадбавкиЗаСовмещение.ПодразделениеОрганизации,

   |        НадбавкиЗаСовмещение.Должность) КАК ТаблицаРегистраторов

   |

   |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЕТС_Совмещение.РаботникиОрганизации КАК Совмещение

   |    ПО    Совмещение.ФизЛицо                    = &ФизЛицо

   |        И ТаблицаРегистраторов.Приказ        = Совмещение.Приказ

   |        И ТаблицаРегистраторов.Регистратор    = Совмещение.Ссылка

   |

   |ГДЕ

   |    ТаблицаРегистраторов.РазмерОборот <> 0

   |

   |УПОРЯДОЧИТЬ ПО

   |    ДатаНачала

   |»;

   Запрос.УстановитьПараметр(«ДатаКон»        ,Новый Граница(КонецДня(Дата),ВидГраницы.Включая));

   Запрос.УстановитьПараметр(«Приказ»        ,МассивПараметров[2]);

   Запрос.УстановитьПараметр(«Совмещение»    ,МассивПараметров[0]);

   Запрос.УстановитьПараметр(«ФизЛицо»        ,МассивПараметров[1]);

   

   Результат = Запрос.Выполнить().Выбрать();

   Возврат Результат;    

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

   Пока Выборка.Следующий() Цикл

        ОбластьДокумента.Параметры.Заполнить(Выборка);

        РегистраторПредставление = ПолучитьПредствалениеДокумента(Выборка.Регистратор);

        ОбластьДокумента.Параметры.РегистраторПредставление = РегистраторПредставление;

        ПричинаФизЛицо = Строка(Выборка.ПричинаФизЛицоНаименование); // ну вот в этом контексте

        ОбластьДокумента.Параметры.ПричинаФизЛицо = омЕТС.Падеж(ПричинаФизЛицо,-2);

       

        ДокументРезультат.Вывести(ОбластьДокумента);

   КонецЦикла;

  

RomaH

3 — 26.02.07 — 14:42

Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных.

        ПричинаФизЛицо = Строка(Выборка.ПричинаФизЛицо.Наименование);

по причине:

У пользователя недостаточно прав на исполнение операции над базой данных.

  

Rovan

4 — 26.02.07 — 14:43

(2) у тебя же ФИзЛицо — это параметр запроса, а не поле выборки

  

RomaH

5 — 26.02.07 — 14:48

(4) ты меня не путай

   |    Совмещение.ФизЛицоЗамещаемое                    КАК ПричинаФизЛицо,

   |    Совмещение.ФизЛицоЗамещаемое.Наименование       КАК ПричинаФизЛицоНаименование,

  

RomaH

6 — 26.02.07 — 15:11

Функция ФамилияИнициалыФизЛица(Объект = «», Фамилия = » «, Имя = » «, Отчество = » «) Экспорт

   ТипОбъекта = ТипЗнч(Объект);

   Если ТипОбъекта = Тип(«Строка») Тогда

       ФИО = омОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект),» «);

   ИначеЕсли ТипОбъекта = Тип(«СправочникСсылка.ФизическиеЛица») или ТипОбъекта = Тип(«СправочникОбъект.ФизическиеЛица») Тогда

       ФИО = омОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект.Наименование),» «);

   Иначе

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

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

       ФИО = омОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект.Наименование),» «);

… а может платформа новая глючит ?

  

Woppi

7 — 26.02.07 — 15:19

А может права запрещают получение какого-либо реквизита ФизЛица? При обращении через точку происходит получение всего объекта, что и вызывает ошибку доступа. А в запросе получается только наименование, поэтому ошибки и нет. И вообще, получение полей объектов через точку от ссылки — плохо.

  

RomaH

8 — 26.02.07 — 15:23

(7) а что с типовым кодом в (6) делать?

  

Woppi

9 — 26.02.07 — 15:24

(8) переписать.

  

RomaH

10 — 26.02.07 — 15:29

угу, в УПП объектов с RLS все го лишь пара сотен

и кода с точкой — переписать пару минут, мне проще платформу назад откатить

  

RomaH

11 — 26.02.07 — 15:29

вобщем — прошу подтверждения — что это глюк платформы

  

RomaH

12 — 26.02.07 — 15:33

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

  

tsr

13 — 26.02.07 — 16:39

Проверил. Работает под правами «Расчетчик»+»Бухгалтер»

  

tsr

14 — 26.02.07 — 16:39

Поточнее напиши, в каком доке ошибка

  

RomaH

15 — 27.02.07 — 07:07

Процедура КнопкаВыполнитьНажатие(Кнопка)

   Спр = Справочники.ФизическиеЛица.НайтиПоКоду(«01150»);

   //Выборка = Спр.Выбрать();

   //Выборка.Следующий(); //вот тут опять же ругается на отсутсвие прав

   
   Выборка =  Спр.Ссылка;

   

   Запрос = Новый Запрос;

   Запрос.Текст = «ВЫБРАТЬ РАЗРЕШЕННЫЕ

                  |    ФизическиеЛица.Ссылка,

                  |    ФизическиеЛица.Наименование

                  |ИЗ

                  |    Справочник.ФизическиеЛица КАК ФизическиеЛица

                  |ГДЕ

                  |    ФизическиеЛица.Ссылка = &Ссылка» ;

                 

   Запрос.УстановитьПараметр(«Ссылка»,Выборка.Ссылка);

   Результат = Запрос.Выполнить().Выбрать();

   
   Результат.Следующий();

   

   Сообщить(Результат.Наименование);

   Сообщить(Выборка.Наименование);

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

выдает:

Иванов Иван Иванович

Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных.

   Сообщить(Выборка.Наименование);

это нормально?

  

RomaH

16 — 27.02.07 — 07:10

оработка запускается с почти типовой ролью «Пользоватль» — добвлены органичения на чтение «данных» — но наименование ограничено типовыми RLS и в запросе я его получить могу, а через точку — нет

соответсвенно весь типовой код типа Функция ФамилияИнициалыФизЛица()

где получаются реквизиты объекта через точку — выдает ошибку

  

RomaH

17 — 27.02.07 — 09:10

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

Процедура КнопкаВыполнитьНажатие(Кнопка)

 //Спр = Справочники.ФизическиеЛица;

 //Выборка = Спр.Выбрать();

 //Выборка.Следующий(); //вот тут опять же ругается на отсутсвие прав

 

 Спр = Справочники.ФизическиеЛица.НайтиПоКоду(«01150»);

 Запрос = Новый Запрос;

 Запрос.Текст = «ВЫБРАТЬ РАЗРЕШЕННЫЕ

  | ФизическиеЛица.Ссылка,

  | ФизическиеЛица.Наименование

  |ИЗ

  | Справочник.ФизическиеЛица КАК ФизическиеЛица

  |ГДЕ

  | ФизическиеЛица.Ссылка = &Ссылка» ;

       

 Запрос.УстановитьПараметр(«Ссылка»,Спр);

 Результат = Запрос.Выполнить().Выбрать();

 
 Результат.Следующий();

 

 Сообщить(Результат.Наименование);

 Попытка

   Сообщить(Спр.Наименование);

 Исключение

   Сообщить(ОписаниеОшибки());

 КонецПопытки;

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

.

РЕЗУЛЬТАТ:

Абдурахманова Равиля Гарафитдиновна

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

  

tsr

18 — 27.02.07 — 09:43

Вобщем понял тебя… Отключай наф..иг РЛС в справочнике Физ.лица. И будет тебе счастье. Я отключил в тот же день, как он там появился. У нас холдинг, и народ мечется из фирмы в фирму. Прописывать права просто устанешь физически и точно напутаешь, поэтому сразу убрали этот глючный РЛС. Тут подход нужен другой. По контрагентам, кстати, такая же фигня. 25000 контрагентов… Сиди прописывай права:) Вселое занятие.

  

RomaH

19 — 27.02.07 — 09:45

(18) большая просьба — проверь это чей глю мне интересно — мой, наш, или 1С?

не могу я RLS отключить — скандал уже был из-за того что кое-кто слишком много видит (образование, семейное положение)

  

tsr

20 — 27.02.07 — 09:47

Не могу проверить, к сожалению. Рабочей базы с этим RLS нет. Убиваю его сразу же при обновлении. У нас больше 1000 чел. И каждый в нескольких фирмах, причем и сами фирмы меняются, добавляются, исчезают. Поэтому отключил нафиг. Права настраиваю на уровне таблиц

  

RomaH

21 — 27.02.07 — 09:52

а на типовой ?

там надо-то добавить физ лицо одно

  

tsr

22 — 27.02.07 — 10:03

Проверил в типовой УПП. Работает твоя процедура из (17).

  

tsr

23 — 27.02.07 — 10:04

Права на какого-то из физлиц нет в группе. Проверь внимательнее

  

RomaH

24 — 27.02.07 — 10:12

не, а почему в запросе я получить наименование могу, а через точку из ссылки — нет?

  

tsr

25 — 27.02.07 — 10:16

Процедура твоя работает. Это пока все, что могу сказать

  

tsr

26 — 27.02.07 — 10:17

Выдает две фамилии

  

tsr

27 — 27.02.07 — 10:18

RLS на чтение из типовой

ФизическиеЛица ГДЕ 1 В

           (ВЫБРАТЬ ПЕРВЫЕ 1

               1

           ИЗ

               РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам

           ГДЕ

               ПраваДоступаПользователейКОбъектам.ОбъектДоступа = ФизическиеЛица.Ссылка

               И

               ПраваДоступаПользователейКОбъектам.ОбластьДанных = &ОбластьДанныхФизическиеЛица

               И

               ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя)

               И

               ПраваДоступаПользователейКОбъектам.Чтение = ИСТИНА)

  

RomaH

28 — 27.02.07 — 15:08

вобщем да … глюк не последнего релиза — аналогичная ситуация и на 8.1.5

проблема существует — проверить можно на типовой УПП 124 — 125

проблема со справочниками где … ограничений стоит более чем два

например спр. контрагенты

ограничение на чтение списка и на чтение данных

тот же самый код но про контрагентов на типовой выдаст ошибку которую выдавал у меня на физ лицах (сделал ограничение на доступ к данным физ лиц)

Процедура КнопкаВыполнитьНажатие(Кнопка)

 

 Спр = Справочники.Контрагенты.НайтиПоКоду(«01150»);

 Запрос = Новый Запрос;

 Запрос.Текст = «ВЫБРАТЬ РАЗРЕШЕННЫЕ

  | ФизическиеЛица.Ссылка,

  | ФизическиеЛица.Наименование

  |ИЗ

  | Справочник.Контрагенты КАК ФизическиеЛица

  |ГДЕ

  | ФизическиеЛица.Ссылка = &Ссылка» ;

       

 Запрос.УстановитьПараметр(«Ссылка»,Спр);

 Результат = Запрос.Выполнить().Выбрать();

 
 Результат.Следующий();

 

 Сообщить(Результат.Наименование);

 Попытка

   Сообщить(Спр.Наименование);

 Исключение

   Сообщить(ОписаниеОшибки());

 КонецПопытки;

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

  

RomaH

29 — 27.02.07 — 15:11

самое страшное что 1С за ошибку это не признает

это ж надо что-то будет думать про ограничение доступа для типовых для справочников типа физ лиц

если для контрагентов в типовой возможно и нет обращений типа Ссылка.Наименование

то для физ лиц навалом

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

да и про контрагентов надо помнить что через точку низя…

  

RomaH

30 — 27.02.07 — 15:40

а как такой код на типовой УПП на 8.0 отрабатывает?

  

RomaH

31 — 27.02.07 — 16:02

на 8.0 аналогично

так что это — глюк или фича?

  

RomaH

32 — 28.02.07 — 14:48

так и есть — ответили что ве описано в ИТС и ничего делать не будут

как же тогда ограничивать чтение данных у справочников?

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

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

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

Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь;
по причине:
Попытка получения неинициализированного значения параметра сеансаКод 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)

Konstantan

1 / 1 / 1

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

Сообщений: 74

1

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

11.10.2018, 12:33. Показов 5662. Ответов 3

Метки нет (Все метки)


1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Процедура УдалениеСтрокНажатие(Элемент)
    
    Запрос = Новый Запрос;  
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
    Запрос.Текст =
    "ВЫБРАТЬ
    |   РеализацияТоваровУслугТовары.Ссылка
    |ИЗ
    |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |ГДЕ
    |   РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура";
    
    Выборка = Запрос.Выполнить();
    МассивТоваров=новый Массив; 
    Значения= Выборка.Выбрать();
    Пока Значения.Следующий() Цикл
        ссылка = Значения.ссылка ;
        ДокументОбъект = ссылка.ПолучитьОбъект();
        i=0;
        Для каждого ТекСтрока Из ДокументОбъект.Товары Цикл
            Если ТекСтрока.Номенклатура = Номенклатура Тогда
                МассивТоваров.Добавить(ТекСтрока);
                Сообщить("Значение: "+ ТекСтрока.Номенклатура +" подходит!"); 
                i=i+1
            Иначе
                Сообщить("Значение: "+ТекСтрока.Номенклатура+ " не подходит!");
            КонецЕсли
        КонецЦикла;
        Для  каждого ТекСтрокаМас Из    МассивТоваров Цикл
            Если Вопрос("Удалить строку со значением  " + ТекСтрокаМас.Номенклатура + "?" ,РежимДиалогаВопрос.ДаНет,15)=КодВозвратаДиалога.Да Тогда
                
                
                ДокументОбъект.Товары.Удалить(ТекСтрокаМас);
                
                
                Сообщить("Строка удалена!");
            Иначе
                Сообщить("Отмена удаления!");
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    
    
КонецПроцедуры

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

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

0

Тест

Эксперт 1С

383 / 162 / 56

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

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

11.10.2018, 12:44

2

В каком месте то ошибка происходит?

0

856 / 655 / 111

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

Сообщений: 2,410

11.10.2018, 13:36

3

Полный текст ошибки выложите

0

Эксперт 1С

841 / 604 / 211

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

Сообщений: 2,101

11.10.2018, 20:10

4

Лучший ответ Сообщение было отмечено GreenkA как решение

Решение

Konstantan, МассивТоваров не очищается перед обработкой следующего документа.

2

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

Ошибка при выполнении обработчика — ‘ОбработкаПроведения'<br>по причине:<br>{Документ.ПлановыеНазначения.МодульОбъекта(181)}: Ошибка при получении значения атрибута контекста (НаименованиеПолное)<br><br>по причине:<br>В данной транзакции уже происходили ошибки!

Prikum

активный пользователь

онлайн

Дата регистрации: 18.02.2002
Сообщений: 20834

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

Бухгалтерия государственного учреждения, редакция 1.0 (1.0.20.5)

chernikova_irina

Дата регистрации: 16.08.2010
Сообщений: 527

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

1С:Предприятие 8.2 (8.2.16.363)

chernikova_irina

Дата регистрации: 16.08.2010
Сообщений: 527

Можно readme прочитать хотя бы:<br>ВНИМАНИЕ!С версии 1.0.18 конфигурацию «Бухгалтерия государственного учреждения», редакция 1.0, следует использовать с версией системы 1С:Предприятие не ниже 8.2.18.

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

Обновили платформу, ошибка не пропала

Денис (САМАРА)

Дата регистрации: 09.04.2008
Сообщений: 8351

Да это и понятно было, что не из-за платформы эта ошибка.

chernikova_irina

Дата регистрации: 16.08.2010
Сообщений: 527

А еще, видимо была ошибка «Код …… в заданном периоде …… не уникальный»…<br>Меняйте статью плана, чтобы такой не было в справочнике КПС.

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

ок, спасибо все поправили

Показывать по
10
20
40
сообщений

Права пользователя в запросе получаю ссылку на физ лицо и код типа: Выборка.ФизЛицо.Наименование пишет что нет прав Хотя если в запросе получить Наименование и обратится Выборка.ФизЛицоНаименование то все ок

в каком контексте Выборка.ФизЛицо.Наименование делаешь?

Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных. по причине: У пользователя недостаточно прав на исполнение операции над базой данных.

у тебя же ФИзЛицо — это параметр запроса, а не поле выборки

{ОбщийМодуль.омПроцедурыУправленияПерсоналом(1124)}: Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных. … а может платформа новая глючит ?

А может права запрещают получение какого-либо реквизита ФизЛица? При обращении через точку происходит получение всего объекта, что и вызывает ошибку доступа. А в запросе получается только наименование, поэтому ошибки и нет. И вообще, получение полей объектов через точку от ссылки — плохо.

а что с типовым кодом в делать?

угу, в УПП объектов с RLS все го лишь пара сотен и кода с точкой — переписать пару минут, мне проще платформу назад откатить

вобщем — прошу подтверждения — что это глюк платформы

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

Проверил. Работает под правами «Расчетчик»+»Бухгалтер»

Поточнее напиши, в каком доке ошибка

выдает: Иванов Иван Иванович Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных.

оработка запускается с почти типовой ролью «Пользоватль» — добвлены органичения на чтение «данных» — но наименование ограничено типовыми RLS и в запросе я его получить могу, а через точку — нет соответсвенно весь типовой код типа Функция ФамилияИнициалыФизЛица где получаются реквизиты объекта через точку — выдает ошибку

более оптимизированный код для воспроизведения ошибки: . РЕЗУЛЬТАТ: Абдурахманова Равиля Гарафитдиновна {Форма.Форма}: Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных.

Вобщем понял тебя… Отключай наф..иг РЛС в справочнике Физ.лица. И будет тебе счастье. Я отключил в тот же день, как он там появился. У нас холдинг, и народ мечется из фирмы в фирму. Прописывать права просто устанешь физически и точно напутаешь, поэтому сразу убрали этот глючный РЛС. Тут подход нужен другой. По контрагентам, кстати, такая же фигня. 25000 контрагентов… Сиди прописывай права:) Вселое занятие.

большая просьба — проверь это чей глю мне интересно — мой, наш, или 1С? не могу я RLS отключить — скандал уже был из-за того что кое-кто слишком много видит (образование, семейное положение)

Не могу проверить, к сожалению. Рабочей базы с этим RLS нет. Убиваю его сразу же при обновлении. У нас больше 1000 чел. И каждый в нескольких фирмах, причем и сами фирмы меняются, добавляются, исчезают. Поэтому отключил нафиг. Права настраиваю на уровне таблиц

а на типовой ? там надо-то добавить физ лицо одно

Проверил в типовой УПП. Работает твоя процедура из .

Права на какого-то из физлиц нет в группе. Проверь внимательнее

не, а почему в запросе я получить наименование могу, а через точку из ссылки — нет?

Процедура твоя работает. Это пока все, что могу сказать

RLS на чтение из типовой ФизическиеЛица ГДЕ 1 В            (ВЫБРАТЬ ПЕРВЫЕ 1                1            ИЗ                РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам

вобщем да … глюк не последнего релиза — аналогичная ситуация и на 8.1.5 проблема существует — проверить можно на типовой УПП 124 — 125 проблема со справочниками где … ограничений стоит более чем два например спр. контрагенты ограничение на чтение списка и на чтение данных тот же самый код но про контрагентов на типовой выдаст ошибку которую выдавал у меня на физ лицах (сделал ограничение на доступ к данным физ лиц)

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

а как такой код на типовой УПП на 8.0 отрабатывает?

на 8.0 аналогично так что это — глюк или фича?

так и есть — ответили что ве описано в ИТС и ничего делать не будут как же тогда ограничивать чтение данных у справочников? напрмер теже физ лица что бы не могли кому не надо читать дату рождения, стажи, образование, семейное положение и проч?

Тэги:

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

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

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

  2. Offline

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

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

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

  3. Offline

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

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

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

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

  4. Offline

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

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

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

  5. Offline

    vitaly_mnpz
    Опытный в 1С

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

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

  6. Offline

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

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

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

  7. Offline

    AndreyNag
    Опытный в 1С

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

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

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

Текущие данные таблицы недоступны на сервере

Автор kaidj, 22 ноя 2015, 12:59

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

Доброго времени суток уважаемые гуру!!! Такая проблема:
Имеется табличная часть «Товары» Формы Документа «Продажа»
Её реквизиты:
— Номенклатура (СправочникСсылка.Номенклатура)
— Упаковка (СправочникСсылка.Упаковка)
— Количество (Число)
— ЦенаУпаковки (Число)
— Цена (Число)
Имеется справочник Упаковка
Имеется справочник Номенклатура с табличной частью «ЦенаЗаУпаковку»
реквизиты ТЧ:
— Упаковка (СправочникСсылка.Упаковка)
— Цена (Число)

Нужно при заполнении «Номенклатура», «Упаковка», «Количество» что бы автоматически заполнялись реквизиты:
— «ЦенаУпаковки» (из Справочник.Упаковка ТЧ ЦенаЗаУпаковку реквизит «Цена»)
— «Цена» (умножить автоматически заполненый реквизит «ЦенаУпаковки» на заполненый реквизит «Количество»)
в общем я под эту задачу наваял такой «код»

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
      ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
      ТекущаяСтрока.ЦенаУпаковки = НайтиНоменклатуру(ТекущаяСтрока.Номенклатура);
      ТекущаяСтрока.Цена = ТекущаяСтрока.ЦенаУпаковки * ТекущаяСтрока.Количество;
      // Вставить содержимое обработчика.
КонецПроцедуры
Функция НайтиНоменклатуру(Номенклатура)
      ТекущаяСтрока = Элементы.Товары.ТекущиеДанные.Упаковка;
      Запрос = новый Запрос;
      Запрос.Текст = «ВЫБРАТЬ
                     |      Номенклатура.ЦенаЗаУпаковку.(
                     |            Цена
                     |      )
                     |ИЗ
                     |      Справочник.Номенклатура КАК Номенклатура
                     |ГДЕ
                     |    Номенклатура.Ссылка = &Номенклатура
                     |И Номенклатура.ЦенаЗаУпаковку.Ссылка = &ТекущаяСтрока»;
        Запрос.УстановитьПараметр(«Номенклатура», Номенклатура);
        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
              Если Выборка.Следующий() Тогда
              Возврат Выборка.Объем;
        КонецЕсли;
        Возврат 0; // или 1
КонецФункции

в итоге выдает ошибку:

{Документ.Продажа.Форма.ФормаДокумента.Форма(43)}: Ошибка при получении значения атрибута контекста (ТекущиеДанные)      ТекущаяСтрока = Элементы.Товары.ТекущиеДанные.Упаковка;по причине:Текущие данные таблицы недоступны на сервереТекущие данные таблицы недоступны на сервере


1) перед функцией поставить директиву компиляции &наСервереБезКонтекста.
2) первую строчку из функции убрать, номенклатура в параметрах передается.
3) что за «Объем» в выборке? вроде в запросе такого нет.

4) исправить то что выше и сказать на что ругается дальше =)


о. тока хотел начертать…

Добавлено: 22 ноя 2015, 21:12


Но самое интересное это передача файлов туда сюда!

Помог? Нажми — Спасибо :)
skype: Soprov1C


ваще жесть!

1. для поиска цены упаковки надо в функцию отправить не только номенклатуру, но и упаковку. а не получать ее (упаковку) внутри функции!
2. WTF???

Цитата: kaidj от 22 ноя 2015, 12:59Запрос.Текст = «ВЫБРАТЬ
                     |      Номенклатура.ЦенаЗаУпаковку.(
                     |            Цена
                     |      )
                     |ИЗ
                     |      Справочник.Номенклатура КАК Номенклатура
                     |ГДЕ
                     |    Номенклатура.Ссылка = &Номенклатура
                     |И Номенклатура.ЦенаЗаУпаковку.Ссылка = &ТекущаяСтрока»;
        Запрос.УстановитьПараметр(«Номенклатура», Номенклатура);

Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


А что в запросе можно функцию сразу писать?)))

Типа ПолучитьДанные(Док.Код) как Данные

» Номенклатура.ЦенаЗаУпаковку.(
                     |            Цена
                     |      )» Что это?)):lol:


Цитата: Sinsinmin от 23 ноя 2015, 08:40
А что в запросе можно функцию сразу писать?)))

Типа ПолучитьДанные(Док.Код) как Данные

» Номенклатура.ЦенаЗаУпаковку.(
                     |            Цена
                     |      )» Что это?)):lol:

скобки появились в конструкторе запроса (цена — это реквизит табличной части справочника)

Добавлено: 23 ноя 2015, 10:13


ну в общем как то так:

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
      ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
      Упаковка=Элементы.Товары.ТекущиеДанные.Упаковка;
      ТекущаяСтрока.ЦенаУпаковки = НайтиНоменклатуру(ТекущаяСтрока.Номенклатура,Упаковка);
      ТекущаяСтрока.Цена = ТекущаяСтрока.ЦенаУпаковки * ТекущаяСтрока.Количество;
      // Вставить содержимое обработчика.
КонецПроцедуры
Функция НайтиНоменклатуру(Номенклатура,ТекущаяСтрока)
      //ТекущаяСтрока = Элементы.Товары.ТекущиеДанные.Упаковка;
      Запрос = новый Запрос;
      Запрос.Текст = "ВЫБРАТЬ
                     |      Номенклатура.ЦенаЗаУпаковку.(
                     |            Цена
                     |      )
                     |ИЗ
                     |      Справочник.Номенклатура КАК Номенклатура
                     |ГДЕ
                     |    Номенклатура.Ссылка = &Номенклатура
                     |И Номенклатура.ЦенаЗаУпаковку.Ссылка = &ТекущаяСтрока";
        Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("ТекущаяСтрока", ТекущаяСтрока);
        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
              Если Выборка.Следующий() Тогда
              Возврат Выборка.ЦенаЗаУпаковку.Цена;
        КонецЕсли;
        Возврат 0; // или 1
КонецФункции

ошибки в этом случае не выдает, но и не заполняет элемент строки «ЦенаУпаковки»

Добавлено: 23 ноя 2015, 11:04


ИТОГ вот такой:

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
      ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
      Упаковка=Элементы.Товары.ТекущиеДанные.Упаковка;
      ТекущаяСтрока.ЦенаУпаковки = НайтиНоменклатуру(ТекущаяСтрока.Номенклатура,Упаковка);
      ТекущаяСтрока.Цена = ТекущаяСтрока.ЦенаУпаковки * ТекущаяСтрока.Количество;
      // Вставить содержимое обработчика.
КонецПроцедуры
Функция НайтиНоменклатуру(Номенклатура,Упаковка)
      //ТекущаяСтрока = Элементы.Товары.ТекущиеДанные.Упаковка;
      Запрос = новый Запрос;
      Запрос.Текст = "ВЫБРАТЬ
                     |      Номенклатура.ЦенаЗаУпаковку.Цена
                     |   
                     |ИЗ
                     |      Справочник.Номенклатура КАК Номенклатура
                     |ГДЕ
                     |    Номенклатура.Ссылка = &Номенклатура
                     |И Номенклатура.ЦенаЗаУпаковку.Упаковка.Ссылка = &Упаковка";
        Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("Упаковка", Упаковка);
        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
              Если Выборка.Следующий() Тогда
              Возврат Выборка.Цена;
        КонецЕсли;
        Возврат 0; // или 1
КонецФункции

ОШИБКА: {Документ.Продажа.Форма.ФормаДокумента.Форма(59)}: Поле объекта не обнаружено (Цена)
              Возврат Выборка.Цена;


«ВЫБРАТЬ
                     |      Номенклатура.ЦенаЗаУпаковку.Цена КАК Цена


Цитата: vitasw от 23 ноя 2015, 11:14
«ВЫБРАТЬ
                     |      Номенклатура.ЦенаЗаУпаковку.Цена КАК Цена

{Документ.Продажа.Форма.ФормаДокумента.Форма(15)}: Ошибка при вызове метода контекста (НайтиНоменклатуру)
  ТекущаяСтрока.ЦенаУпаковки = НайтиНоменклатуру(ТекущаяСтрока.Номенклатура,Упаковка);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘ret’:
   форма: Элемент
   имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘РезультатЗапроса’


ЛЮДИ!!! Опомнитесь!!! :xfbnsdfb:

kaidj, думайте, о том ЧТО вы делаете и ДЛЯ ЧЕГО!!!
програмировать — это не просто наваял запрос и гуляй Вася!

вот же…

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
      СтрокаТЧ = Элементы.Товары.ТекущиеДанные;
      СтрокаТЧ.ЦенаУпаковки = ПолучитьЦенуУпаковки(СтрокаТЧ.Номенклатура, СтрокаТЧ.Упаковка); //научитесь сразу давать методам логичные названия!
      СтрокаТЧ.Цена = СтрокаТЧ.ЦенаУпаковки * СтрокаТЧ.Количество;
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьЦенуУпаковки(Номенклатура, Упаковка)
      Запрос = новый Запрос;
      Запрос.Текст = "ВЫБРАТЬ
                     |      НоменклатураЦенаЗаУпаковку.Цена КАК Цена
                     |ИЗ
                     |      Справочник.Номенклатура.ЦенаЗаУпаковку КАК НоменклатураЦенаЗаУпаковку //в качестве основной таблицы сразу берем ТЧ ЦенаЗаУпаковку!
                     |ГДЕ
                     |    НоменклатураЦенаЗаУпаковку.Ссылка = &Номенклатура
                     |    И НоменклатураЦенаЗаУпаковку.Упаковка = &Упаковка";
        Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
        Запрос.УстановитьПараметр("Упаковка", Упаковка);
        РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Если ВыборкаДетальныеЗаписи.Следующий() Тогда
Возврат ВыборкаДетальныеЗаписи.Цена;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции

как-то так. не проверял.

Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


Очень замечательно, что вы научились копипастить ошибки. А попробовать самому подумать/разобраться?
Результатом выполнения этого запроса = вложенный запрос, что естественно вызывает ошибку? Какую из ста тыщ пятьсот строк в таблице цен номенклатуры вы хотите получить?


Права пользователя в запросе получаю ссылку на физ лицо и код типа: Выборка.ФизЛицо.Наименование пишет что нет прав Хотя если в запросе получить Наименование и обратится Выборка.ФизЛицоНаименование то все ок

в каком контексте Выборка.ФизЛицо.Наименование делаешь?

Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных. по причине: У пользователя недостаточно прав на исполнение операции над базой данных.

у тебя же ФИзЛицо — это параметр запроса, а не поле выборки

{ОбщийМодуль.омПроцедурыУправленияПерсоналом(1124)}: Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных. … а может платформа новая глючит ?

А может права запрещают получение какого-либо реквизита ФизЛица? При обращении через точку происходит получение всего объекта, что и вызывает ошибку доступа. А в запросе получается только наименование, поэтому ошибки и нет. И вообще, получение полей объектов через точку от ссылки — плохо.

а что с типовым кодом в делать?

угу, в УПП объектов с RLS все го лишь пара сотен и кода с точкой — переписать пару минут, мне проще платформу назад откатить

вобщем — прошу подтверждения — что это глюк платформы

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

Проверил. Работает под правами «Расчетчик»+»Бухгалтер»

Поточнее напиши, в каком доке ошибка

выдает: Иванов Иван Иванович Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных.

оработка запускается с почти типовой ролью «Пользоватль» — добвлены органичения на чтение «данных» — но наименование ограничено типовыми RLS и в запросе я его получить могу, а через точку — нет соответсвенно весь типовой код типа Функция ФамилияИнициалыФизЛица где получаются реквизиты объекта через точку — выдает ошибку

более оптимизированный код для воспроизведения ошибки: . РЕЗУЛЬТАТ: Абдурахманова Равиля Гарафитдиновна {Форма.Форма}: Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных.

Вобщем понял тебя… Отключай наф..иг РЛС в справочнике Физ.лица. И будет тебе счастье. Я отключил в тот же день, как он там появился. У нас холдинг, и народ мечется из фирмы в фирму. Прописывать права просто устанешь физически и точно напутаешь, поэтому сразу убрали этот глючный РЛС. Тут подход нужен другой. По контрагентам, кстати, такая же фигня. 25000 контрагентов… Сиди прописывай права:) Вселое занятие.

большая просьба — проверь это чей глю мне интересно — мой, наш, или 1С? не могу я RLS отключить — скандал уже был из-за того что кое-кто слишком много видит (образование, семейное положение)

Не могу проверить, к сожалению. Рабочей базы с этим RLS нет. Убиваю его сразу же при обновлении. У нас больше 1000 чел. И каждый в нескольких фирмах, причем и сами фирмы меняются, добавляются, исчезают. Поэтому отключил нафиг. Права настраиваю на уровне таблиц

а на типовой ? там надо-то добавить физ лицо одно

Проверил в типовой УПП. Работает твоя процедура из .

Права на какого-то из физлиц нет в группе. Проверь внимательнее

не, а почему в запросе я получить наименование могу, а через точку из ссылки — нет?

Процедура твоя работает. Это пока все, что могу сказать

RLS на чтение из типовой ФизическиеЛица ГДЕ 1 В            (ВЫБРАТЬ ПЕРВЫЕ 1                1            ИЗ                РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам

вобщем да … глюк не последнего релиза — аналогичная ситуация и на 8.1.5 проблема существует — проверить можно на типовой УПП 124 — 125 проблема со справочниками где … ограничений стоит более чем два например спр. контрагенты ограничение на чтение списка и на чтение данных тот же самый код но про контрагентов на типовой выдаст ошибку которую выдавал у меня на физ лицах (сделал ограничение на доступ к данным физ лиц)

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

а как такой код на типовой УПП на 8.0 отрабатывает?

на 8.0 аналогично так что это — глюк или фича?

так и есть — ответили что ве описано в ИТС и ничего делать не будут как же тогда ограничивать чтение данных у справочников? напрмер теже физ лица что бы не могли кому не надо читать дату рождения, стажи, образование, семейное положение и проч?

Тэги:

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

   RomaH

26.02.07 — 14:31

УПП 124

Права пользователя

в запросе получаю ссылку на физ лицо

и код типа:

Выборка.ФизЛицо.Наименование пишет что нет прав

Хотя если в запросе получить Наименование и обратится

Выборка.ФизЛицоНаименование

то все ок

   AntonioS

1 — 26.02.07 — 14:36

в каком контексте Выборка.ФизЛицо.Наименование делаешь?

нужен код

   RomaH

2 — 26.02.07 — 14:40

Функция ПолучитьТаблицуРегистраторов(МассивПараметров) Экспорт

   Запрос = Новый Запрос;

   Запрос.Текст=»

   |ВЫБРАТЬ РАЗРЕШЕННЫЕ

   |    ТаблицаРегистраторов.Регистратор                КАК Регистратор,

   |    ТаблицаРегистраторов.ПодразделениеОрганизации    КАК Подразделение,

   |    ТаблицаРегистраторов.Должность                    КАК Должность,

   |    Совмещение.ДатаНачала                            КАК ДатаНач,

   |    Совмещение.ДатаОкончания                        КАК ДатаКон,

   |    Совмещение.ПричинаВременногоПеревода            КАК Причина,

   |    Совмещение.ФизЛицоЗамещаемое                    КАК ПричинаФизЛицо,

   |    Совмещение.ФизЛицоЗамещаемое.Наименование       КАК ПричинаФизЛицоНаименование,    

   |    ТаблицаРегистраторов.РазмерОборот               КАК Результат

   |ИЗ

   |    (ВЫБРАТЬ

   |        НадбавкиЗаСовмещение.Регистратор КАК Регистратор,

   |        НадбавкиЗаСовмещение.ПодразделениеОрганизации КАК ПодразделениеОрганизации,

   |        НадбавкиЗаСовмещение.Должность КАК Должность,

   |        НадбавкиЗаСовмещение.Приказ КАК Приказ,

   |        СУММА(НадбавкиЗаСовмещение.РазмерОборот) КАК РазмерОборот

   |    ИЗ

   |        РегистрНакопления.ЕТС_НадбавкиЗаСовмещение.Обороты(

   |            ,

   |            &ДатаКон,

   |            Регистратор,

   |            ВидРасчетаИзмерение = &Совмещение

   |                И ФизЛицо = &ФизЛицо

   |                И Приказ = &Приказ) КАК НадбавкиЗаСовмещение

   |    

   |    СГРУППИРОВАТЬ ПО

   |        НадбавкиЗаСовмещение.Регистратор,

   |        НадбавкиЗаСовмещение.Приказ,

   |        НадбавкиЗаСовмещение.ПодразделениеОрганизации,

   |        НадбавкиЗаСовмещение.Должность) КАК ТаблицаРегистраторов

   |

   |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЕТС_Совмещение.РаботникиОрганизации КАК Совмещение

   |    ПО    Совмещение.ФизЛицо                    = &ФизЛицо

   |        И ТаблицаРегистраторов.Приказ        = Совмещение.Приказ

   |        И ТаблицаРегистраторов.Регистратор    = Совмещение.Ссылка

   |

   |ГДЕ

   |    ТаблицаРегистраторов.РазмерОборот <> 0

   |

   |УПОРЯДОЧИТЬ ПО

   |    ДатаНачала

   |»;

   Запрос.УстановитьПараметр(«ДатаКон»        ,Новый Граница(КонецДня(Дата),ВидГраницы.Включая));

   Запрос.УстановитьПараметр(«Приказ»        ,МассивПараметров[2]);

   Запрос.УстановитьПараметр(«Совмещение»    ,МассивПараметров[0]);

   Запрос.УстановитьПараметр(«ФизЛицо»        ,МассивПараметров[1]);

   
   Результат = Запрос.Выполнить().Выбрать();

   Возврат Результат;    

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

   Пока Выборка.Следующий() Цикл

        ОбластьДокумента.Параметры.Заполнить(Выборка);

        РегистраторПредставление = ПолучитьПредствалениеДокумента(Выборка.Регистратор);

        ОбластьДокумента.Параметры.РегистраторПредставление = РегистраторПредставление;

        ПричинаФизЛицо = Строка(Выборка.ПричинаФизЛицоНаименование); // ну вот в этом контексте

        ОбластьДокумента.Параметры.ПричинаФизЛицо = омЕТС.Падеж(ПричинаФизЛицо,-2);

       
        ДокументРезультат.Вывести(ОбластьДокумента);

   КонецЦикла;

   RomaH

3 — 26.02.07 — 14:42

Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных.

        ПричинаФизЛицо = Строка(Выборка.ПричинаФизЛицо.Наименование);

по причине:

У пользователя недостаточно прав на исполнение операции над базой данных.

   Rovan

4 — 26.02.07 — 14:43

(2) у тебя же ФИзЛицо — это параметр запроса, а не поле выборки

   RomaH

5 — 26.02.07 — 14:48

(4) ты меня не путай

   |    Совмещение.ФизЛицоЗамещаемое                    КАК ПричинаФизЛицо,

   |    Совмещение.ФизЛицоЗамещаемое.Наименование       КАК ПричинаФизЛицоНаименование,

   RomaH

6 — 26.02.07 — 15:11

Функция ФамилияИнициалыФизЛица(Объект = «», Фамилия = » «, Имя = » «, Отчество = » «) Экспорт

   ТипОбъекта = ТипЗнч(Объект);

   Если ТипОбъекта = Тип(«Строка») Тогда

       ФИО = омОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект),» «);

   ИначеЕсли ТипОбъекта = Тип(«СправочникСсылка.ФизическиеЛица») или ТипОбъекта = Тип(«СправочникОбъект.ФизическиеЛица») Тогда

       ФИО = омОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект.Наименование),» «);

   Иначе

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

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

       ФИО = омОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект.Наименование),» «);

… а может платформа новая глючит ?

   Woppi

7 — 26.02.07 — 15:19

А может права запрещают получение какого-либо реквизита ФизЛица? При обращении через точку происходит получение всего объекта, что и вызывает ошибку доступа. А в запросе получается только наименование, поэтому ошибки и нет. И вообще, получение полей объектов через точку от ссылки — плохо.

   RomaH

8 — 26.02.07 — 15:23

(7) а что с типовым кодом в (6) делать?

   Woppi

9 — 26.02.07 — 15:24

(8) переписать.

   RomaH

10 — 26.02.07 — 15:29

угу, в УПП объектов с RLS все го лишь пара сотен

и кода с точкой — переписать пару минут, мне проще платформу назад откатить

   RomaH

11 — 26.02.07 — 15:29

вобщем — прошу подтверждения — что это глюк платформы

   RomaH

12 — 26.02.07 — 15:33

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

   tsr

13 — 26.02.07 — 16:39

Проверил. Работает под правами «Расчетчик»+»Бухгалтер»

   tsr

14 — 26.02.07 — 16:39

Поточнее напиши, в каком доке ошибка

   RomaH

15 — 27.02.07 — 07:07

Процедура КнопкаВыполнитьНажатие(Кнопка)

   Спр = Справочники.ФизическиеЛица.НайтиПоКоду(«01150»);

   //Выборка = Спр.Выбрать();

   //Выборка.Следующий(); //вот тут опять же ругается на отсутсвие прав

   
   Выборка =  Спр.Ссылка;

   
   Запрос = Новый Запрос;

   Запрос.Текст = «ВЫБРАТЬ РАЗРЕШЕННЫЕ

                  |    ФизическиеЛица.Ссылка,

                  |    ФизическиеЛица.Наименование

                  |ИЗ

                  |    Справочник.ФизическиеЛица КАК ФизическиеЛица

                  |ГДЕ

                  |    ФизическиеЛица.Ссылка = &Ссылка» ;

                 
   Запрос.УстановитьПараметр(«Ссылка»,Выборка.Ссылка);

   Результат = Запрос.Выполнить().Выбрать();

   
   Результат.Следующий();

   
   Сообщить(Результат.Наименование);

   Сообщить(Выборка.Наименование);

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

выдает:

Иванов Иван Иванович

Ошибка при получении значения атрибута контекста (Наименование): У пользователя недостаточно прав на исполнение операции над базой данных.

   Сообщить(Выборка.Наименование);

это нормально?

   RomaH

16 — 27.02.07 — 07:10

оработка запускается с почти типовой ролью «Пользоватль» — добвлены органичения на чтение «данных» — но наименование ограничено типовыми RLS и в запросе я его получить могу, а через точку — нет

соответсвенно весь типовой код типа Функция ФамилияИнициалыФизЛица()

где получаются реквизиты объекта через точку — выдает ошибку

   RomaH

17 — 27.02.07 — 09:10

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

Процедура КнопкаВыполнитьНажатие(Кнопка)

 //Спр = Справочники.ФизическиеЛица;

 //Выборка = Спр.Выбрать();

 //Выборка.Следующий(); //вот тут опять же ругается на отсутсвие прав

 
 Спр = Справочники.ФизическиеЛица.НайтиПоКоду(«01150»);

 Запрос = Новый Запрос;

 Запрос.Текст = «ВЫБРАТЬ РАЗРЕШЕННЫЕ

  | ФизическиеЛица.Ссылка,

  | ФизическиеЛица.Наименование

  |ИЗ

  | Справочник.ФизическиеЛица КАК ФизическиеЛица

  |ГДЕ

  | ФизическиеЛица.Ссылка = &Ссылка» ;

       
 Запрос.УстановитьПараметр(«Ссылка»,Спр);

 Результат = Запрос.Выполнить().Выбрать();

 
 Результат.Следующий();

 
 Сообщить(Результат.Наименование);

 Попытка

   Сообщить(Спр.Наименование);

 Исключение

   Сообщить(ОписаниеОшибки());

 КонецПопытки;

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

.

РЕЗУЛЬТАТ:

Абдурахманова Равиля Гарафитдиновна

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

   tsr

18 — 27.02.07 — 09:43

Вобщем понял тебя… Отключай наф..иг РЛС в справочнике Физ.лица. И будет тебе счастье. Я отключил в тот же день, как он там появился. У нас холдинг, и народ мечется из фирмы в фирму. Прописывать права просто устанешь физически и точно напутаешь, поэтому сразу убрали этот глючный РЛС. Тут подход нужен другой. По контрагентам, кстати, такая же фигня. 25000 контрагентов… Сиди прописывай права:) Вселое занятие.

   RomaH

19 — 27.02.07 — 09:45

(18) большая просьба — проверь это чей глю мне интересно — мой, наш, или 1С?

не могу я RLS отключить — скандал уже был из-за того что кое-кто слишком много видит (образование, семейное положение)

   tsr

20 — 27.02.07 — 09:47

Не могу проверить, к сожалению. Рабочей базы с этим RLS нет. Убиваю его сразу же при обновлении. У нас больше 1000 чел. И каждый в нескольких фирмах, причем и сами фирмы меняются, добавляются, исчезают. Поэтому отключил нафиг. Права настраиваю на уровне таблиц

   RomaH

21 — 27.02.07 — 09:52

а на типовой ?

там надо-то добавить физ лицо одно

   tsr

22 — 27.02.07 — 10:03

Проверил в типовой УПП. Работает твоя процедура из (17).

   tsr

23 — 27.02.07 — 10:04

Права на какого-то из физлиц нет в группе. Проверь внимательнее

   RomaH

24 — 27.02.07 — 10:12

не, а почему в запросе я получить наименование могу, а через точку из ссылки — нет?

   tsr

25 — 27.02.07 — 10:16

Процедура твоя работает. Это пока все, что могу сказать

   tsr

26 — 27.02.07 — 10:17

Выдает две фамилии

   tsr

27 — 27.02.07 — 10:18

RLS на чтение из типовой

ФизическиеЛица ГДЕ 1 В

           (ВЫБРАТЬ ПЕРВЫЕ 1

               1

           ИЗ

               РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам

           ГДЕ

               ПраваДоступаПользователейКОбъектам.ОбъектДоступа = ФизическиеЛица.Ссылка

               И

               ПраваДоступаПользователейКОбъектам.ОбластьДанных = &ОбластьДанныхФизическиеЛица

               И

               ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя)

               И

               ПраваДоступаПользователейКОбъектам.Чтение = ИСТИНА)

   RomaH

28 — 27.02.07 — 15:08

вобщем да … глюк не последнего релиза — аналогичная ситуация и на 8.1.5

проблема существует — проверить можно на типовой УПП 124 — 125

проблема со справочниками где … ограничений стоит более чем два

например спр. контрагенты

ограничение на чтение списка и на чтение данных

тот же самый код но про контрагентов на типовой выдаст ошибку которую выдавал у меня на физ лицах (сделал ограничение на доступ к данным физ лиц)

Процедура КнопкаВыполнитьНажатие(Кнопка)

 
 Спр = Справочники.Контрагенты.НайтиПоКоду(«01150»);

 Запрос = Новый Запрос;

 Запрос.Текст = «ВЫБРАТЬ РАЗРЕШЕННЫЕ

  | ФизическиеЛица.Ссылка,

  | ФизическиеЛица.Наименование

  |ИЗ

  | Справочник.Контрагенты КАК ФизическиеЛица

  |ГДЕ

  | ФизическиеЛица.Ссылка = &Ссылка» ;

       
 Запрос.УстановитьПараметр(«Ссылка»,Спр);

 Результат = Запрос.Выполнить().Выбрать();

 
 Результат.Следующий();

 
 Сообщить(Результат.Наименование);

 Попытка

   Сообщить(Спр.Наименование);

 Исключение

   Сообщить(ОписаниеОшибки());

 КонецПопытки;

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

   RomaH

29 — 27.02.07 — 15:11

самое страшное что 1С за ошибку это не признает

это ж надо что-то будет думать про ограничение доступа для типовых для справочников типа физ лиц

если для контрагентов в типовой возможно и нет обращений типа Ссылка.Наименование

то для физ лиц навалом

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

да и про контрагентов надо помнить что через точку низя…

   RomaH

30 — 27.02.07 — 15:40

а как такой код на типовой УПП на 8.0 отрабатывает?

   RomaH

31 — 27.02.07 — 16:02

на 8.0 аналогично

так что это — глюк или фича?

  

RomaH

32 — 28.02.07 — 14:48

так и есть — ответили что ве описано в ИТС и ничего делать не будут

как же тогда ограничивать чтение данных у справочников?

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

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

Ошибка при выполнении обработчика — ‘ОбработкаПроведения'<br>по причине:<br>{Документ.ПлановыеНазначения.МодульОбъекта(181)}: Ошибка при получении значения атрибута контекста (НаименованиеПолное)<br><br>по причине:<br>В данной транзакции уже происходили ошибки!

Prikum

активный пользователь

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20883

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

Бухгалтерия государственного учреждения, редакция 1.0 (1.0.20.5)

chernikova_irina

Дата регистрации: 16.08.2010
Сообщений: 527

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

1С:Предприятие 8.2 (8.2.16.363)

chernikova_irina

Дата регистрации: 16.08.2010
Сообщений: 527

Можно readme прочитать хотя бы:<br>ВНИМАНИЕ!С версии 1.0.18 конфигурацию «Бухгалтерия государственного учреждения», редакция 1.0, следует использовать с версией системы 1С:Предприятие не ниже 8.2.18.

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

Обновили платформу, ошибка не пропала

Денис (САМАРА)

Дата регистрации: 09.04.2008
Сообщений: 8351

Да это и понятно было, что не из-за платформы эта ошибка.

chernikova_irina

Дата регистрации: 16.08.2010
Сообщений: 527

А еще, видимо была ошибка «Код …… в заданном периоде …… не уникальный»…<br>Меняйте статью плана, чтобы такой не было в справочнике КПС.

Lika06333

Дата регистрации: 15.07.2013
Сообщений: 5

ок, спасибо все поправили

Показывать по
10
20
40
сообщений

Читают тему:

  • Ошибка при получении значения атрибута контекста историяработыпользователя
  • Ошибка при получении значения атрибута контекста дата
  • Ошибка при получении значения атрибута контекста данныеключасессииисмп
  • Ошибка при покупке ps plus e 8210604a подписки
  • Ошибка при поиске сети теле2