Генерация внешнего отчета на основе варианта в "классической" консоли СКД

16.01.19

Разработка - Инструментарий разработчика

Реализации функции генерации внешнего отчета одной кнопкой в "классической" консоли отчетов СКД. Это функция будет полезна, если вам надо пользователю отдать настроенный вариант отчета на тестирование (а для него консоли это очень сложно: настройки, отборы и т.п.) или банально лень в конфигураторе собирать внешний отчет и вместе с ним ещё хранить отдельно в файле настройки варианта (отборы, например).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Консоль отчетов СКД с генерацией внешнего отчета
.erf 76,19Kb
53
53 Скачать (1 SM) Купить за 1 850 руб.

Итак, вы сделали отчет на СКД, например , в классической консоли отчетов СКД с ИТС  (https://its.1c.ru/db/files/1CITS/EXE/ExtReps/Unireps83/DCSConsole/DCSConsole.zip). Настроили вариант отчета:установили параметры, группировки, поля, отборы.

Вроде всё работает.

Теперь надо передать посмотреть отчет предварительно пользователю , чтобы они может замечания какие-нибудь внёс или уже окончательно передать в работу. А чтобы передать отчет нужно:

  • либо передать саму консоль с файлом настроек - но слишком сложная для нашего пользователя (бухгалтера) консоль отчетов с настройками.
  • либо сделать в конфигураторе внешний отчет на основании сделанной схемы СКД и настроек компоновщика, выгруженных в файл.!!! Настройки отбора - принципиальная вещь, т.к. их нельзя задать в конфигураторе, например, если в отборе используются ссылки на справочники, документы.

В любом из вариантов нужно отправлять 2 файла пользователю и объяснять, что с этим делать.

Для того, чтобы можно было получить сразу готовый отчет со всеми настройками одним файлом добавлена кнопка "Сгенерировать внешний отчет в файл". Нажимаем кнопку, указываем в какой файл генерировать отчет. Для работы этой функции необходима возможность запускать Конфигуратор и платформа не ниже 8.3.8, т.к. используется штатная возможность собирать внешние отчеты/обработки из файлов.

Теперь на примере:

1. Открываем консоль отчетов СКД, добавляем схему СКД, в конструкторе схемы (только в толстом клиенте), добавляем набор и запрос просто к справочнику "Контрагенты" и долг 

2. Добавляем вариант отчета, выбираем поля и отбор по группе контрагентов, выполняем вариант, настраиваем параметры, поля, структуру и отбор по группе "Покупатели"

3. Переходим на вариант и кнопка из меню "Сгенерировать внешний отчет в файл", получаем файл

4. Открываем полученный внешний файл, формируем отчет, результат тот же, что и в консоли.

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

 

Технические особенности: Отчет сохраняется на основе шаблонного отчета, находящегося в макете консоли отчетов. Если у вас своя форма для отчетов, то нужно заменить этот шаблон, но свой отчет-заготовку.

Тестировалось на платформах:

  • 8.3.8.1861
  • 8.3.9.2170
  • 8.3.10.2667
  • 8.3.12.1714
  • 8.3.13.1513

P.S. Подобную функцию также добавил в расширение для отладки отчетов на СКД (infostart.ru/public/972709/ ), она позволяет во время отладки в Конфигураторе выгрузить отлаживаемый отчет во внешний отчет со всеми настройками, установленные в точке остановки.

 

Генератор Компиляция внешний отчет консоль СКД LoadExternalDataProcessorOrReportFromFiles DumpExternalDataProcessorOrReportToFiles CREATEINFOBASE

См. также

SALE! %

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    162609    896    401    

878

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 руб.

20.08.2024    9207    72    32    

81

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    15898    39    8    

74

SALE! %

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 10000 руб.

10.11.2023    10833    40    27    

64

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    24162    71    45    

120

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    188969    1144    0    

915

SALE! %

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 15000 руб.

07.10.2021    17657    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

2220 руб.

21.02.2023    7946    8    36    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Makyrka 103 13.02.19 14:21 Сейчас в теме
Добрый день.
Выходит такое сообщеие при генерации внешнего отчета в файл "Не удалось сгенерировать отчет. Проверьте, если ли доступ в Конфигуратор, есть ли права на сохранение в указанный каталог".
Доступ к каталогу есть.
3. maxx 996 13.02.19 15:07 Сейчас в теме
5. b1958 11 20.02.19 12:09 Сейчас в теме
(1) Та же хрень. Не хочет сохранять. Что-то заморочено.
Никакой конкретики, что именно мешает записать.
Какие особенности?
Пробовал на файловой базе.
На серверной тоже не будет работать?
Может каких параметров не хватает?
6. maxx 996 20.02.19 12:16 Сейчас в теме
(5) Проверьте

1. Что у вас есть доступ в Конфигуратор, например, зайдите в свою базу Конфигуратором
2. Возможно у вас проблемы с правам на запуск Конфигуратора. Запускайте 1С в режиме 1С:Предприятие под правами Администратора
3. Проверьте номер платформы не ниже 8.3.8 (На всякий случай проверьте какая по умолчанию запускается номер платформы на компьютере, может у вас как-то стоит что платформа запускается версией ниже)
4. Проверьте, что есть доступ в каталог куда сохраняете.

Отпишитесь.
8. b1958 11 20.02.19 15:59 Сейчас в теме
(6) Да, работаю как Администратор, с полными правами. Конфигуратор запускается. Платформа 8.3.12. Доступ в каталог полный.

Что может быть еще?
Может стоит вывести справочно значения значимых для сохранения реквизитов? (путь к Конфигуратору, путь к каталогу, есть права для формирования и т.п.) Чтобы можно было определить, где ошибка?

А почему в примере указано, что файл сохраняется на диск С:, а в сообщениее сказано, что файл сформирован на диске D:?
9. maxx 996 20.02.19 16:30 Сейчас в теме
(8)Какой у вас путь к платформе, к исполняемым файлам?

Например, у меня вот так "C:\Program Files (x86)\1cv8\8.3.13.1513\bin\"
10. b1958 11 21.02.19 12:31 Сейчас в теме
(9) Вот небольшой протокольчик выполнения вашей обработки:
C:\Program Files (x86)\1cv8\8.3.13.1801\bin\1cv8.exe CREATEINFOBASE File="C:\Users\borisn\AppData\Local\Temp\58c8b52d-d679-4e16-99f7-018ddc1679e5";
D:\отчет.erf
C:\Users\borisn\AppData\Local\Temp\v8_2EF4_2a.erf
/DumpExternalDataProcessorOrReportToFiles "C:\Users\borisn\AppData\Local\Temp\f88a8ead-8c65-456a-944d-76f919a78735\ОтчетДляОтладки.xml "C:\Users\borisn\AppData\Local\Temp\v8_2EF4_2a.erf"
DESIGNER /IBConnectionString File="C:\Users\borisn\AppData\Local\Temp\58c8b52d-d679-4e16-99f7-018ddc1679e5" /N "" /P "" /DumpExternalDataProcessorOrReportToFiles "C:\Users\borisn\AppData\Local\Temp\f88a8ead-8c65-456a-944d-76f919a78735\ОтчетДляОтладки.xml "C:\Users\borisn\AppData\Local\Temp\v8_2EF4_2a.erf"
C:\Users\borisn\AppData\Local\Temp\f88a8ead-8c65-456a-944d-76f919a78735\ОтчетДляОтладки\Templates
/LoadExternalDataProcessorOrReportFromFiles "C:\Users\borisn\AppData\Local\Temp\f88a8ead-8c65-456a-944d-76f919a78735\ОтчетДляОтладки.xml" "D:\отчет.erf"
DESIGNER /IBConnectionString File="C:\Users\borisn\AppData\Local\Temp\58c8b52d-d679-4e16-99f7-018ddc1679e5" /N "" /P "" /LoadExternalDataProcessorOrReportFromFiles "C:\Users\borisn\AppData\Local\Temp\f88a8ead-8c65-456a-944d-76f919a78735\ОтчетДляОтладки.xml" "D:\отчет.erf"
Не удалось сгенерировать отчет. Проверьте, если ли доступ в Конфигуратор, есть ли права на сохранение в указанный каталог

Причем, в Диспетчере задач видно, что Конфигуратор запускается и, практически, сразу закрывается.
Может ошибка в командной строке запуска?
11. maxx 996 21.02.19 12:56 Сейчас в теме
(10) я и пытаюсь понять где ошибка.

У вас она есть, а у меня нет.

Если уже начали ковырять, то отключите в конце процедуры удаление всех временных файлов и проверьте.

1.) Создаётся ли пустая базу в вашем примере по каталогу C:\Users\borisn\AppData\Local\Temp\58c8b52d-d679-4e16-99f7-018ddc1679e5, но имеется каждый запуск делает новый каталог. Т.е. должна быть база , файл 1cv8.cd

