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

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

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

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

Еще раз: тот же код, запущенный обработкой, выполняется, ни на что не жалуясь.
1 mehfk
 
25.06.18
18:37
Проверяй параметры, которые передаешь в запрос.
2 Anabella
 
25.06.18
18:39
(1) так параметры берутся из одной и той же таблицы. Это регистр сведений, в котором указаны значения, которые передаются в параметры.
3 mehfk
 
25.06.18
19:05
(2) Проверяй параметры, которые передаешь в запрос.
4 hhhh
 
25.06.18
19:08
(2) даты вообще можешь не из настроек брать, а рассчитывать от текущей.
5 Anabella
 
25.06.18
19:09
(4)даты рассчитываются. но он ругается не на дату. а на то, что не может получить ДатаНачала ил сохраненных настроек.
6 Anabella
 
25.06.18
19:10
(3) ну ок...
7 Anabella
 
26.06.18
13:51
А всё-таки. Есть регистр сведений, в него вносятся поля: пользователь, имя настройки, имя объекта. По этим ключевым полям и в обработке, и в модуле регламентного задания ищутся сохраненные настройки отчета. Но не находятся. Почему? Код же один и тот же!
8 Гипервизор
 
26.06.18
13:53
А СохраненнаяНастройка.НастройкаПериода какого типа?
9 mehfk
 
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/
12 vtolga
 
26.06.18
15:32
А у тебя есть сохраненные настройки для пользователя, под которым стартует регламентное задание ?
13 polosov
 
26.06.18
15:43
НастройкаПериода не доступен на сервере
14 d4rkmesa
 
26.06.18
16:16
(0) AFAIK, отчеты на базе Универсального не получилось заставить работать на сервере. Можно, конечно, потратить кучу времени и проверить самостоятельно, а можно сразу начать делать с помощью Automation сервера:
http://v8.1c.ru/overview/Term_000000633.htm
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn