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

16.01.19

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

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

Файлы

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

Наименование Скачано Купить файл
Консоль отчетов СКД с генерацией внешнего отчета
.erf 76,19Kb
60 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

См. также

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

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

14400 руб.

20.08.2024    49707    286    143    

252

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

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

15500 руб.

02.09.2020    227630    1237    415    

1078

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

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

9900 руб.

25.08.2025    24280    60    10    

65

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    29682    78    30    

104

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

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

16000 руб.

10.11.2023    20961    86    42    

95

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

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

9500 руб.

17.05.2024    42599    156    57    

191

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

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

5000 руб.

24.09.2019    26954    22    16    

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

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

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

Сейчас сообщение одно, сформировался или не сформировался отчет и возможные причины.
2. maxx 1000 13.02.19 15:07 Сейчас в теме
4. Makyrka 109 14.02.19 14:36 Сейчас в теме
7. maxx 1000 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 .

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