|
Регламентное+Сохранение MXL = проблема | ☑ | ||
---|---|---|---|---|
0
IKSparrow
13.11.12
✎
22:29
|
Вывод разрешен у табличного документа.
У пользователя из под которого регламентное - права полные. И как результат - из под регламентного файл отчёта пустой. А если запускать регламентное из обработки - то файл с результатами. Уже голову сломал. Куда копать? Движок 8.2.16.368 |
|||
1
shuhard
13.11.12
✎
22:31
|
(0)[У пользователя из под которого регламентное - права полные. ]
пользователя 1С ? |
|||
2
IKSparrow
13.11.12
✎
22:34
|
(1) У того под которым сервис запущен.
|
|||
3
IKSparrow
13.11.12
✎
23:12
|
Any idea?
|
|||
4
Dethmont
13.11.12
✎
23:26
|
Давай подробнее.
Серверный вариант? Как проверяешь что результат пустой? (Куда сохраняется результат)? |
|||
5
IKSparrow
13.11.12
✎
23:32
|
(4)Да, вариант серверный.
Сохраняю на локальный диск сервера. Файл сохраняется, что важно. Но внутри файла (открываем 1Ской) - таблица пустая. Нет даже шапки отчёта. При этом сам отчёт формируется (он банальный до безобразия), данные все в серверном варианте читаются. Если запускать регламентное из обработки - файл тоже сохраняется. Открываем - там искомые данные. |
|||
6
Dethmont
13.11.12
✎
23:42
|
Ну тогда давай показывай код
|
|||
7
IKSparrow
13.11.12
✎
23:47
|
(6) Метод регламентного:
Процедура ВыполнитьСохранениеОтчетаПоИзмененнымДанным() Экспорт Обработка = Обработки.КонсолидированнаяПечать.Создать(); Обработка.ВыполнитьОбработку(); КонецПроцедуры Внутри самой обработки: Процедура ВыполнитьОбработку() Экспорт Печать(); КонецПроцедуры Процедура СохранитьТаблицу(Таблица, ШаблонИмениФайла) Если РежимПросмотра Тогда Таблица.Показать(); Иначе ИмяФайлаДанных = СокрЛП(ШаблонИмениФайла); ИмяФайлаДанных = СтрЗаменить(ИмяФайлаДанных, "[&Дата]", Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd")); ИмяФайлаДанных = СтрЗаменить(ИмяФайлаДанных, "[&Время]", Формат(ТекущаяДата(), "ДФ=HH-mm-ss")); Если Не Прав(ИмяФайлаДанных, 4) = ".mxl" Тогда ИмяФайлаДанных = ИмяФайлаДанных + ".mxl"; КонецЕсли; Если ИмяФайлаДанных = "" Тогда Возврат; КонецЕсли; ВыбФайл = Новый Файл(ИмяФайлаДанных); ИмяКаталога = ВыбФайл.Путь; СоздатьКаталог(ИмяКаталога); Попытка Таблица.Записать(ИмяФайлаДанных, ТипФайлаТабличногоДокумента.MXL); Исключение ЗаписьЖурналаРегистрации("DTR", УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецПроцедуры Процедура Печать() Экспорт //ОбщаяТаблица = Новый ТабличныйДокумент; ОбщаяТаблица.Вывод = ИспользованиеВывода.Разрешить; Для каждого СтрокаНастройки Из Настройки Цикл //Таблица = Новый ТабличныйДокумент; Настройка = СтрокаНастройки.Настройка; ОтчетОбъект = Отчеты[СтрЗаменить(Настройка.НастраиваемыйОбъект, "ОтчетОбъект.", "")].Создать(); ОтчетОбъект.СохраненнаяНастройка = Настройка; ОтчетОбъект.ПрименитьНастройку(); ОтчетОбъект.Период.ДатаНачала = ТекущаяДата() - 86400; ОтчетОбъект.Период.ДатаОкончания = ТекущаяДата() - 86400; ОбновитьПериод(ОтчетОбъект); Таблица.Вывод = ИспользованиеВывода.Разрешить; ОтчетОбъект.СформироватьОтчет(Таблица,, Ложь); Если ОбъединятьФайлы Тогда Область = Таблица.Область(1, , Таблица.ВысотаТаблицы, ); ОбщаяТаблица.Вывести(Таблица); ОбщаяТаблица.ВывестиГоризонтальныйРазделительСтраниц(); Иначе СохранитьТаблицу(Таблица, СтрокаНастройки.ИмяФайла); КонецЕсли; КонецЦикла; Если ОбъединятьФайлы Тогда СохранитьТаблицу(ОбщаяТаблица, ИмяФайла); КонецЕсли; КонецПроцедуры |
|||
8
IKSparrow
13.11.12
✎
23:52
|
ОбщаяТаблица и Таблица - там код на самом деле раскоментирован.
|
|||
9
Dethmont
13.11.12
✎
23:58
|
Что есть Настройки ?
|
|||
10
Dethmont
13.11.12
✎
23:58
|
Регистр?
|
|||
11
IKSparrow
14.11.12
✎
00:00
|
(9) ТаблицаЗначений в которой находятся ссылки на настройки тех или иных объектов - например, отчёта в моем случае.
|
|||
12
IKSparrow
14.11.12
✎
00:03
|
+(11) Поправочка - ТабличнаяЧасть обработки
|
|||
13
Dethmont
14.11.12
✎
00:05
|
Блин... Так долго будем...
Посмотри отладчиком |
|||
14
Dethmont
14.11.12
✎
00:06
|
Т.е. доходит ли он вообще до строчки
ОтчетОбъект.СформироватьОтчет(Таблица,, Ложь); И Что после выполнения в Таблица |
|||
15
Dethmont
14.11.12
✎
00:06
|
||||
16
ssh2006
14.11.12
✎
00:09
|
ОтчетОбъект.Период.ДатаНачала = ТекущаяДата() - 86400;
ОтчетОбъект.Период.ДатаОкончания = ТекущаяДата() - 86400; Проверь время на сервере |
|||
17
Dethmont
14.11.12
✎
00:17
|
(16) Тоже вариант...
И еще хотел спросить Настройки - заполняются случайно не при открытии формы? (Ну я так на всякий случай) |
|||
18
IKSparrow
14.11.12
✎
01:47
|
Всё ребят, простите, сам балбес. Никакой мистики. Глубоко-глубоко в коде, отыскались директивы #Если Клиент Тогда ... #КонецЕсли портящие всю малину. Всё работает.
|
|||
19
IKSparrow
14.11.12
✎
01:49
|
(15) Кстати, приведённая методика так и не помогла отладить регламентное - ну не ловится и всё тут. Всё настроено, всё работает, все ключи, предметы отладки видит. Но не цепляет. Отлаживался через журнал регистрации записывая туда шаги и значения =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |