Добрый день. Есть такая задача: есть шаблон письма (раздел шаблоны email сообщений), по этому шаблону необходимо разослать письма для каждой записи (это может быть любой объект, обращение, контакт, заказ и т.д.). Т.е. заполнить шаблон стандартными макросами, а также значениями из записи объекта и отправить письмо, сделать так для каждой записи. 

Каким образом возможно реализовать это программно? 

Нравится

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

1) Получить список выбранных (отмеченных) объектов, передать его в ваш сервис или БП

2) По каждому сформировать письмо по шаблону и отправить

Пример формирования и отправки можно посмотреть тут

1) Получить список выбранных (отмеченных) объектов, передать его в ваш сервис или БП

2) По каждому сформировать письмо по шаблону и отправить

Пример формирования и отправки можно посмотреть тут

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

Как можно вручную или еще как-то удалить страницу раздела из пакета. Пакет синхронизируется на SVN.

Не могу не изменить ни удалить страницу. Другие страницы редактируются.

Изображение удалено.

 

Нравится

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

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

Нравится

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

Добрый день!

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

Нравится

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

Стандартного решения данной задачи на текущий момент, к сожалению, нет.

Перед тем, как начать делать такой отчет, Вы должны убедиться, что все значения, которые попадают в печатную форму, являются локализируемыми, то есть для этих полей настроен признак 'Локализируемый текст':

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

Также Вы можете реализовать специальные макросы в отчетах Word, которые будут подставлять нужное значение из локализируемых данных, но в данном случае печатных форм Word тоже должно быть столько, сколько разных языков нужно использовать. Подробнее о базовых макросах Word смотрите в статье и ещё в этой статье с примером создания пользовательского макроса в отчет Word.

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

 

Добрый день!

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

Для остальных данных нужно писать свои макросы через IExpressionConverter.

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

Стандартного решения данной задачи на текущий момент, к сожалению, нет.

Перед тем, как начать делать такой отчет, Вы должны убедиться, что все значения, которые попадают в печатную форму, являются локализируемыми, то есть для этих полей настроен признак 'Локализируемый текст':

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

Также Вы можете реализовать специальные макросы в отчетах Word, которые будут подставлять нужное значение из локализируемых данных, но в данном случае печатных форм Word тоже должно быть столько, сколько разных языков нужно использовать. Подробнее о базовых макросах Word смотрите в статье и ещё в этой статье с примером создания пользовательского макроса в отчет Word.

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

 

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

Подскажите, люди добрые!

Руководители подразделений желают видеть визиты своих сотрудников в виде таблицы сотрудники/день месяца.

Пока мучаю Итоги-Показатель, но что-то не особо получается. Может лучше использовать бизнес-процесс с автогенерируемыми страницами? Или есть еще другие варианты, кто-нибудь решал похожие задачи?

Нравится

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

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

Также на основании данного представления можно реализовать отчет с возможностью фильтрации по периоду.

Создайте свой отчет или деталь или раздел. Все зависит от ваших потребностей.

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

Также на основании данного представления можно реализовать отчет с возможностью фильтрации по периоду.

Всем спасибо, все попробовал, буду создавать отчеты.

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

Коллеги, помогите разобраться. Я на развернутой копии системы создал пакет и в одном из пользовательских разделов в мастере разделов проставил признак "Enable approval in section". Настроил визирование и все нормально работает. НО, как правильно мне теперь перенести свой пакет, чтобы этот признак тоже переносился и на рабочей системе все нормально работало? В какие таблицы нужно заглянуть и привязать данные?

Нравится

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

Alex Zaslavsky,

VisaSchemaUId - это UId схемы таблицы виз (название заканчивается на Visa).

A MasterColumnUId - это UId поля связи с разделом в таблице виз. Посмотреть его можно также в метаданных схемы таблицы, выполнив поиск по названию этого поля.

UId можно получить sql-запросом:

select top 1 UId

from SysSchema

where Name = [Имя сервиса]

Или посмотреть в конфигурации в метаданных в сервиса:

 

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

По привязке данных - Вам нужно перенести записи из таблиц SysModule и SysModuleVisa, на которую ссылается поле SysModuleVisaId таблицы SysModule.

По структуре упомянутых Аллой таблиц см. в статье.

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

Спасибо, только объясните как искать UId, буду премного благодарен)

  • VisaSchemaUId — UId пользовательского объекта, унаследованного от объекта [Базовая виза].
  • MasterColumnUId — UId поля взаимосвязи с разделом.

Alex Zaslavsky,

VisaSchemaUId - это UId схемы таблицы виз (название заканчивается на Visa).

A MasterColumnUId - это UId поля связи с разделом в таблице виз. Посмотреть его можно также в метаданных схемы таблицы, выполнив поиск по названию этого поля.

UId можно получить sql-запросом:

select top 1 UId

from SysSchema

where Name = [Имя сервиса]

Или посмотреть в конфигурации в метаданных в сервиса:

 

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

Отлично, спасибо за помощь!

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

Здравствуйте, пытаюсь сформировать новый процесс, в котором первым шагом - будет поочередное создание Контактов, а в дальнейшем уже действия со всей выборкой созданных контактов. Ранее подобную задачу удавалось решить через создание отдельного объекта в конфигураторе и использование его для хранения идентификаторов новых записей. Хотелось бы узнать, есть ли более правильные методы работы с выборкой, созданной внутри процесса, желательно без использования скриптов.

Нравится

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

Добрый день! попробуйте воспользоваться хранилищами данных. Как работать с хранилищами описано в данной статье - https://academy.terrasoft.ru/documents/technic-sdk/7-13/rekomendacii-po-ispolzovaniyu-razlichnyh-tipov-hranilishch

Добрый день!

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

А в БП уже вызывать данную процедуру с передачей необходимых параметров.

Создавать временные таблицы, записывать в них данные, а затем удалять можно из SQL-запросов. Например, сделать хранимку с нужной логикой.

Другое дело, что непонятно, зачем это всё из БП. Проще создать для таких записей обычный объект, а затем сразу или по графику удалять оттуда ненужные записи.

А, возможно, отдельный объект и не понадобится, если обрабатывать в одном элементе процесса коллекцию результатов работы другого элемента.

Добрый день! попробуйте воспользоваться хранилищами данных. Как работать с хранилищами описано в данной статье - https://academy.terrasoft.ru/documents/technic-sdk/7-13/rekomendacii-po-ispolzovaniyu-razlichnyh-tipov-hranilishch

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

Здравствуйте! Проблема в том, что каждую минуту, или каждые несколько минут крошится коробочный процесс Синхронизировать почту.



На разных средах разные ошибки:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Terrasoft.Mail.MailSynchronizer.SyncImapMail()
   at Terrasoft.Core.Process.SyncImapMail.ScriptTask1Execute(ProcessExecutingContext context)
   at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)
System.ArgumentException: user does not have mail account
   в Terrasoft.Core.Process.SyncImapMail.ScriptTask1Execute(ProcessExecutingContext context)
   в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

Сама почта работает, везде, письма с почты приходят в BPM, так какого.. сыпется кучу раз один и тот же процесс с ошибками? Может кто сталкивался, подскажите пожалуйста.

Нравится

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

См решение тут

Гм в вашем сообщении все же ясно написано

ArgumentException: user does not have mail account

 

Настройте почту у пользователя!

Григорий Чех,

Ещё раз напишу, почта настроена, и на неё приходят письма, и подгружаются в бпм, без проблем, всё работает, НО БП крошится.

См решение тут

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

Добрый день! 

Подскажите, пожалуйста, как преобразовать дату в текстовую строку так, чтобы не выводилось время? Я использую оператор .ToString() и получается 02.05.2019 0:00:00. Есть ли возможность получить дату без времени?

Нравится

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

В параметрах метода ToString укажите нужный формат даты.

Подробнее посмотрите в статье 1 и статье 2.

В параметрах метода ToString укажите нужный формат даты.

Подробнее посмотрите в статье 1 и статье 2.

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

Спасибо огромное! Получилось

Немировская Виктория,

Рада, что смогла помочь wink

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

Приветствую.

При каждом новом входе в Конфигуратор(Упр. конфигурацией) происходит сброс всех настроек которые были выставлены за предыдущую сессию, к примеру:

1. Скрывается вкладка - "Действия"

2. Идет сброс добавленных колонок

Кто сталкивался? Какие предложения?



 

Нравится

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

Начиная с версии браузера Chrome 73.0.3683.103, вышедшей в апреле, перестали сохраняться настройки разделов в интерфейсе 5.Х: например, ширина и набор колонок, выбранная деталь и прочее.

Это более существенно при использовании bpm'online версии 5.Х, но и в 7.Х есть несколько разделов в старом интерфейсе.

Дело в невозможности при переходе между разделами запуска сервиса SaveProfileData из-за Synchronous XHR in page dismissal, подробнее см. тут.

Поскольку с каждой новой версией bpm'online разделов в интерфейсе 5.Х всё меньше, можно для выполнения настроек колонок там использовать не Chrome, а какой-либо другой браузер, пока оставшиеся разделы не адаптируют под нынешний интерфейс.

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