Попытка получения неинициализированного значения параметра сеанса 8.2
Привет) УПП 1.3.16.7(конф. для Украины). Пл. 8.2.15.310.
Такая проблема: Сделал отчет на управляемых формах.Отчет отражает движения с субконто по регистру бухгалтерии.
При формировании отчета вылетает такая ошибка(формирую не под полными правами):
И так для большого кол. документов.........
Пользователю назначены две роли:1) пользователь(в роли даны права на ссылки всех документов)2) бухгалтер(права на отчет и т.д.)
По ошибке понимаю, что нужно дать право на чтение ссылки.Но у меня в роли 1 все ссылки есть в доступе.
Только даю права в роли 2- ошибки исчезают. Почему такое происходит??????
Такая проблема: Сделал отчет на управляемых формах.Отчет отражает движения с субконто по регистру бухгалтерии.
При формировании отчета вылетает такая ошибка(формирую не под полными правами):
Ошибка выполнения отчета
по причине:
Ошибка в ограничении доступа к данным.
объект: 'Документ.ВнутреннееПеремещениеНаличныхДенежныхСредств', поле: 'Ссылка'; право: 'Чтение'
Попытка получения неинициализированного значения параметра сеанса
по причине:
Попытка получения неинициализированного значения параметра сеанса
И так для большого кол. документов.........
Пользователю назначены две роли:1) пользователь(в роли даны права на ссылки всех документов)2) бухгалтер(права на отчет и т.д.)
По ошибке понимаю, что нужно дать право на чтение ссылки.Но у меня в роли 1 все ссылки есть в доступе.
Только даю права в роли 2- ошибки исчезают. Почему такое происходит??????
По теме из базы знаний
Найденные решения
Ребят, по-поводу моей проблемы описанной в (1).
Проблема была в следующем: основной режим запуска для моей конфигурации был "Обычное приложение". Инициализацию параметров я проводил в модуле обычного приложения в процедуре ПриНачалеРаботыСистемы.
Надо было производить инициализацию параметров в модуле сеанса в процедуре УстановкаПараметровСеанса. В этом и была проблема.
Проблема была в следующем: основной режим запуска для моей конфигурации был "Обычное приложение". Инициализацию параметров я проводил в модуле обычного приложения в процедуре ПриНачалеРаботыСистемы.
Надо было производить инициализацию параметров в модуле сеанса в процедуре УстановкаПараметровСеанса. В этом и была проблема.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) IT_PROGRAMMIST, а там скорее всего в ролях используется уточнение по записям (RLS) и в качестве параметра для уточнения (параметр в запросе) используется некий параметр сеанса.
Возможно или у пользователя нет доступа к этому параметру сеанса (не уверен) или параметр сеанса не устанавливается при начале работы системы (не инициализируется).
Вообщем надо внимаельнее роль посмотреть по документу и по этому реквизиту документа
По моему так
Возможно или у пользователя нет доступа к этому параметру сеанса (не уверен) или параметр сеанса не устанавливается при начале работы системы (не инициализируется).
Вообщем надо внимаельнее роль посмотреть по документу и по этому реквизиту документа
По моему так
(5) IT_PROGRAMMIST, гм.. а все таки в ролях какой-нибудь текст по RLS есть?
Может быть в обычном отчете включен (прогрмано) например привелигированный режим или он запускается с ипсользование общего модуля с привелигированным режимом.
Или может там (в отчете) в явном виде прописано ПараметрСенаса.<какой-то> = <чему-то>
Может быть в обычном отчете включен (прогрмано) например привелигированный режим или он запускается с ипсользование общего модуля с привелигированным режимом.
Или может там (в отчете) в явном виде прописано ПараметрСенаса.<какой-то> = <чему-то>
(10) IT_PROGRAMMIST, странно что нету текста RLS, мне кажется явно идет обращение к какому-то параметру сенса...
Привелигированный режим програмно включается командой УстановитьПривилегированныйРежим(<Включить>)
Если общий модуль задействован - то в его свойствах есть соответсвующая галочка.
Кстати, а оба отчета (обычный и управляемый) они внешние или встроенные?
Привелигированный режим програмно включается командой УстановитьПривилегированныйРежим(<Включить>)
Если общий модуль задействован - то в его свойствах есть соответсвующая галочка.
Кстати, а оба отчета (обычный и управляемый) они внешние или встроенные?
Ребят, по-поводу моей проблемы описанной в (1).
Проблема была в следующем: основной режим запуска для моей конфигурации был "Обычное приложение". Инициализацию параметров я проводил в модуле обычного приложения в процедуре ПриНачалеРаботыСистемы.
Надо было производить инициализацию параметров в модуле сеанса в процедуре УстановкаПараметровСеанса. В этом и была проблема.
Проблема была в следующем: основной режим запуска для моей конфигурации был "Обычное приложение". Инициализацию параметров я проводил в модуле обычного приложения в процедуре ПриНачалеРаботыСистемы.
Надо было производить инициализацию параметров в модуле сеанса в процедуре УстановкаПараметровСеанса. В этом и была проблема.
(14) уже писал :
Результат:
Для Каждого Параметр Из Метаданные.ПараметрыСеанса Цикл
Попытка
а = ПараметрыСеанса[Параметр.Имя]
Исключение
Сообщить(Параметр.Имя+": "+ИнформацияОбОшибке().Описание);
КонецПопытки
КонецЦикла;
Результат:
ВсеУзлыОбменаУПП: Ошибка при получении значения атрибута контекста (ВсеУзлыОбменаУПП)
ДоступныеПользователиДляПросмотраКонтактныхЛиц: Ошибка при получении значения атрибута контекста (ДоступныеПользователиДляПросмотраКонтактныхЛиц)
ДоступныеУчетныеЗаписиДляХранилищаДополнительнойИнформации: Ошибка при получении значения атрибута контекста (ДоступныеУчетныеЗаписиДляХранилищаДополнительнойИнформации)
ДоступныеУчетныеЗаписиЭлектроннойПочты: Ошибка при получении значения атрибута контекста (ДоступныеУчетныеЗаписиЭлектроннойПочты)
ПолныеИменаФайловВнешнихРегламентированныхОтчетов: Ошибка при получении значения атрибута контекста (ПолныеИменаФайловВнешнихРегламентированныхОтчетов)
РабочееМестоКлиента: Ошибка при получении значения атрибута контекста (РабочееМестоКлиента)
СоответствиеОрганизацийИУзловОбменаУПП: Ошибка при получении значения атрибута контекста (СоответствиеОрганизацийИУзловОбменаУПП)
СоответствиеУзловИДатДляОбменаУПП: Ошибка при получении значения атрибута контекста (СоответствиеУзловИДатДляОбменаУПП)
ТекущийЗамерВремени: Ошибка при получении значения атрибута контекста (ТекущийЗамерВремени)
Показать
(15) IT_PROGRAMMIST, так ты их видимо из управляемой формы на клиенте получаешь. А их надо на сервере получать.
Наврено в этом причина
У тебя отчет формируется в управляемой форме в процедуре с какой директивой? &наСервере?
Или ты его в модуле отчета формируешь?
Наврено в этом причина
У тебя отчет формируется в управляемой форме в процедуре с какой директивой? &наСервере?
Или ты его в модуле отчета формируешь?
(22) Добавил дополнительную кнопку на форму(СформироватьДоп).
Её обработчик:
Отчет формируется БЕЗ ОШИБОК.
Если использую режим авто(т.е кнопка сформировать появляется автоматически) или код
ТОгда появляется ошибка о Попытка получения неинициализированного значения параметра сеанса.
Загадка.................
Её обработчик:
&НаКлиенте
Процедура СформироватьДоп(Команда)
ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Непосредственно);
КонецПроцедуры
Отчет формируется БЕЗ ОШИБОК.
Если использую режим авто(т.е кнопка сформировать появляется автоматически) или код
&НаКлиенте
Процедура СформироватьДоп(Команда)
ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
КонецПроцедуры
ТОгда появляется ошибка о Попытка получения неинициализированного значения параметра сеанса.
Загадка.................
(23) IT_PROGRAMMIST, одна глупая мысль в голову пришла. Фоновые задания (как и регламентные) выполняются на сревере не в контексте сеанса (кажется). Естествено, для них все параметры сеанса как бы не определены. Но, при этом не проверяются и права. ТОгда вопрос - откуда взялась ссылка на параметр сеанса? Может быть он как-то участвует в запросе или в параметрах СКД?
Хотя, не уверен
Хотя, не уверен
(22)
(22) В моём случае с параметрами сеанса и РЛС всё в порядке и другие механизмы это подтверждают. Проблема именно в СКД.
Использование
ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Непосредственно);
решает вопрос.
Используется 1С:Предприятие 8.3 (8.3.6.2530). Видимо баг платформы.
РежимКомпоновкиРезультата
(22) В моём случае с параметрами сеанса и РЛС всё в порядке и другие механизмы это подтверждают. Проблема именно в СКД.
Использование
ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Непосредственно);
решает вопрос.
Используется 1С:Предприятие 8.3 (8.3.6.2530). Видимо баг платформы.
дабы не плодить ветки, в версии БП 3.0
иногда выдаёт ошибку:
{Форма.Форма.Форма(1449)}: Ошибка при вызове метода контекста (Записать): Произошла исключительная ситуация (1C:Enterprise 8.3.4.437): Ошибка при выполнении обработчика - 'ПередЗаписью'
{ОбщийМодуль.ДатыЗапретаИзмененияСлужебный.Модуль(860)}: Ошибка при получении значения атрибута контекста (ПропуститьПроверкуЗапретаИзменения)
Попытка получения неинициализированного значения параметра сеанса
Решение:
V8 = Новый COMОбъект("V83.COMConnector");
Попытка
Если Объект.База = Истина Тогда
Бухгалтерия = V8.Connect(РабочаяБаза());
Иначе
Бухгалтерия = V8.Connect(ТестоваяБаза());
КонецЕсли;
//вот эта строчка необходима !
Бухгалтерия.ПараметрыСеанса.ТекущийПользователь = Бухгалтерия.Справочники.Пользователи.НайтиПоНаименованию(ПолучитьТекущегоПользователя());
Исключение
Предупреждение("Нет соединения с базой данных!");
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
иногда выдаёт ошибку:
{Форма.Форма.Форма(1449)}: Ошибка при вызове метода контекста (Записать): Произошла исключительная ситуация (1C:Enterprise 8.3.4.437): Ошибка при выполнении обработчика - 'ПередЗаписью'
{ОбщийМодуль.ДатыЗапретаИзмененияСлужебный.Модуль(860)}: Ошибка при получении значения атрибута контекста (ПропуститьПроверкуЗапретаИзменения)
Попытка получения неинициализированного значения параметра сеанса
Решение:
V8 = Новый COMОбъект("V83.COMConnector");
Попытка
Если Объект.База = Истина Тогда
Бухгалтерия = V8.Connect(РабочаяБаза());
Иначе
Бухгалтерия = V8.Connect(ТестоваяБаза());
КонецЕсли;
//вот эта строчка необходима !
Бухгалтерия.ПараметрыСеанса.ТекущийПользователь = Бухгалтерия.Справочники.Пользователи.НайтиПоНаименованию(ПолучитьТекущегоПользователя());
Исключение
Предупреждение("Нет соединения с базой данных!");
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
самое странное из всего этого, что на некоторых компах, под некоторыми учётками при таком коннекте иногда стало вылетать.
то есть при перегрузке данных из УТ 11 в БП 3.0, запускается обработка и УТ11 вылетает.
и походу дела вылетает с дампом...
у меня на компе всё окей, у некоторых юзеров такая проблема.
пока решить не смог, добавил эту ошибку в исключение...
а без установки параметров сеанса первый документ в бп 3.0 не проводится ))), если список из 10 документов, то первый не проводится, а все остальные проводятся)))
то есть при перегрузке данных из УТ 11 в БП 3.0, запускается обработка и УТ11 вылетает.
и походу дела вылетает с дампом...
у меня на компе всё окей, у некоторых юзеров такая проблема.
пока решить не смог, добавил эту ошибку в исключение...
а без установки параметров сеанса первый документ в бп 3.0 не проводится ))), если список из 10 документов, то первый не проводится, а все остальные проводятся)))
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот