Привет) УПП 1.3.16.7(конф. для Украины). Пл. 8.2.15.310.

Такая проблема: Сделал отчет на управляемых формах.Отчет отражает движения с субконто по регистру бухгалтерии.
При формировании отчета вылетает такая ошибка(формирую не под полными правами):

```1c
    Ошибка выполнения отчета
    по причине:
    Ошибка в ограничении доступа к данным.
    объект: 'Документ.ВнутреннееПеремещениеНаличныхДенежныхСредств', поле: 'Ссылка'; право: 'Чтение'
    Попытка получения неинициализированного значения параметра сеанса
    по причине:
    Попытка получения неинициализированного значения параметра сеанса
```

И так для большого кол. документов.........

Пользователю назначены две роли:1) пользователь(в роли даны права на ссылки всех документов)2) бухгалтер(права на отчет и т.д.)
По ошибке понимаю, что нужно дать право на чтение ссылки.Но у меня в роли 1 все ссылки есть в доступе.
Только даю права в роли 2- ошибки исчезают. Почему такое происходит??????
---
Ребят, по-поводу моей проблемы описанной в (1).
Проблема была в следующем: основной режим запуска для моей конфигурации был "Обычное приложение". Инициализацию параметров я проводил в модуле обычного приложения в процедуре ПриНачалеРаботыСистемы.
Надо было производить инициализацию параметров в модуле сеанса в процедуре УстановкаПараметровСеанса. В этом и была проблема.
---
IT_PROGRAMMIST, а там скорее всего в ролях используется уточнение по записям (RLS) и в качестве параметра для уточнения (параметр в запросе) используется некий параметр сеанса.

Возможно или у пользователя нет доступа к этому параметру сеанса (не уверен) или параметр сеанса не устанавливается при начале работы системы (не инициализируется).

Вообщем надо внимаельнее роль посмотреть по документу и по этому реквизиту документа
По моему так
---
непонятна такая ситуация: когда я делаю этот же отчет на обычных формах - никаких ошибок НЕТ. В чем подвох?
---
IT_PROGRAMMIST, а вид клиента (тонкий или обычный) в обоих случаях один и тот же?

имеется в виду когда проверяешь отчет обычный или управляемый вид клиента меняещь или нет?
---
вид клиента не меняется. Под одним сеансом сразу проверяю два отчета
---
IT_PROGRAMMIST, гм.. а все таки в ролях какой-нибудь текст по RLS есть?

Может быть в обычном отчете включен (прогрмано) например привелигированный режим или он запускается с ипсользование общего модуля с привелигированным режимом.

Или может там (в отчете) в явном виде прописано ПараметрСенаса.<какой-то> = <чему-то>
---
в ролях текста RLS нет
---
+(8) а где посмотреть привелигированный режим при запуске отчета?
---
IT_PROGRAMMIST, странно что нету текста RLS, мне кажется явно идет обращение к какому-то параметру сенса...

Привелигированный режим програмно включается командой УстановитьПривилегированныйРежим(<Включить>)
Если общий модуль задействован - то в его свойствах есть соответсвующая галочка.

Кстати, а оба отчета (обычный и управляемый) они внешние или встроенные?
---
оба встроенные
---
Сп(2) Ягг, Спасибо! Столкнулся с аналогично ошибкой. не был установлен параметр сеанса.
---
Ребят, по-поводу моей проблемы описанной в (1).
Проблема была в следующем: основной режим запуска для моей конфигурации был "Обычное приложение". Инициализацию параметров я проводил в модуле обычного приложения в процедуре ПриНачалеРаботыСистемы.
Надо было производить инициализацию параметров в модуле сеанса в процедуре УстановкаПараметровСеанса. В этом и была проблема.
---
спасибо!
---
запуск в Толстом клиенте
---
+(6)основной режим работы конфигурации = Обычное приложение
---
блин, да что же за ерунда такая??
---
на вскидку: слушай, а проверь просто все параметры сеанса (их наврено не много) они заполнены или нет?

просто небольшую обработку написать для этого
---
уже писал :

```1c
    Для Каждого Параметр Из Метаданные.ПараметрыСеанса Цикл
    Попытка
    а = ПараметрыСеанса[Параметр.Имя]
    Исключение
    Сообщить(Параметр.Имя+": "+ИнформацияОбОшибке().Описание);
    КонецПопытки
    КонецЦикла;
```

Результат:

