Отладка загруженного регламентированного отчета

1. frob_st 50 08.09.12 23:13 Сейчас в теме
Описываю ситуацию.

Загружен венешний регламенитрованный отчет. Он зарегистрировался и появился в списке регламентированных отчетов.

Необходимо отладить процедуру выгрузки.
Как это сделать? Где ввобще находится отчет после загрузки и возможно ли его отлаживать в отладчике?
Может я конечно и туплю, но не смог откопать ничего по этой теме.

Если открывать отчет просто как внешний то недоступна процедура выгрузки, поэтому этот вариант не подходит.

Как отлаживать именно загруженный регламентированный отчет? Где он вообще находится :)

Заранее благодарен.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. darkinitr0 34 10.09.12 10:52 Сейчас в теме
попробуй копать во встроенной обработке "ОбщиеОбъектыРегламентированнойОтчетности" (УПП).
в общем модуле "РегламентированнаяОтчетность" есть функция "Функция ВыгрузитьОтчеты(Доки) Экспорт"
вот в ней создается документ "ВыгрузкаРегламентированныхОтчетов".
Вообщем результаты хранятся в виде документов.
3. jk3 66 11.03.13 12:54 Сейчас в теме
Выгрузка регламентированного отчета идет через документ конфигурации ВыгрузкаРегламентированныхОтчетов.

В модуле формы этого документа есть экспортируемая функция СформироватьИЗаписать(), из неё вызывается СформироватьТекстыВыгрузки(), где и загружается внешний регл. отчет во временный tmp-файл:

ТекФорма = РегламентированнаяОтчетность.РеглОтчеты(ТекДок.ИсточникОтчета).ПолучитьФорму(ИмяТекФормы, , Новый УникальныйИдентификатор);

Так вот, чтобы отладить экспортируемую функцию внешнего регл. отчета:

ТекФорма.УниверсальнаяВыгрузка();

Нужно поставить бряк на этой строке и открыть временный файл отчета, путь к нему будет в переменной:
ТекФорма.ИспользуемоеИмяФайла
или
ТекФорма.мПолноеИмяФайлаВнешнейОбработки

Файл будет вида: C:\Windows\Temp\v8_C9AC_29.tmp

Т.к. этот файл с расширением tmp, то нужно в окне открытия файла обязательно указать его тип, иначе он откроется как бинарный файл.

Причем важно указать именно .erf, а не .epf, иначе откроется как пустая обработка.

Вот и всё, в открытом файле установить бряк и продолжить выполнение, отладчик остановится на указанном месте.
romulanin; user611798_lexd; Xel'naga; ixijixi; AZel84; frob_st; +6 Ответить
5. frob_st 50 11.03.13 17:00 Сейчас в теме
(3) jk3, спасибо за информацию. я уже думал и не ответит никто :) выгрузил отчет и отлаживал его как внешний, не загружая в конфигурацию...
7. Sabfir 18.11.14 14:59 Сейчас в теме
(3) jk3, К сожалению в клиент-серверном режиме работы не работает без включение режима отладки серверных процедур.
Но пост ваш верный и поучательный.
8. ixijixi 1800 13.02.17 16:45 Сейчас в теме
(3) Дополню для 8.3.8+

Можно поставить точку останова в общем модуле РегламентированнаяОтчетность.ФайлОтчетаСУчетомКэша и переменной ПараметрыОтчета.Файл установить свое значение, тогда отладчик будет заходить вот прям в нужный файл в вашей папке.
Прикрепленные файлы:
romulanin; Simona90; olsy; kirich; okulus; +5 Ответить
9. as7bs 289 22.04.18 16:19 Сейчас в теме
(8)
ПараметрыОтчета.Файл

Пытаюсь сделать как вы написали, выходит сообщение
"Изменение значения не выполнено по причине:
Ошибка изменения значения"
Что я делаю не так? (платформа 8.3.11.2867)
4. beldieff 11.03.13 13:21 Сейчас в теме
В конфигураторе в меню "отладка" есть пункт "остановить", после того как его выберешь следующее обращение к коду будет остановлено как по точке останова.
6. jk3 66 15.03.13 11:55 Сейчас в теме
(4) beldieff, сами-то пробовали то, что предлагаете, в данном конкретном случае?

Это "остановить" полезно только в случае длительного выполнения кода, чтобы понять в каком цикле крутится сейчас выполнение.

А если мне нужно отладить конкретно с самой первой строки процедуры, я должен гадать когда же нажать эту кнопку. В общем, не вариант.
10. Khaled 1 07.12.18 18:35 Сейчас в теме
Если конфигурация снята с поддержки, то можно поступить так: В общем модуле РегламентированнаяОтчетность находим функцию ПроверкаРегистрацииПриОткрытииОсновнойФормыРегламентированно­гоОтчета в которой создается имя временного файла внешнего отчета и в 2-х местах меняем :
//ВремФайлВнешнегоОтчета2 = ПолучитьИмяВременногоФайла();
ВремФайлВнешнегоОтчета2 = ПолучитьИмяВременногоФайла("erf");  // для отладки

и
//ВременныйФайл = ПолучитьИмяВременногоФайла();
ВременныйФайл = ПолучитьИмяВременногоФайла("erf"); // для отладки

и тогда временный файл, содержащий внешний отчет будет иметь такое имя:
C:\Windows\Temp\v8_C9AC_29.erf
вместо
C:\Windows\Temp\v8_C9AC_29.tmp
что позводяет легко открыть его как обычний внешний отчет. Проверено сегодня ))
atol_zlat; vasvl123; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот