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

16.01.19

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

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

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
Консоль отчетов СКД с генерацией внешнего отчета
.erf 76,19Kb
59 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С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    202116    1114    410    

1021

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

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

8400 руб.

20.08.2024    35487    206    104    

195

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

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

22200 руб.

06.10.2023    23919    63    26    

92

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

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

16000 руб.

10.11.2023    16413    69    39    

88

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

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

9360 руб.

17.05.2024    34604    122    53    

165

SALE! 30%

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 12600 руб.

22.11.2024    1641    1    0    

8

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

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

6000 руб.

07.02.2018    107115    249    100    

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

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

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

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

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