Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
-
добрый день.
Программно создаю документ.
ДокументОбъект = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
ДокументОбъект.Дата = ТекущаяДата();Выдает ошибку: Ошибка при установке значения атрибута контекста (Дата) по причине «Документ не выбран». Что это значит ?
— Объединение сообщений, 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) Переменную ДокументОбъект переименуйте во что нибудь другое. -
я пытался создать документ рту с модуля формы «чек ккм» , перенес все в общий модуль, и все ок ) спасибо )
30.10.18 — 04:18
Выявлена проблема с обновлением конфигурации УПП 1.3.110.3.
Обновление идет с конфигурации Enterprise_1_3_106_1.
Так как не хватает ресурсов сервере, на релиз 1.3.106.1,
было загруженно обновление Enterprise_1_3_109_1.
Заранее подготовленное.
Потом оно было обновленно на 1.3.110.3.
были произведены все обновления и сохранения на этот релиз.
Но, сейчас при запуске обновленной конфигурации 1.3.110.3
выдается ошибка:
{ОбщийМодуль.ПолныеПрава.Модуль(707)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);
по причине:
{МодульСеанса(24)}: Слишком много фактических параметров
Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);
{ОбщийМодуль.ПолныеПрава.Модуль(707)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);
по причине:
{МодульСеанса(24)}: Слишком много фактических параметров
Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);
{МодульСеанса(24)}: Слишком много фактических параметров
ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);
Что с ней можно сделать?
1 — 30.10.18 — 04:19
(0+) То есть в самом коде ошибки нет.
Но она выдается.
2 — 30.10.18 — 04:34
Я не знаю что делать. Из за чего идет такая ошибка?
Как её исправлять?
3 — 30.10.18 — 04:37
Попробуйте почистить кэш.
4 — 30.10.18 — 04:40
Вот в этой процедуре, не видим ТекущийПользователь
5 — 30.10.18 — 04:58
(3) Я почистил, удалил все каталоги с кракозябрами
из каталогов Local и Roaming.
Что то ещё нужно сделать?
6 — 30.10.18 — 05:10
Конфигуратор не предлагать?
7 — 30.10.18 — 05:14
(6) там не срабатывает точка останова!
Сразу из конфигуратора запускается предприятие
и выходит ошибка!!!!!
8 — 30.10.18 — 05:15
Сейчас вот такая ошибка стала выходить, —
{МодульСеанса(24)}: Слишком много фактических параметров
ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);
{МодульСеанса(24)}: Слишком много фактических параметров
ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);
на процедуру.
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
Если ТребуемыеПараметры = Неопределено Тогда
// раздел «безусловной» инициализации параметров сеанса
ПолныеПрава.УстановитьПараметрыМеханизмаОграниченияПравДоступа();
Иначе
УстановленныеПараметры = Новый Структура;
Для Каждого ИмяПараметра ИЗ ТребуемыеПараметры Цикл
УстановитьЗначениеПараметраСеанса(ИмяПараметра, УстановленныеПараметры);
КонецЦикла;
КонецЕсли;
// СтандартныеПодсистемы
СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ТребуемыеПараметры);
// Конец СтандартныеПодсистемы
// ЕГАИС
ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);
// Конец ЕГАИС
ПараметрыСеанса.УдаляемыйДокумент = Неопределено;
КонецПроцедуры
9 — 30.10.18 — 05:16
Что запускается в самом начале при старте УПП.
Почему не останавливается на точке останова?
10 — 30.10.18 — 05:22
похоже кривое обновление. В 1.3.106 ИнтеграцияЕГАИС.УстановитьПараметрыСеанса выглядит так:
// Выполняет установку параметров сеанса. Вызывается из модуля сеанса.
//
Процедура УстановитьПараметрыСеанса(ТребуемыеПараметры) Экспорт
Если ТипЗнч(ТребуемыеПараметры) <> Тип(«Массив») Тогда
Возврат;
КонецЕсли;
Для Каждого ИмяПараметра Из ТребуемыеПараметры Цикл
Если ИмяПараметра = «ИдентификаторСеансаЕГАИС» Тогда
ПараметрыСеанса.ИдентификаторСеансаЕГАИС = Новый УникальныйИдентификатор;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Попробуйте заменить эту процедуру процедурой из конфигурации поставщика.
А отладка у Вас, возможно, не работает из-за того, что в командной строке агента сервера не указан debug
11 — 30.10.18 — 05:23
(10) обычное приложение. Там тоже нужен debug?
12 — 30.10.18 — 05:33
Похоже ТС это ливингстар.
13 — 30.10.18 — 05:35
(11) а, ну да. Должно отлаживаться без дебага.
14 — 30.10.18 — 05:39
Я бы поднял бэкап и повторил цепочку обновлений, аккуратно и вдумчиво. Если ошибка вылезла при старте системы, то другие ошибки могут вылезти вообще где угодно.
15 — 30.10.18 — 05:41
(14) Проблема в том что это не реально.
Сервер не дает ресурсы.
16 — 30.10.18 — 05:46
(14)
Так а если релизы
Enterprise_1_3_106_1
Enterprise_1_3_107_1
Enterprise_1_3_108_2
Enterprise_1_3_109_1
все запустились?
а Enterprise_1_3_110_3 нет. почему проблема в релизе 1_3_106_1 ?
17 — 30.10.18 — 05:48
(16) да пересоздай ты уже пользователя и не парься…
18 — 30.10.18 — 05:49
(16) тогда возьмите 109 и обновите на 110. При сравнении-объединении обратите особое внимание на общий модуль «ИнтеграцияЕГАИС».
19 — 30.10.18 — 05:52
(18) Я пока делал через поддержка. Обновить конфигурацию.
20 — 30.10.18 — 05:52
(19) упссс … это интересно. Неужели?
21 — 30.10.18 — 05:57
(20) Да, а почему интересно?
Автоматическое обновление типовых релизов.
22 — 30.10.18 — 06:09
(18) Да тут не в этом дело.
Обновление прошло. И я сверил процедуры.
В типовом 1.3.106.1 и 1.3.110.3, они идентичны.
Дело в том что Ругается на текущего пользователя.
он же всегда должен быть в параметрах сеанса!
а если обычное приложение, почему не работает отладка?
23 — 30.10.18 — 06:13
(1) как это в коде нет ошибки? В процедуре может быть только 1 параметр, а в неё передаётся 2 параметра
24 — 30.10.18 — 06:14
Или все же нужен debug на сервере?
Открыл файловую версию, там запускается отладка. А тут нет.
25 — 30.10.18 — 06:16
Подскажите как именно включить debug ?
26 — 30.10.18 — 06:30
27 — 30.10.18 — 07:43
А почему могло быть что Enterprise_1_3_109_1 релиз
запустился.
А на 1.3.110.3. стали выходить ошибки?
Пока на сервере не запустить отладку.
Я выгрузил .cf в файловую базу и там тоже есть в журнале ошибки.
Просматривал их через журнал регистрации, —
{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(88)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)
Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда
по причине:
{МодульСеанса(24)}: Слишком много фактических параметров
Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда
{ОбщийМодуль.ПолныеПрава.Модуль(641)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(88)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)
Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда
по причине:
{МодульСеанса(24)}: Слишком много фактических параметров
Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда
{ОбщийМодуль.ПолныеПрава.Модуль(641)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
{МодульСеанса(24)}: Слишком много фактических параметров
Обновление информационной базы на версию «1.3.110.3» завершилось с ошибками:
{(1)}: Метод объекта не обнаружен (ЗаполнитьВходящиеДокументыНастроек)
Справочники.СоглашенияОбИспользованииЭД.ЗаполнитьВходящиеДокументыНастроек()
Lexey_
28 — 30.10.18 — 07:45
(12) да, это ливингстар
Андрей Павлов Заглянувший Сообщений: 13 |
При тестировании обработки столкнулись с ошибкой «Нарушение прав доступа». Ошибка чаще всего возникает при использовании обработки в первые 15 минут после запуска клиента (тонкий/толстый). по причине: по причине: |
Добрый день! |
|
Андрей Павлов Заглянувший Сообщений: 13 |
Добрый день! |
Мария Измайлова Посетитель Сообщений: 1178 |
#4
01.10.2014 11:22:47
Спасибо.Передала разработчику. Еще уточнение-Вы её запускаете под полными правами или нет? Открываете через Главное меню-Файл-Открыть? |
||
Андрей Павлов Заглянувший Сообщений: 13 |
Обработку загружаю в базу как внешнюю, и пользователи запускают ее через свой интерфейс. |
Мария Измайлова Посетитель Сообщений: 1178 |
#6
01.10.2014 11:44:55
Передам разработчику. Если есть возможность обновитесь до релиза 2.0.8.6 и проверьте в нём тоже. |
||
Разработчик просил уточнить знаете ли Вы почему в обработке идет обращение к Обновлению в информационной базе? Вы писали обработку? Т.к. самая вероятная причина-это то,что у менеджера нет прав на выполнение обновления информационной базы, это право есть только у Администратора. |
|
Андрей Павлов Заглянувший Сообщений: 13 |
В обработке вообще нет обращений к модулям конфигурации, Единственное что делает обработка так это создает документ событие(звонок) и на его основании задание (личное). При записи задания и выскакивает ошибка с правами. В коде обработки я комментарий метку оставил. |
Мария Измайлова Посетитель Сообщений: 1178 |
#9
01.10.2014 13:20:13
Хорошо, спасибо за ответ. Передам разработчику. Изменено: Мария Измайлова — 01.10.2014 13:20:32 |
||
Андрей Павлов Заглянувший Сообщений: 13 |
#10
08.10.2014 08:39:52 Мария, вы можете сообщить хотя бы примерные сроки решение проблемы? |
Мария Измайлова Посетитель Сообщений: 1178 |
#11
08.10.2014 10:13:10
Добрый день! |
||
#12
08.10.2014 11:25:01 Ответ разработчика: ошибка не воспроизводится , необходима копия Вашей базы (файл .dt). Вышлите письмо на crm@rarus.ru с пометкой для Хотлайн, передать Кучерову Андрею ( в письме указываете ссылку на тему в форуме, а также ссылку на скачивание базы и данные для входа под тем пользователем,под которым появляется ошибка). |
|
Андрей Павлов Заглянувший Сообщений: 13 |
#13
08.10.2014 15:14:00 Я сомневаюсь что начальство даст разрешение отправить базу в 7 GB со всеми нашими данными. |
Наталья Полубенская Посетитель Сообщений: 698 |
#14
09.10.2014 20:49:22 Добрый день, Андрей!
Мы бы рекомендовали Вам обратиться к разработчику данной внешней обработки. Или написать письмо на линию консультаций crm@raus.ru с описанием Вашей проблемы и ссылкой на ветку форума. |
||
Андрей Павлов Заглянувший Сообщений: 13 |
#15
13.10.2014 09:54:16 Добрый день, Наталья! Разработчиком данной обработки являюсь я. |
Алексей Чаплыгин Посетитель Сообщений: 1018 |
#16
13.10.2014 10:05:43 Добрый день, Андрей! Разница в том, что на данном форуме не ведется техническая поддержка пользователей решений 1С:CRM. Техническая поддержка пользователей ведется, согласно правилам поддержки решений 1С:CRM, по специализированным для этих целей каналам связи, а именно указанный выше адрес технической поддержки. Если у вас возникают сложности в использовании решения — постараемся помочь в их решении. Спасибо за понимание! |
Показывать по
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
сообщений
Читают тему: