Всем привет!
Как реализовать добавление факсимиле и печати, есть несколько типов договоров и должны быть разные печати)

Нравится

3 комментария
Лучший ответ

Добрый день.

 

Печатные формы Word поддерживают работу с макросами полей типа BLOB.

Нужно факсимиле и печати сохранить в картинки и хранить в базе, например, в детали 'Файлы'. Потом данное поле добавить в список полей печатной формы и уже в самом Word добавить это поле по аналогии с другими макросами для печатной формы.

Добрый день.

 

Печатные формы Word поддерживают работу с макросами полей типа BLOB.

Нужно факсимиле и печати сохранить в картинки и хранить в базе, например, в детали 'Файлы'. Потом данное поле добавить в список полей печатной формы и уже в самом Word добавить это поле по аналогии с другими макросами для печатной формы.

Александр, если их небольшое количество, проще будет создать несколько отчётов с разными картинками и вызывать нужный.

При желании, можно кодом скрыть ненужные пункты меню кнопки с отчётами в зависимости от типа, как тут.

А по совету Аллы подробнее см. тут.

Всем спасибо!

 

Показать все комментарии

Добрый день!

Подскажите, пожалуйста, как можно реализовать несколько уровней в печатной форме MS Word?

 

Например:
1. Счёт
     1.1. Категория продукта 1
         1.1.1. Продукт 1
         1.1.2. Продукт 2
     1.2 Категория продукта 2
         1.2.1. Продукт 3
         1.2.2. Продукт 4

Категория печатается нормально, а вот затем в каждой категории печатается весь набор продуктов (от 1-4) без привязки к предыдущему уровню (категории)

Нравится

3 комментария

Владимир, как универсальный совет, можно создать view, отображающее данные в нужном виде, с цифрами и отступами, затем строить отчёт по нему.

Или не view, а записи в специальной таблице, наполняемой программно для каждого построения отчёта.

Идея  о возможности выводить табличные части в виде иерархического (древовидного) реестра уже заведена и принята.

View не годится, так как у разных уровней разное форматирование в Word'e.

Как я понимаю, тогда только в Fast report?

Либо чисто программно формировать в скрипте документ Word с каким угодно форматированием при помощи библиотеки  DocumentFormat.OpenXml.dll, которая загружена в систему и используется и в стандартных схемах ReportService, WordReportingDesignWorker, WordReportUtility и WordReportGenerator.

Но перед этим проверьте в маркете существующие движки отчётов, нет ли там такого формата, который Вам нужен.

Показать все комментарии

Добрый день!

Коллеги, подскажите, пожалуйста, как можно сделать, чтобы названия файла печатной формы при скачивании был динамичен, например: Счет+колонка "номер"

Нравится

2 комментария
Лучший ответ

Здравствуйте!

В сервисе ReportService есть функция GenerateMSWordReport, которая возвращает вордовский документ.

Значение result.Caption - это заголовок Вашего документа.

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

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

Здравствуйте!

В сервисе ReportService есть функция GenerateMSWordReport, которая возвращает вордовский документ.

Значение result.Caption - это заголовок Вашего документа.

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

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

Показать все комментарии

Добрый день.

Существует ли возможность скрыть печатную форму до изменения значения в определенном поле объекта (например, состояние) или ограничить права на выгрузку определенной печатной формы?

Нравится

1 комментарий

Есть дополнение Printable forms filtering for bpm'online, реализующее такую фильтрацию.

Показать все комментарии

Добрый день, коллеги.

Сейчас, при создании заявки, автоматически создается печатная форма. Но нужно, чтобы возможность скачать печатную форму появлялась не при создании заявки, а чуть позже, при срабатывании какого-либо другого события. Подскажите пожалуйста, каким образом лучше всего реализовать вышеописанную задачу?

Заранее благодарю :)

Нравится

1 комментарий
Лучший ответ

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

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

Показать все комментарии

Как переопределить метод Печати в разделах? 

 

Нравится

6 комментариев
Лучший ответ

Добрый день!
Нужно переопределить метод

generatePrintForm: function(printForm)

в вашем разделе. Само описание метода лежит в PrintReportUtilities

Добрый день!
Нужно переопределить метод

generatePrintForm: function(printForm)

в вашем разделе. Само описание метода лежит в PrintReportUtilities

   

Сидоров Александр В., 

Можно пример переопределения метода печти?

 

См. тут. Но для 7.13 и выше такое не подойдёт, поскольку переопределение модулей запретили.

Зверев Александр,

У меня развернуто именно 7.13 . Получается запрещено? Нельзя хотя бы видимость убрать в зависимости от значения какого ниб поля ? Было бы неплохо если бы разработчики дали возможность такие вещи сделать с помощью бизнес правил 

Можете завести идею прав на такую операцию. Стандартно такой не вижу.

Показать все комментарии

Добрый день!

При вызове скрипта генерирования печатной формы в бизнес-процессе он падает с ошибкой:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Terrasoft.Configuration.ReportService.ReportService.GetSchemaNameByTemplateId(Guid templateId)