2.) Выгружается ли каталог файлов для сборки внешней обработке , в вашем примере s "C:\Users\borisn\AppData\Local\Temp\f88a8ead-8c65-456a-944d-76f919a78735\ОтчетДляОтладки.xml
12. b1958 11 21.02.19 16:25 Сейчас в теме
(11) Да, я смотрел, что в каталоге TEMP создаются все нужные каталоги и файлы, и чистая БД и файлы сборки. И остаются после неудачного сохранения сгенерированного отчета.

Попробовать вывести лог программы запуска конфигуратора?

Может кодировка? Избавиться от наименований файлов русскими буквами?
13. maxx 996 21.02.19 16:33 Сейчас в теме
(12) Если файлы сборки внешнего отчета сгенерировались. Попробуйте вручную собрать отчет, т.е. в Конфигураторе- Файл - Новый внешний отчет - Действия - Загрузить из файлов - C:\Users\borisn\AppData\Local\Temp\f88a8ead-8c65-456a-944d-76f919a78735\ОтчетДляОтладки.xml. Может покажет ошибку при сборке?
14. b1958 11 21.02.19 17:33 Сейчас в теме
(13) При попытке собрать отчет вручную выдается такое сообщение об ошибке:
Ошибка загрузки документа.
Ошибка разбора XML: - [1,1]
Фатальная ошибка:
Extra content at the end of the document
SystemId: file://C:/Users/borisn/AppData/Local/Temp/4a39eea2-2dc3-43fd-bbd0-467546a3d9b9/ОтчетДляОтладки/Templates/ОсновнаяСхемаКомпонов­киДанных/Ext/Template.xml
по причине:
Ошибка разбора XML: - [1,1]
Фатальная ошибка:
Extra content at the end of the document
SystemId: file://C:/Users/borisn/AppData/Local/Temp/4a39eea2-2dc3-43fd-bbd0-467546a3d9b9/ОтчетДляОтладки/Templates/ОсновнаяСхемаКомпонов­киДанных/Ext/Template.xml

