Вопрос

Привет,

Есть вопрос,

Версия: 7.13.4.638_SalesEnterprise_Marketing

На данный момент перехожу от алгоритма разработки:

1. В конфигураторе создать пакет, указать для него SVN

2. Добавление frontend компонентов через конфигуратор с отладкой в chrome dev tools

3. Добавление backend компонентов через конфигуратор с отладкой в дебаг проекте в VS

4. Коммит в SVN

к следующему примерному алгоритму:

1. Настроить BPM для разработки в файловой системе.

2. Выгрузить пакеты в конфигурационный проект при помощи конфигуратора либо bpmCli, либо через workspace console.

3. Реализовать код фронта/бека в конфигурационном проекте

4. При помощи workspace console залить изменения в bpm и скомпилировать ,если были изменены c# классы.

5. Закоммитить в GIT

Вопросы:

Какие лучшие практики используются для ускорения разработки с точки зрения инструментария?

Что хранить в GIT? Пакеты как в SVN, либо при помощи bpmCli выгрузить пакеты из сайта, затем каждый пакет преобразовать в проект, прикрепить к общему solution, и хранить это, а если нужно загрузить пакеты на сайт, то при помощи bpmCli собрать пакет из проекта и сделать pull?

Как отлаживать бекенд? Насколько я понял, конфигурационный проект решает эту проблему, но возможно можно сделать лучше?

Как отлаживать фронт, используя например VS Code?

 

У меня такой же вопрос

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

Добрый день. Информация о разработке в файловой системе есть в статьях Академии.

Обратите внимание, Вы используете довольно устаревшую версию 7.13.4. Лучшей практикой будет обновить систему до актуальной 7.15.

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

Привет,

Столкнулся с проблемой:

Версия: 7.13.4.638_SalesEnterprise_Marketing

Программа: bpmcli, релиз 1.2 https://github.com/Advance-Technologies-Foundation/bpmcli/releases

Выполнил по мануалу из гита регистрацию bpmcli, выполнил команду bpmcli install-gate, которая, судя по логу в консоли завершилась успешно. Далее перекомпилировал конфигурацию, в списке пакетов появился bpmcligate.

Однако, при выполнении любой команды возникает ошибка Your app does not contain bpmcli API. 

В данном случае утилита мне нужна для того, чтобы выгружать пакеты из BPM "pull-pkg UsrIntegrations -e dev -d C:\Instruments\test\", находящейся в режиме разработки в файловой системе, затем создавать из пакетов проекты bpmcli convert UsrIntegrations.

У меня такой же вопрос

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

У bpmcli исходники открыты. Вот место, где выводится это сообщение:

private static string ApiVersionUrl => _url + @"/0/rest/BpmcliApiGateway/GetApiVersion";
.....
public static void CheckApiVersion() {
	var dir = AppDomain.CurrentDomain.BaseDirectory;
	string versionFilePath = Path.Combine(dir, "bpmcligate", "version.txt");
	var localApiVersion = new Version(File.ReadAllText(versionFilePath));
	var appApiVersion = GetAppApiVersion();
	if (appApiVersion == new Version("0.0.0.0")) {
		MessageToConsole($"Your app does not contain bpmcli API." +
		 $"{Environment.NewLine}You should consider install it via the \'bpmcli install-gate\' command.", ConsoleColor.DarkYellow);
	} else if (localApiVersion > appApiVersion) {
		MessageToConsole($"You are using bpmcli api version {appApiVersion}, however version {localApiVersion} is available." +
		 $"{Environment.NewLine}You should consider upgrading via the \'bpmcli update-gate\' command.", ConsoleColor.DarkYellow);
	}
}
 
 
private static Version GetAppApiVersion() {
	var apiVersion = new Version("0.0.0.0");
	try {
		string appVersionResponse = BpmonlineClient.ExecuteGetRequest(ApiVersionUrl).Trim('"');
		apiVersion = new Version(appVersionResponse);
	} catch (Exception) {
	}
	return apiVersion;
}

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

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

После установки пакета 

bpmcligate и перекомпиляции в системе не появился сервис, к которому обращается утилита. Возможно пакет нужно установить как то иначе?

На всякий случай ещё попробуйте перезапустить сайт и очистить Redis. Тут ведь происходит не просто установка пакета, сервис должен появиться на стороне IIS.

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

Доброе утро.

Есть 2 вопроса по работе со схемами кампаний.

1. Подскажите, есть ли способ перенести схему кампании из одного пакета в другой (поле 'Пакет', как в других схемах конфигурации отсутствует)?

2. Каким образом корректно удалить уже настроенную схему кампании?

 

У меня такой же вопрос

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

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

Удалять кампании корректно можно по соответствующей кнопке, но только те, которые ещё не запускались.

 

Зверев Александр пишет:
Удалять кампании корректно можно по соответствующей кнопке, но только те, которые ещё не запускались.

А что делать, если нужно удалить тестовые компании в состоянии 'Завершена' ?

В каких таблицах хранится информация, которую нужно удалить?

Или, например, если запросом изменить состояние кампании 'Запланирована'?

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

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

Коллеги,

Добрый день,

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

 

У меня такой же вопрос

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

Следует в ExtendedFilterEditModelV2 поправить функцию getSaveButtonVisibility

Следует в ExtendedFilterEditModelV2 поправить функцию getSaveButtonVisibility

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

спасибо, попробуем...

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

Добрый день! Возможно ли в интерфейсе BPM Online настроить уведомления в почту о том, что есть незакрытые активности?

Например: в системе была заведена активность "встреча" на понедельник. В понедельник эта встреча прошла, но пользователь забыл поставить статус в этой активности "Завершена". Необходимо, чтобы система во вторник, после проведения встречи направила пользователю уведомление в системе о том, что у него есть активность, плановое завершение которой прошло, но при этом она не завершена

У меня такой же вопрос

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

Если взять простой вариант без разработки, то вы можете добавить логическое поле с название Просрочена. Затем создать бизнес процесс с запуском по таймеру каждое утро, который для всех активностей которые не завершены и дата завершения < Сегодня проставит галочку в поле просрочена. Ну и еще один бизнес-процесс, который будет срабатывать на изменение поля Просрочено и отправлять сообщение с нужным вам текстом.

Если взять простой вариант без разработки, то вы можете добавить логическое поле с название Просрочена. Затем создать бизнес процесс с запуском по таймеру каждое утро, который для всех активностей которые не завершены и дата завершения < Сегодня проставит галочку в поле просрочена. Ну и еще один бизнес-процесс, который будет срабатывать на изменение поля Просрочено и отправлять сообщение с нужным вам текстом.

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

Александр, спасибо за ответ! Скорее всего такой вариант устроит.

Не могли бы Вы подсказать где можно найти более подробную инструкцию по созданию логических полей и бизнесс процессов?

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

А в этой статье есть готовое решение Вашей задачи:

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

Если просроченных задач очень много, то можно отправлять список одним письмом, используя добавление таблицы с задачами в текст письма с помощью дополнения https://marketplace.terrasoft.ua/template/data-table-e-mail-bpmonline

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

Добрый день.

Через бизнес-процесс настраивается Email. При вызове бизнес-процесса передаются параметры для подстановки в Email.

Подстановка текстовых значений - работает. Вопрос в том, возможно ли подставить в URL переменный параметр. К примеру, стороннюю ссылку.

Также, возможно ли подстановка картинки из передаваемого URL в шаблон письма?
К примеру, штрих-код.

У меня такой же вопрос

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

Это делается реализацией своего обработчика макроса на основе IMacrosInvokable. См. обсуждения тут, тут и особенно тут. Стандартно в системе этот механизм использован для оценок по обращениям.

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

Привет, есть очень странное поведение программы.

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

Ошибка в консоли: 

*Cloud.
**7.14.4.1046

У меня такой же вопрос

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

Попробуйте смотреть в Fiddler, какие запросы идут из браузера на сервер, одинаковые ли. Вообще, время после последней компиляции не должно влиять, нужно искать настоящую причину: интеграция, время суток, одновременные доработки в это же время другими людьми и др.

Больше информации о причине можно было узнать из логов сайта на стороне сервера, где будет непосредственно видно стек в коде C# при ошибке 500. Но, поскольку это Cloud, их можно получить только через поддержку.

Вопрос закрыт.
Проблема была в коллизии названия полей в таблице "Адреса контрагентов" и "Контрагентах". Изменил название поля в Адресах и все заработало.

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

Добрый день всем. Возможно ли удалить выполненные кампании и email? Если да, то как?

У меня такой же вопрос

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

Как и любые другие записи в разделах, они хранятся в соответствующей таблице базы. Для упомянутых разделов это BulkEmail и Campaign.

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

Если сайт развёрнут на Ваших серверах, проще всего будет осуществлять вышеперечисленные действия в SQL Server Management Studio, запуская SQL-запросы.

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

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

При попытки установить приложение из Marketplace выдаёт такую ошибку и Лог файл 0 байт.

С чего начать ?

Версии и т.д. всё верное и не на одном приложение не ставится.

У меня такой же вопрос

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

Советую связаться с разработчиком, как правило контакты для связи можно найти на Маркетплэйсе. Проверьте лог ошибок (не лог установки) может там есть подозрительные записи.

Без отладки тяжело предположить причину ошибки, посмотрите требования кроме версии часто указано для какого продукта расширение (Например Service Desc)

Попробуйте перед установкой сгенерировать все схемы, перекомпилировать конфигурацию и очистить кэш рэдиса!.

Но самым эффективным способом локализации проблемы является отладка.

Советую связаться с разработчиком, как правило контакты для связи можно найти на Маркетплэйсе. Проверьте лог ошибок (не лог установки) может там есть подозрительные записи.

Без отладки тяжело предположить причину ошибки, посмотрите требования кроме версии часто указано для какого продукта расширение (Например Service Desc)

Попробуйте перед установкой сгенерировать все схемы, перекомпилировать конфигурацию и очистить кэш рэдиса!.

Но самым эффективным способом локализации проблемы является отладка.

А что написано у Вас в логе установки?

Причины могут быть разные: например, в имени пакета есть лишние символы (2), или, если сайт поднят у Вас, используется старая версия .NET и необходимо установить .NET Framework 4.7.2.

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

В элементах маркетинговых кампаний есть такой элемент "Добавить по триггеру", есть какая-то инструкция как работает данный элемент?

У меня такой же вопрос

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

NothingHappen,

По этой ссылке на Академии есть небольшой пример.

Хотя в целом информации по работе с данным элементом практически нет.

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

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

Это немного не то, мне нужно описание функционала данного элемента, что-то вроде такого:https://academy.terrasoft.ru/documents/marketing/7-14/element-dobavlenie-iz-gruppy?document=marketing

NothingHappen,

По этой ссылке на Академии есть небольшой пример.

Хотя в целом информации по работе с данным элементом практически нет.

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

Посмотрите эту статью в академии

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

Это не та ссылка((( Там только упоминание...

Войдите или зарегистрируйтесь, чтобы комментировать