Определили, что это возникает только когда бизнес-процесс вызывается сигналом или событием, т.е. только тогда когда процесс запускается от имени Supervisor. Запускаем вручную - всё работает отлично.

Вопросы: как можно заменить Supervisor на другого пользователя? Или может посоветуете как получить UserConnection другого пользователя для выполнения ReportService? Возможно ли обойтись в ReportService без UserConnection?

Спасибо!

Нравится

6 комментариев

а как происходит инициализация ReportService в бп?

Ранее тема обсуждалась тут и тут. В ReportService в логике функций GenerateMSWordReport или GenerateDevExpressReport есть фрагменты, которые позволяют его запускать только при работе из браузера, но не в фоновом режиме с сервера, когда UserConnection нет. В комментариях один из участников рассказал, что в итоге переделал этот сервис, чтобы не использовать UserConnection. А другой предложил запускать от имени какого-то пользователя посредством ProcessEngineService, так работает нормально.

Варфоломеев Данила,

Процесс запускается через задание-сценарий вызовом 

GenerateMSWordReport, в который передаются параметры бизнес-процесса и UserConnection

 

Зверев Александр,

Спасибо вам за информацию!

Мы заметили, что новый функционал в 7.13.2 "Фоновое выполнение операции" предназначен для запуска фоновых задач, которые требуют UserConnection. Я правильно понимаю, что с помощью этого функционала можно создать UserConnection для передачи в GenerateMSWordReport? (https://academy.terrasoft.ru/documents/technic-sdk/7-13/fonovoe-vypolne…)

Зверев Александр,

и может вы знаете как на время изменить в процессе системную настройку текущего системного пользователя по умолчанию с Supervisor на другого пользователя, чтобы таким образом взять его UserConnection?

Дело не в том, что это конкретно Supervisor. Если под Supervisor зайти в систему и по действию построить отчёт, всё отработает.

Варианты по ссылкам предлагались ещё до появления 7.13.2, можете проверить и этот механизм.

Показать все комментарии

Добрый день!

Подскажите пожалуйста, можно ли после нажатия печать любой из печатных форм сохранять форму сразу в гуглдрайв, яндекс диск и т.д.?

Нравится

1 комментарий

Поскольку по действию «Печать» реально происходит генерация PDF-файла и его скачивание, можно на уровне браузера настроить папку для скачивания на нужный путь. В Windows 10 стандартно есть интеграция с OneDrive, когда он видится как обычная папка, можно указать туда.

Click image for larger version. 

Name:	change_Google_Chrome_download_location-2.png 
Views:	679 
Size:	62.8 KB 
ID:	116341

Показать все комментарии

Доброго времени суток, 

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

 

Заранее спасибо!

Нравится

4 комментария

Какие галочки? Можно скриншот, того, что нужно?

имеете в виду галки вместо true false? Посмотрите в академии пример на конфигурирование логических полей в печатной форме (макросы). Прям ваш случай описан. И кстати в последних версиях уже вроде сделал вендор в базовой поставке это (но могу ошибаться)

Колодяжный Владислав Эдуардович,

Дмитрий Степанов,

Спасибо

Показать все комментарии

Добрый день!

Есть такая задача. 
Клиент хочет переносить в печатную форму договора куски большие текста (это блоки разделов договора) из текстовых полей карточки договора. При создании  договора автоматом  мы записываем этот текст в  поля, учитывая абзацы по тексту. Форматирование здесь ключевое, т.к. без форматирование печатная форма договора будет не корректная. 

Если зашить эти тексты в справочник или настройку, то там будет сплошной текст и при переносе в поля договора форматирование (абзац) не сформировать. 

Или можно учесть как то абзац при такой схеме?

Спасибо!

Нравится

6 комментариев

Если мы говорим, о стандартных печатных формах Word, то все форматирование можно настроить в шаблоне печатной формы.

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

Откуда клиент хочет переносить блоки с документов Word ? Тогда лучше на основе этого документа сделать шаблон или штатными средствами или самостоятельно вставить в нужніх местах макроподстановки, открыть на чтение прочитать документ и заменить макроподстановки в шаблоне на нужные значения!

Алла Савельева,

я дам узкий пример. Если в поле Примечание  применить функцию список например, то в печатной форме мы увидим список с какими-левыми символами (скрин прилагаю).

Григорий Чех, я дам узкий пример. Если в поле Примечание  применить функцию список например, то в печатной форме мы увидим список с левыми символами (скрин прилагаю).

Это не «какие-то левые символы», а HTML-теги форматирования текста. Теги для создания списка: li и ol.

Зверев Александр,

понятно, что это теги форматирования)). я образно выразилась. Вопрос в том, зачем признаки форматирования переносятся в печатную форму а таком виде). Клиент же не может  с этими символами клиенту отправить договор. 

В веб-интерфейсе системы теги отображаются в нужном формате. При переносе в печатную форму текст нужно адаптировать под их формат. Например, вместо настоящего списка имитировать маркеры вставкой символа «•».

Показать все комментарии