Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
15.05.14 — 16:46
БП 3.0
Тонкий клиент
Права: группа ролей Бухгалтер
Необходимо выполнить создание элемента справочника «Договоры контрагентов», но при попытке выполнить нижеприведённый код возникает ошибка : «Не удалось записать «Договор Контрагента»!».
&НаСервере
Процедура КомандаСоздатьДоговорНаСервере()
Договор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент ();
Договор.Владелец = Справочники.Контрагенты.НайтиПоКоду («000027477»);
Договор.Наименование = «0100059144»;
Договор.Организация = Справочники.Организации.НайтиПоКоду («000000001»);
Договор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
Договор.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоКоду («978»);
Договор.РасчетыВУсловныхЕдиницах = Истина;
Договор.Валютный = Истина;
Договор.Записать ();
КонецПроцедуры
Тот же вариант со справочником «Номенклатура» возваращает «Нарушение прав доступа.
&НаСервере
Процедура КомандаСоздатьТоварНаСервере()
СпрТовары = Справочники.Номенклатура.СоздатьЭлемент ();
СпрТовары.Наименование = «123456789»;
СпрТовары.Записать ();
КонецПроцедуры
Если тоже самое выполнить с полными права — всё работает. Подскажите, как создавать элементы справочников под ролями Бухгалтеров в БП3.0?
ПС. Не посылайте в яндекс или гугл.
1 — 15.05.14 — 16:47
дать прав пробовал?
2 — 15.05.14 — 16:49
А в чем глубинный смысл создавать один договор программно?
3 — 15.05.14 — 17:02
(1) Если тоже самое выполнить с полными права — всё работает. (2) Договора, как и товары создаются пачками в мегамодулях. Я всего лишь привёл простой пример проблемного кода.
4 — 15.05.14 — 17:04
Рлс глянь, права дай
5 — 15.05.14 — 17:04
(3) Кури настройки ролей.
6 — 15.05.14 — 17:05
После ругни смотришь на что ругается и добавляешь в права.
7 — 15.05.14 — 17:05
(3) а от нас чего хочешь?
8 — 15.05.14 — 17:05
Если не изменяет память там есть отдельная роль на работу/запись с Нормативно справочной информаций (или просто Справочной информацией). Дай пользователю эту роль.
9 — 15.05.14 — 17:06
УстановитьПревилигированныйрежим
10 — 15.05.14 — 17:06
*смотришь в журнале регистрации
11 — 15.05.14 — 17:06
(9) фу. ты этим ртом потом хлебушек будешь кушать
12 — 15.05.14 — 17:07
(11) Какой вопрос, такой ответ…
13 — 15.05.14 — 17:11
(4) Давал разные права, но работает только с полными правами.
14 — 15.05.14 — 17:12
(7) От вас лично ничего. Но вопрос я задал вполне конкретно: «Подскажите, как создавать элементы справочников под ролями Бухгалтеров в БП3.0?»
15 — 15.05.14 — 17:14
(14) лично я не знаю, и мне поровну. а сам найти ответ не хочешь
16 — 15.05.14 — 17:14
+(15) ?
17 — 15.05.14 — 17:16
(15) (16) Понятно, что всем или многим поровно. Искал, читал, у 1С спрашивал (и они даже ответили через 3 часа). Нигде ничего…
18 — 15.05.14 — 17:17
только разве вЖР не ходил
19 — 15.05.14 — 17:18
установить привилегированный режим
20 — 15.05.14 — 17:19
(8) Роли выданные пользователю: «Добавление и изменение базовой нормативно-справочной информации», «Добавление и изменение общей базовой нормативно-справочной информации», «Добавление и изменение общей бухгалтерской нормативно-справочной информации»
21 — 15.05.14 — 17:21
(9) (19) Не помогло
22 — 15.05.14 — 17:22
(18) а ЖР это вкуда?
23 — 15.05.14 — 17:22
(20) установлено ли ограничение доступа по уровням записей? Если да, то были ли запущены регламентная обработка после этого и были ли установлены соответствующие разрешения?
24 — 15.05.14 — 17:22
(22) журнал регистрации я так предполагаю.
25 — 15.05.14 — 17:24
(21) во внешней обработке конечно не поможет
26 — 15.05.14 — 17:26
(5) Курил, только в теории получается что все права уже есть: у пользователя установлена роль «Добавление и изменение данных бухгалтерии», а у этой роли есть и создание и изменение элементов справочника.
27 — 15.05.14 — 17:32
(10) (24) ЖР — оказывается полезная весчь. Вот что он мне сказал:
{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(87)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)
Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда
по причине:
Нарушение прав доступа!
28 — 15.05.14 — 17:33
(27) можешь не благодарить
29 — 15.05.14 — 17:36
(28) Не, не. За это спасибо! Я и не думал что от него такая польза…
30 — 15.05.14 — 17:39
(27) Вот только зайти туда дебагером не смогу. С ограниченными правами туда не пустят в конфигуратор, а с полными ошибка не появляется…
31 — 15.05.14 — 17:50
(30) надо как-то заставить запустить отладку от имени ущербного юзера
32 — 15.05.14 — 17:58
(31) Дал пользователю много прав. Запустил конфигуратор из под него. Отнял права. Запустил тонкий клиент. Дал права — подключил клиента к отладке. Он выдал много новых сообщений, но мои точки остановка в обоначенных местах продинамил.
{Форма.Форма.Форма(155)}: Ошибка при вызове метода контекста (Записать)
СпрТовары.Записать ();
по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(477)}: Ошибка при получении значения атрибута контекста (ИспользуемыеПланыОбмена)
СпрТовары.Записать ();
по причине:
Нарушение прав доступа!
по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(477)}: Ошибка при получении значения атрибута контекста (ИспользуемыеПланыОбмена)
по причине:
Нарушение прав доступа!
{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(477)}: Ошибка при получении значения атрибута контекста (ИспользуемыеПланыОбмена)
Если ПараметрыСеанса.ИспользуемыеПланыОбмена.Количество() > 0 Тогда
по причине:
Нарушение прав доступа!
Нарушение прав доступа!
33 — 15.05.14 — 18:03
Попробуй создать роль, где всем справочникам, регистрам и документам назначить только права на программную запись и чтения. Таким образом, интерактивно шаловливыми ручками он не сможет что либо натворить, а программа под его правами сможет сделать.
34 — 15.05.14 — 18:39
(33) Мне нельзя править конфу. Ни под каким предлогом. Это как бы условие обязательное.
35 — 16.05.14 — 11:27
(31) Запустил от ущербного пользователя. Создал файловую локальную базу. Дал права администратора. Запустил конфигуратор. Отнял права администратора. Запустил толстый клиент (управляемое приложение). И уже 10 минут тыкаю F11.
36 — 16.05.14 — 11:36
37 — 16.05.14 — 11:43
(36) Это я итак знаю и сделал. Но спасибо за участие.
38 — 16.05.14 — 11:46
(35) В итоге я нашел источник ошибки. Я правда не знаю пока почему туда входит выполнение.
Насколько я понял у пользователя нет прав сюда:
Если ПараметрыСеанса.ИспользуемыеПланыОбмена.Количество() > 0 Тогда
39 — 16.05.14 — 11:47
>Нарушение прав доступа! Ошибка при получении значения атрибута контекста (ИспользуемыеПланыОбмена)
кажется, да. но я не уверен
40 — 16.05.14 — 11:49
(39) Именно на этом месте деббагер останавливается и появляется ошибка. Теперь думаю какие из стандартных прав позволят обойти это.
41 — 16.05.14 — 12:01
ну расскажи, каким ролям это позволено, не молчи 😉
42 — 16.05.14 — 12:04
(41) Кто знает в БП 3.0 весь доступ поделён на кучу ролей в конфигураторе, а в конфигурации (режим предприятие) есть пять групп ролей. Это предыстория. Так вот единственная более менее безвредная роль — это администрирование. Я не знаю как и где смотреть доступ к переменной «ПараметрыСеанса», так что могу только предполагать.
43 — 16.05.14 — 12:07
(42) а это совсем ни разу не переменная. даже напротив: это параметры сеанса
44 — 16.05.14 — 12:09
(43) Да, я это уже посмотрел) Оказывается не параметрах сеанса дело… Потому что у роли Администрирование тоже нет доступа к «Параметрам сеанса».
45 — 16.05.14 — 12:13
(44) то что «Потому что у роли Администрирование тоже нет доступа к «Параметрам сеанса».» ничего не следует.
46 — 16.05.14 — 12:17
(45) Возможно, но с этой ролью в дополнение к группе ролей Бухгалтер — всё работает.
47 — 16.05.14 — 12:25
что за группа ролей такая?
48 — 16.05.14 — 12:31
Проблема не в Параметрах сеанса. Что-то другое мешает. С простыми правами я получаю отказ на изменение данных в процедуре «ПередЗаписью». С дополнением роли Администрирование — не получаю отказа…
49 — 16.05.14 — 12:43
Я нашёл (надеюсь) место проблемное:
ОбменДаннымиВызовСервера.ПроверитьКэшМеханизмаРегистрацииОбъектов ();
Здесь возникает первая ошибка и здесь я получаю отказ. Почему — не знаю…
50 — 16.05.14 — 12:43
а ЖР знает?
51 — 16.05.14 — 12:56
(50) Нет. ЖР знает только это:
{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(87)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)
Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда
по причине:
Нарушение прав доступа!
Целых 5 раз.
52 — 16.05.14 — 12:59
А вот когда выполнение сваливается в исключение как можно посмотреть описание ошибки кроме функции «ОписаниеОшибки ()»? Функция возвращает пусто…
53 — 16.05.14 — 13:08
Я дал пользователю все права кроме «Полных» и «Административных»… и всё равно не получается.
54 — 16.05.14 — 13:08
Плакать хочется… %-)
55 — 16.05.14 — 13:15
но вообще у вас настроен обмен? Всё четко там? Он работает?
56 — 16.05.14 — 13:20
(55) Прошу прощения, но я не совсем понял какой обмен… У нас только одна база, и задача стоит: создавать из внешней обработки товары и договора…
57 — 16.05.14 — 13:25
(56) ну и? не видите, что у вас обмен данными? Если хотите чтобы бухгалтер обмены фигачил между базами, настройте ему обмен.
58 — 16.05.14 — 13:28
(57) Ещё раз. У нас 1 база 1С. В этой базе нужно создать (не загружать, не обмениваться), просто создать по кнопке из внешней обработки договор или товар.
59 — 16.05.14 — 13:31
Вопрос в другом. Почему некоторые элементы параметров сеанса (ПараметрыСеанса) доступны при обращении из внешней обработке, а другие нет? Как не вводя обработку в конфу позволить ей делать всё то, что может делать пользователь, под которым обработка запустилась?
60 — 16.05.14 — 13:40
(0) УстановитьПривилегированныйРежим(Истина) в вашей обработке ещё не предлагали?

61 — 16.05.14 — 13:44
(60) Вот здесь (9) и здесь (19) …
62 — 16.05.14 — 13:47
УстановитьПривилегированныйРежим не будет работать в обработках, которые открываются через файл-открыть и в дополнительных с безопасным режимом, вроде. А следовательно, записать договор не судьба без полных прав. Попробуй поставь небезопасный.
63 — 16.05.14 — 13:48
(62) Прошу прощение: поставить небезопасный что?
64 — 16.05.14 — 13:49
(63) режим. Ты же вроде дополнительную обработку пишешь?
65 — 16.05.14 — 13:51
(64) {Форма.Форма.Форма(142)}: Ошибка при вызове метода контекста (УстановитьБезопасныйРежим)
УстановитьБезопасныйРежим (Ложь);
по причине:
В данной процедуре/ функции не был установлен безопасный режим
66 — 16.05.14 — 13:52
(64) Угу — дополнительную пишу…
67 — 16.05.14 — 13:58
(66) если ты будешь открывать ее через файл-открыть, он не установится никогда. устанавливай в СведенияОВнешнейОбработке() и регистрируй в базе.
68 — 16.05.14 — 14:06
(67) Прошу не бить ногами, но как обработку зарегистрировать в базе?
69 — 16.05.14 — 14:07
(68) Искать в гугле. Вопрос уже давно обсосан до дыр.
70 — 16.05.14 — 14:42
(69) Не помогло…
71 — 16.05.14 — 14:55
72 — 16.05.14 — 14:56
Конкретизирую.
Функция СведенияОВнешнейОбработке() Экспорт
РегистрационныеДанные = Новый Структура();
РегистрационныеДанные.Вставить («Наименование», «Установка»);
РегистрационныеДанные.Вставить («БезопасныйРежим», Истина);
РегистрационныеДанные.Вставить («Версия», «v 1.4»);
РегистрационныеДанные.Вставить («Информация», «v 1.0»);
РегистрационныеДанные.Вставить («Вид», «ДополнительнаяОбработка»);
МассивНазначений = Новый Массив;
МассивНазначений.Добавить («Справочник.*»);
РегистрационныеДанные.Вставить («Назначение», МассивНазначений);
тз = Новый ТаблицаЗначений;
тз.Колонки.Добавить(«Идентификатор»);
тз.Колонки.Добавить(«Использование»);
тз.Колонки.Добавить(«Представление»);
НоваяСтрока = тз.Добавить();
НоваяСтрока.Идентификатор = «ОткрытьОбработку»;
НоваяСтрока.Использование = «ОткрытиеФормы»;
НоваяСтрока.Представление = «Открыть»;
РегистрационныеДанные.Вставить(«Команды», тз);
Возврат РегистрационныеДанные;
КонецФункции
&НаСервере
Процедура Команда1НаСервере()
//УстановитьБезопасныйРежим (Ложь);
УстановитьПривилегированныйРежим (Истина);
СпрТовары = Справочники.Номенклатура.НайтиПоКоду («0085991»).ПолучитьОбъект ();
СпрТовары.Записать ();
КонецПроцедуры
Подключил к базе. Запустил. Та же ошибка.
73 — 16.05.14 — 14:57
(71) Это вы мне предлагаете за 300 рублей решить мою проблему? 🙂 Или за 300 рублей вы мне пароль для файла дадите? 🙂
74 — 16.05.14 — 15:02
(73) эмм.. кому я что говорил..
убери уже УстановитьПривилегированныйРежим и сделай РегистрационныеДанные.Вставить («БезопасныйРежим», Ложь);
75 — 16.05.14 — 15:15
(74) Тестовая обработка отработала. Сейчас перенесу всё в мегамодуль и проверю.
Masi4
76 — 16.05.14 — 15:28
Получилось! Спасибо всем за помощь!
-
добрый день.
Программно создаю документ.
ДокументОбъект = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
ДокументОбъект.Дата = ТекущаяДата();Выдает ошибку: Ошибка при установке значения атрибута контекста (Дата) по причине «Документ не выбран». Что это значит ?
— Объединение сообщений, 16 июл 2014 —
конфигурация УТ для Украины 2.3.18.1
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Где создаете? На сервере, на клиенте ?
-
обычное приложение, на сервер выходит
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Реквизит точно Дата? отладчиком пользоваться можете?
-
да, реквизит дата, с типом дата, это стандартынй реквизит документа. Если вычислить выражение ДокументОбъект.Дата то показывает значение 01010001000000 тип дата
— Объединение сообщений, 16 июл 2014 —
ТекущаяДата() 16.07.2014 11:50:11 Дата
ДокументОбъект.Дата 01.01.0001 0:00:00 Дата
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
У меня все создается нормально…
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Точно на сервере создаете? Отладчиком пройдитесь
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
1) это весь код?
2) Переменную ДокументОбъект переименуйте во что нибудь другое. -
я пытался создать документ рту с модуля формы «чек ккм» , перенес все в общий модуль, и все ок ) спасибо )
Ошибка в 1С 8. Ошибка при получении значения атрибута контекста (ОсновнаяРоль), Недопустимо использование свойства ОсновнаяРоль
Описание ошибки:
Проблема стала возникать после того, как в серверную базу УТ 10.3 был добавлен функционал Библиотеки МДЛП. Ошибка не проявляла себя явно при работе в режиме 1С: Предприятие, но негативно влияла на выполнение некоторых регламентных заданий, так что они аварийно прерывались.
Найденные решения:
{ОбщийМодуль.Пользователи.Модуль(116)}: Ошибка при получении значения атрибута контекста (ОсновнаяРоль)
по причине:
Недопустимо использование свойства «ОсновнаяРоль»
Проблема стала заметна случайно лишь тогда, когда в частности регламентное фоновое задание «Наличие новых ЭД» стало прерываться в процессе своего выполнения из за ошибки.

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

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

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

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

