Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

УТ 10.3 обычные формы автоматическая выгрузка отчетов

УТ 10.3 обычные формы автоматическая выгрузка отчетов
Я
   Anabella
 
25.06.18 - 18:36
Есть задача: каждую ночь формировать около 40 разных отчетов, построенных на базе универсального.
Идея такая: извлекаем настройки отчета, применяем их, выполняем, вуаля. Когда запускаю под собой, все находит верно, все формируется. Когда запихиваю в модуль конфигуратора и ставлю выгрузку по расписанию, вылетает с ошибкой:

{ОбщийМодуль.САКС.Модуль(3728)}: Значение не является значением объектного типа (ДатаНачала) СохраненнаяНастройка.НастройкаПериода.ДатаНачала = Период.Дата1;

Получается, сохраненные настройки почему-то не вытаскиваются в регламентном задании. Почему? Код такой:

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

Еще раз: тот же код, запущенный обработкой, выполняется, ни на что не жалуясь.
 
 
   mehfk
 
1 - 25.06.18 - 18:37
Проверяй параметры, которые передаешь в запрос.
   Anabella
 
2 - 25.06.18 - 18:39
(1) так параметры берутся из одной и той же таблицы. Это регистр сведений, в котором указаны значения, которые передаются в параметры.
   mehfk
 
3 - 25.06.18 - 19:05
(2) Проверяй параметры, которые передаешь в запрос.
   hhhh
 
4 - 25.06.18 - 19:08
(2) даты вообще можешь не из настроек брать, а рассчитывать от текущей.
   Anabella
 
5 - 25.06.18 - 19:09
(4)даты рассчитываются. но он ругается не на дату. а на то, что не может получить ДатаНачала ил сохраненных настроек.
   Anabella
 
6 - 25.06.18 - 19:10
(3) ну ок...
   Anabella
 
7 - 26.06.18 - 13:51
А всё-таки. Есть регистр сведений, в него вносятся поля: пользователь, имя настройки, имя объекта. По этим ключевым полям и в обработке, и в модуле регламентного задания ищутся сохраненные настройки отчета. Но не находятся. Почему? Код же один и тот же!
   Гипервизор
 
8 - 26.06.18 - 13:53
А СохраненнаяНастройка.НастройкаПериода какого типа?
   mehfk
 
9 - 26.06.18 - 14:50
(7) Пригласи программиста, пусть он проверит параметры, которые ты передаешь в запрос.
   Минона
 
10 - 26.06.18 - 15:26
В регламентном задании запуск идёт от какого пользователя?
Там вроде есть такая настройка.
Иначе там запуск идёт пустым пользователем или под которым 1с:сервер стартован.
 
 Рекламное место пустует
   Минона
 
11 - 26.06.18 - 15:27
10+
тут немного об этом
1c-pro.ru/threads/ot-kakogo-polzovatelja-zapuskajutsja-reglamentnye-zadanija.48060/
   vtolga
 
12 - 26.06.18 - 15:32
А у тебя есть сохраненные настройки для пользователя, под которым стартует регламентное задание ?
   polosov
 
13 - 26.06.18 - 15:43
НастройкаПериода не доступен на сервере
   d4rkmesa
 
14 - 26.06.18 - 16:16
(0) AFAIK, отчеты на базе Универсального не получилось заставить работать на сервере. Можно, конечно, потратить кучу времени и проверить самостоятельно, а можно сразу начать делать с помощью Automation сервера:
http://v8.1c.ru/overview/Term_000000633.htm

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует