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

16.01.19

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

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

Скачать файлы

Наименование Файл Версия Размер
Консоль отчетов СКД с генерацией внешнего отчета
.erf 76,19Kb
38
.erf 76,19Kb 38 Скачать

Итак, вы сделали отчет на СКД, например , в классической консоли отчетов СКД с ИТС  (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

См. также

INFOSTART TECH EVENT 2023, 11-13 октября, Санкт-Петербург

Инструментарий разработчика Мобильная разработка DevOps и автоматизация разработки Администрирование СУБД Мероприятия Россия Платные (руб)

XIII конференция по управлению и технологиям автоматизации учета на платформе 1С:Предприятие, которая пройдет в Санкт-Петербурге и соберет 1500 участников из разных регионов России и мира.

4000 руб.

09.12.2022    30068    11    0    

433

Онлайн-интенсив "DevOps для 1С". с 4 сентября по 17 октября 2023 г.

Инструментарий разработчика DevOps и автоматизация разработки DevOps для 1С Платные (руб)

Данный онлайн-курс (интенсив) предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. 

20.06.2023    9849    0    Infostart    2    

121

SALE! %

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

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

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

12000 10000 руб.

02.09.2020    93578    477    380    

531

PowerTools

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

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

3600 руб.

14.01.2013    170233    1051    0    

792

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

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

Программист - это человек, непрерывно принимающий решения. Написание кода не является процессом принятия решения - это всего лишь трансляция ваших желаний. Если вас периодически тяготит написание сотен строк кода ради решения задач, то прошу обратить внимание. Данный продукт позволит существенно сократить время на рутинные операции при разработке. За счет библиотечной реализации сокращается объём кода, а его читаемость повышается. К библиотеке прилагается документация API и шаблоны кода для наиболее популярных методов.

4200 руб.

16.04.2021    12530    3    9    

9

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    96506    234    97    

286

Менеджер конфигураций 1С

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

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

1439 руб.

21.02.2023    5257    2    33    

14

Программное формирование существующих печатных форм

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

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    14104    39    RocKeR_13    5    

46
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Makyrka 98 13.02.19 14:21 Сейчас в теме
Добрый день.
Выходит такое сообщеие при генерации внешнего отчета в файл "Не удалось сгенерировать отчет. Проверьте, если ли доступ в Конфигуратор, есть ли права на сохранение в указанный каталог".
Доступ к каталогу есть.
3. maxx 981 13.02.19 15:07 Сейчас в теме
(1) Какой путь к базе?
5. b1958 11 20.02.19 12:09 Сейчас в теме
(1) Та же хрень. Не хочет сохранять. Что-то заморочено.
Никакой конкретики, что именно мешает записать.
Какие особенности?
Пробовал на файловой базе.
На серверной тоже не будет работать?
Может каких параметров не хватает?
6. maxx 981 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 981 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 981 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 981 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 981 21.02.19 17:51 Сейчас в теме
(14)выложите или киньте файлы все, включая файл настроек варииант из консоли запросов
16. b1958 11 22.02.19 11:00 Сейчас в теме
(15)
https://cloud.mail.ru/public/AYxA/UahpfpCST
Попробуй скачать с облака архив.
17. maxx 981 26.02.19 10:47 Сейчас в теме
(16) Я посмотрел ваши данные.

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

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

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

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

Отпишитесь.
22. DENSKR 11 10.06.22 15:23 Сейчас в теме
Здравствуйте! Куда можно добавить свои сведения о внешней обработке?
23. DENSKR 11 10.06.22 15:31 Сейчас в теме
(22) Разобрались)
24. DENSKR 11 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 .

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