Рис. 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 Метки нет (Все метки)
Сначала выполняется удалет строки из первого документа потом на втором документе вылетает ошибка,что это значит помогите плиииз ничего не пойму
__________________
0 |
|
Тест
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 |
|
841 / 604 / 211 Регистрация: 24.07.2013 Сообщений: 2,101 |
|
|
11.10.2018, 20:10 |
4 |
|
РешениеKonstantan, МассивТоваров не очищается перед обработкой следующего документа.
2 |
Ошибка при получении значения атрибута контекста (ТекущийПользователь)
| bless18 |
|
||
|---|---|---|---|
|
|
Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь; по причине: Попытка получения неинициализированного значения параметра сеансаКод 1C v 8.х
Где происходит их инициализация? |
| Yandex |
|
||
|---|---|---|---|
|
|
| E_Migachev |
|
||
|---|---|---|---|
|
|
Когда в Общие — Параметры сеанса добавил ТекущийПользователь, то его нужно определять при загрузке:
так же в процедуре ПриНачалеРаботыСистемы пишешь что то типо: Код 1C v 8.х
Это работает при условии, что ИмяПользователя заданное в конфигураторе, равно Имени введенному в справочнике Пользователей в реквизит Код |
| bless18 |
|
||
|---|---|---|---|
|
|
А если не совпадают, можно как-нибудб привязать пользователя к сотруднику? |
| E_Migachev |
|
||
|---|---|---|---|
|
|
А лучше добавить процедуру в Модуль сеанса(Правой клавишей щелкаещь на названии конфигурации и выбираешь Открыть модуль сеанса)
В ней создаешь Процедура УстановкаПараметровСеанса () и в ней пишешь код который я предложил выше или так, Если не совпадают: Код 1C v 8.х
Эта процедура вызывается раньше чем ПриНачалеРаботыСистемы. Ну а дальше подставлять сопоставленное значение при создании соответствующего документа: Код 1C v 8.х
События модуля сеанса: |
| bless18 |
|
||
|---|---|---|---|
|
|
Спасибо вам огромное! Вы мне очень помогли! |
| bless18 |
|
||
|---|---|---|---|
|
|
Спасибо вам огромное! Вы мне очень помогли! |
| E_Migachev |
|
||
|---|---|---|---|
|
|
Пожалуйста |
Подсказка: Вы можете добавить любую страничку в Избранное щелкнув по значку ![]() |
Ошибка «Выполнение операции невозможно, так как строка была удалена»
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:
Позволяет прочесть данные заново. Недопустим для нового объекта.
Пример:
(12) Ты умеешь нормально выражать свои мысли? Я спросил в чем разница между картинкой и текстом, информативность одинаковая.
(11) В модуле объекта документа, я СОБРАЛСЯ читать документ
(0)Это происходит потому, что при вызове Прочитать() перечитываются и пересоздаются в памяти все данные документа, в том числе и ТЧ, которую перебираешь.
Комиссия премии Дарвина берет на карандашик программистов, которые пишут такой код.
Ошибка при заполнении документа «Начисление зарплаты»(«Зарплата и кадры» 1.0.45.1)
Здравствуйте!<br>При заполнении сотрудниками документа «Начисление зарплаты» («Зарплата и кадры бюджетного учреждения» 1.0.45.1)<br>появляется такая ошибка:<br>: Ошибка при получении значения атрибута контекста (ВидРасчета) Если Строка.ВидРасчета = Неопределено ИЛИ Строка.ДатаНачала > ДатаОкончания Тогдапо причине:Выполнение операции невозможно, т.к. строка была удалена.<br> <br>Причем мы заметили с помощью подбора сотрудников, что эта ошибка появляется у сотрудников принятых по внутреннему совместительству и уволенных (с внутреннего совместительства) в расчетном периоде. Проверили правильность всех документов — никаких ошибок не увидели. В чем может быть проблема. <br>Пожалуйста подскажите что не так? Спасибо.
Ошибка Обработка.НачислениеПроцентом
Добрый день!
Платформа 1С:Предприятие 8.3 (8.3.15.1830), КАМИН:Расчет заработной платы. Версия 3.0 (3.0.107.5)
проблема имеет место с Версии 3.0 (3.0.107.4)
Ошибка при заполнении документа Начисление простое, используя помощник Начисление процентом — добавление сотрудника.
«: Ошибка при получении значения атрибута контекста (Процент)
п_Стр.Сумма = Окр(п_Стр.База*п_Стр.Процент/100,ОкруглениеСуммы);
по причине:
Выполнение операции невозможно, так как строка была удалена.»
Проблема в обработке Начисление процентом модуль формы
Процедура РассчитатьТаблицу(МассивСтрок,п_ПараметрНоваяСтрока = Ложь)
строка 1857
л_Строка = МассивСтрок[0];
РассчитатьСтроку(л_Строка);
л_Строка ссылается на удаленную строку в ТаблицаОбработки. Строка удаляется в теле процедуры ОпределимБазуПоСтроке(л_Массив, МассивСтрок) ранее.
Дополнительно возможна некорректная работа модуля в Процедура ОпределимБазуПоСтроке(п_СпСотр = Неопределено,п_МассивСтрокРасчета = Неопределено)
строка 1149
Если ФлагПоДокументу Тогда
переменная ФлагПоДокументу содержит значение не булево, а цифру.
243
457
Здравствуйте,
На релизе КАМИН:Расчет заработной платы. Версия 3.0 (3.0.107.5) ошибка не воспроизводится.

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

).gif)