Файл Template.xml в сответствующем каталоге - пустой (размер 3 байта)

И все Template.xml во всех каталогах сборки - пустые (по 3 байта).

Похоже, что-то не сгенерировалось.
15. maxx 996 21.02.19 17:51 Сейчас в теме
(14)выложите или киньте файлы все, включая файл настроек варииант из консоли запросов
16. b1958 11 22.02.19 11:00 Сейчас в теме
17. maxx 996 26.02.19 10:47 Сейчас в теме
(16) Я посмотрел ваши данные.

Причина неработы похоже в следующем:
В консоли отчетов СКД вы не настроили ни один вариант отчета вашего отчета. Т.е. вы его не разу реально не формировали.
Когда настроите вариант отчета, вы должны выделить нужный вариант отчета и тогда нажать "Сгенерировать внешний отчет в файл".

Отпишитесь, помогло ли это.
18. b1958 11 26.02.19 11:53 Сейчас в теме
(17) Еще нужно как-то по особенному настраивать?
Я создал СКД с помощью конструктора и сформировал отчет, получив нужные мне данные. То есть проверил его работоспособность.
Что еще нужно сделать для настройки варианта?
(что имеется ввиду под термином "вариант отчета"?)
21. maxx 996 26.02.19 13:04 Сейчас в теме
(18) Вариант отчета в консоле отчетов СКД, это следующией в дереве уровень настройке после схемы компоновки.
19. b1958 11 26.02.19 12:19 Сейчас в теме
(17) Да, оказывается нужно настраивать группировки отчет не в конструкторе СКД, а в добавленном варианте отчета.
Думаю, что эту ситуацию можно было бы обработать в программе, а не ссылаться на недоступность каталогов.
Прикрепленные файлы:
20. maxx 996 26.02.19 13:03 Сейчас в теме
(19) Согласен, что отладочные сообщение можно умнее выдать.

