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

16.01.19

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

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

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

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

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

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

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

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

10000 8000 руб.

02.09.2020    122290    673    389    

716

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7326    22    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

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

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

10000 8000 руб.

10.11.2023    3583    11    1    

34

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177773    1074    0    

849

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

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

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

5000 руб.

07.02.2018    99365    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18130    6    8    

40

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28115    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23605    15    15    

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

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

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

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

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

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

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