```1c
    ВсеУзлыОбменаУПП: Ошибка при получении значения атрибута контекста (ВсеУзлыОбменаУПП)
    ДоступныеПользователиДляПросмотраКонтактныхЛиц: Ошибка при получении значения атрибута контекста (ДоступныеПользователиДляПросмотраКонтактныхЛиц)
    ДоступныеУчетныеЗаписиДляХранилищаДополнительнойИнформации: Ошибка при получении значения атрибута контекста (ДоступныеУчетныеЗаписиДляХранилищаДополнительнойИнформации)
    ДоступныеУчетныеЗаписиЭлектроннойПочты: Ошибка при получении значения атрибута контекста (ДоступныеУчетныеЗаписиЭлектроннойПочты)
    ПолныеИменаФайловВнешнихРегламентированныхОтчетов: Ошибка при получении значения атрибута контекста (ПолныеИменаФайловВнешнихРегламентированныхОтчетов)
    РабочееМестоКлиента: Ошибка при получении значения атрибута контекста (РабочееМестоКлиента)
    СоответствиеОрганизацийИУзловОбменаУПП: Ошибка при получении значения атрибута контекста (СоответствиеОрганизацийИУзловОбменаУПП)
    СоответствиеУзловИДатДляОбменаУПП: Ошибка при получении значения атрибута контекста (СоответствиеУзловИДатДляОбменаУПП)
    ТекущийЗамерВремени: Ошибка при получении значения атрибута контекста (ТекущийЗамерВремени)
```
---
IT_PROGRAMMIST, так ты их видимо из управляемой формы на клиенте получаешь. А их надо на сервере получать.
Наврено в этом причина

У тебя отчет формируется в управляемой форме в процедуре с какой директивой? &наСервере?
Или ты его в модуле отчета формируешь?
---
в упр форме я ничего руками не прописывал
---
+(17) сформировать тянется из стандартных команд
---
IT_PROGRAMMIST, отчет (управляемый) на СКД или как он формируется?
---
отчет сделан на скд
---
IT_PROGRAMMIST, гм.. кувшин моей фантазия показыват дно :(

 а вот то что в (15) это делалось на клиенет или на сервере? и вообще хоть один параметр норамльно то прочитатлся?
---
Добавил дополнительную кнопку на форму(СформироватьДоп).
Её обработчик:

```1c
    &НаКлиенте
    Процедура СформироватьДоп(Команда)
    ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Непосредственно);
    КонецПроцедуры
```

Отчет формируется БЕЗ ОШИБОК.
Если использую режим авто(т.е кнопка сформировать появляется автоматически) или код

```1c
    &НаКлиенте
    Процедура СформироватьДоп(Команда)
    ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
    КонецПроцедуры
```

ТОгда появляется ошибка о Попытка получения неинициализированного значения параметра сеанса.

Загадка.................
---
и с чем связана эта загадка?
---
IT_PROGRAMMIST, одна глупая мысль в голову пришла. Фоновые задания (как и регламентные) выполняются на сревере не в контексте сеанса (кажется). Естествено, для них все параметры сеанса как бы не определены. Но, при этом не проверяются и права. ТОгда вопрос - откуда взялась ссылка на параметр сеанса? Может быть он как-то участвует в запросе или в параметрах СКД?

Хотя, не уверен
---
РежимКомпоновкиРезультата
(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(ТестоваяБаза());
  КонецЕсли;

  //вот эта строчка необходима !
  Бухгалтерия.ПараметрыСеанса.ТекущийПользователь = Бухгалтерия.Справочники.Пользователи.НайтиПоНаименованию(ПолучитьТекущегоПользователя());

 Исключение
  Предупреждение("Нет соединения с базой данных!");
  Сообщить(ОписаниеОшибки());
  Возврат;
 КонецПопытки;
---
А можно пл плдробнее написать про БП 3.0
---
LapEV, о чем еще подробнее?

При подключении по COM параметры сеанса не инициализируются. Это нужно сделать на стороне той базы которая подключается к 1С:Бухгалтерия Предриятия.
---
самое странное из всего этого, что на некоторых компах, под некоторыми учётками при таком коннекте иногда стало вылетать.
то есть при перегрузке данных из УТ 11 в БП 3.0, запускается обработка и УТ11 вылетает.
и походу дела вылетает с дампом...
у меня на компе всё окей, у некоторых юзеров такая проблема.
пока решить не смог, добавил эту ошибку в исключение...
а без установки параметров сеанса первый документ в бп 3.0 не проводится ))), если список из 10 документов, то первый не проводится, а все остальные проводятся)))
---
А мне помогла перепубликация базы в Apache