Внешний отчет и пользователи

Новая тема
Показывать по 10 20 40 сообщений
"Добрый день.
Написал на досуге внешний отчет, а пользователи с правами "Бухгалтер" пользоваться им не могут - он открывается, но при нажатии кнопки "Сформировать" программа зависает, и выдает калейдоскоп ошибок:

1. "Внутренняя ошибка SDBL, неожиданный конец чего-то там ResolvedField(1)";
2. Аварийное завершение работы, идет запись дампа;
3. Сжирает всю память, и просто вылетает...

При этом у пользователя с полными правами всё отлично - и открывается, и формируется, и даже распечатать можно.

Понимаю, что дело в правах. Отчет захватывает самодельный документ, для этого самодельного документа у роли "Бухгалтер" права выставлены полные.

Как думаете, чего еще не хватает?"
Офигенный ты отчет написал на досуге. :)
Используются ли RLS? Проверял ли отладчиком на какой строке "все падает"?
"
    Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    РеестрНакладных.Оплачено,
   |    РеестрНакладныхНакладные.ДатаДок,
   |    РеестрНакладныхНакладные.СуммаДок,
   |    РеестрНакладныхНакладные.СуммаНДСДок,
   |    РеестрНакладныхНакладные.НазваниеДок,
   |    РеестрНакладныхНакладные.Документ.Номер,
   |    РеестрНакладныхНакладные.Документ.Дата,
   |    РеестрНакладныхНакладные.Документ.Ссылка,
   |    РеестрНакладныхНакладные.Документ.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
   |    РеестрНакладныхНакладные.Контрагент,
   |    РеестрНакладных.Ссылка
   |ИЗ
   |    Документ.РеестрНакладных КАК РеестрНакладных
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеестрНакладных.Накладные КАК РеестрНакладныхНакладные
   |        ПО РеестрНакладных.Накладные.Ссылка = РеестрНакладныхНакладные.Ссылка
   |ГДЕ
   |    РеестрНакладныхНакладные.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода";
   Если ЗначениеЗаполнено(Организация) Тогда
       Запрос.Текст = Запрос.Текст + "
       |    И РеестрНакладныхНакладные.Документ.Организация = &Организация";
   КонецЕсли;
   Если ЗначениеЗаполнено(Номер) Тогда
       Запрос.Текст = Запрос.Текст + "
       |    И РеестрНакладныхНакладные.Документ.НомерВходящегоДокумента = &Номер";
   КонецЕсли;
   Если ЗначениеЗаполнено(Поставщик) Тогда
       Запрос.Текст = Запрос.Текст + "
       |    И РеестрНакладныхНакладные.Контрагент = &Контрагент";
   КонецЕсли;
   
   Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));
   Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
   Запрос.УстановитьПараметр("Номер", Номер);
   Запрос.УстановитьПараметр("Контрагент", Поставщик);
   Запрос.УстановитьПараметр("Организация", Организация);
   
   ТЗ = Запрос.Выполнить().Выгрузить();


вылетает на последней строчке. А что не так в запросе? И почему выполняется с полными правами? Пробовал вставить слово "РАЗРЕШЕННЫЕ", но оно в любом случае никакой рол тут не играет...
Моя в растерянности"
попробуй снять галку на ограничении по организации в константах если не ошибаюсь.
Даже если организация не выбрана - всё равно вылетает.
Именно из текста запроса растет проблема. Пока не могу сообразить, откуда...
Зачем
>        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеестрНакладных.Накладные КАК РеестрНакладныхНакладные
>        ПО РеестрНакладных.Накладные.Ссылка = РеестрНакладныхНакладные.Ссылка
ну, в любом случае это никакой роли не играет
Нехорошо получать через точку данные составного типа. Когда формируется итоговый запрос к вашему запросу добавляется левое соединение с каждым из типов входящих в "РеестрНакладныхНакладные.Документ", и к каждому добавляется запрос на RLS.
Если там точно известен тип документа, лучше использовать "Выразить".
Что-то типа

 ВЫРАЗИТЬ(РеестрНакладныхНакладные.Документ КАК Документ.ТребованиеНакладная).Ссылка 



и т.п.
В документации к 8.2 настоятельно рекомендуют использовать внешние отчеты и обработки для отладки, затем вводить их внутрь конфигурации, чтобы могли их запускать остальные пользователи...
Что значит не играет? Ты рекурсивно зациклил выборку данных. У тебя кол-во записей в выборке равно кол-ву записей в документе возведенному в степень кол-ва записей. Как еще сервер SQL не "положил" не понятно...
Что выбрать-то хотел сам понимаешь?
Читают тему
(гостей: 1)

Быстрый переход