Сейчас сообщение одно, сформировался или не сформировался отчет и возможные причины.
2. maxx 996 13.02.19 15:07 Сейчас в теме
4. Makyrka 103 14.02.19 14:36 Сейчас в теме
7. maxx 996 20.02.19 12:19 Сейчас в теме
(4) Проверьте

1. Что у вас есть доступ в Конфигуратор, например, зайдите в свою базу Конфигуратором
2. Возможно у вас проблемы с правам на запуск Конфигуратора. Запускайте 1С в режиме 1С:Предприятие под правами Администратора
3. Проверьте номер платформы не ниже 8.3.8 (На всякий случай проверьте какая по умолчанию запускается номер платформы на компьютере, может у вас как-то стоит что платформа запускается версией ниже)
4. Проверьте, что есть доступ в каталог куда сохраняете.

Отпишитесь.
22. DENSKR 16 10.06.22 15:23 Сейчас в теме
Здравствуйте! Куда можно добавить свои сведения о внешней обработке?
23. DENSKR 16 10.06.22 15:31 Сейчас в теме
24. DENSKR 16 10.06.22 15:51 Сейчас в теме
Вопрос! Как при генерации добавить своё хранилище вариантов отчетов?
25. PiotrLoginov 16.07.23 22:29 Сейчас в теме
Вероятно, автор погорячился с утверждением работоспособности на 8.3.13.1513. На более стареньких версиях - вполне допускаю. На 8.3.13.1513 у меня лично "испортились" значения отборов в собранном из XML-файлов внешнем отчете.

Когда я говорю "испортились", я имею ввиду, что если значение отбора - ссылка на элемент справочника, то в собранном внешнем отчете она чудесным образом превращается в строку, так что когда юзер открывает отчет, он видит, что отборы установлены, например отбор по Организации, но значение отбора - строка "733b0080-7ae7-11e6-80c6-000c29dc07a4" вместо ссылки на ООО "Рога и копыта".

Выгружаем горе-поделие, собранное платформой, и видим, что в сериализованной СКД в узле <dcsset:filter></dcsset:filter> вместо
<dcsset:item xsi:type="dcsset:FilterItemComparison">
					<dcsset:left xsi:type="dcscor:Field">Организация</dcsset:left>
					<dcsset:comparisonType>InList</dcsset:comparisonType>
					<dcsset:right xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d6p1:CatalogRef.Организации">733b0080-7ae7-11e6-80c6-000c29dc07a4</dcsset:right>
					<dcsset:userSettingID>1bdbc34f-6cfb-4329-b5b1-04e45b53f59a</dcsset:userSettingID>
				</dcsset:item>


чудесным образом помещено

<dcsset:item xsi:type="dcsset:FilterItemComparison">
					<dcsset:left xsi:type="dcscor:Field">Организация</dcsset:left>
					<dcsset:comparisonType>InList</dcsset:comparisonType>
					<dcsset:right xsi:type="xs:string">733b0080-7ae7-11e6-80c6-000c29dc07a4</dcsset:right>
					<dcsset:userSettingID>1bdbc34f-6cfb-4329-b5b1-04e45b53f59a</dcsset:userSettingID>
				</dcsset:item>


Чувствуете разницу? У меня в настройках варианта отчета сериализован тип значения отбора как d6p1:CatalogRef.Организации . А платформа при сборке файла превращает его в xs:string .

Мне отчет сдавать клиенту, а у меня значение отбора протухло. Вот так. Спасибо разработчикам платформы. Они нам никогда не дадут заскучать.
Оставьте свое сообщение