Блог
Комплект расширений для настройки Creatio
- Информация о материале
- Категория: Правила жизни
- Опубликовано: 12 августа 2021
- Просмотров: 1439

За время работы над проектами по внедрению Terrasoft Creatio сформировался набор расширений с маркетплейса, который полезно использовать при настройке каждого приложения
Flushing Redis cache for Creatio
Позволяет очистить кэш Redis для всех пользователей непосредственно из Creatio в приложениях, развернутых как on-site, так и cloud.
Также позволяет перезагрузить пул приложений напрямую из приложения.
Это расширение позволяет решить проблему недоступности Redis-сервера при настройке в облаке вендора, да и при on-site настройке удобно очищать кэш прямо из приложения.
SQL Executor for Creatio
Наверное, самое популярное бесплатное расширение на маркетплейсе. Модуль для выполнения SQL-запросов из интерфейса Creatio без прямого доступа к БД.
Позволяет работать напрямую с данными в БД - добавлять / изменять / удалять.
Не для установки на продуктивных системах, т.к. работает без проверки прав доступа и логирования.
Object structure export for Creatio
Очень полезное расширение для формирования итоговой документации - позволяет выгружать структуру обьектов Creatio в Excel файл с помощью бизнес-процесса.
Refresh Data Button for Creatio
Хорошее расширение для демонстрации работы с данными - если в результате выполнения процессов записи изменились, можно обновить реестр, карточку и детали без необходимости перезагрузки всей страницы.
Access rights setup wizard for Creatio
При первоначальной миграции данных и неустоявшейся ролевой модели часто бывает необходимо обновить права доступа на записи. Это расширение позволяет раздавать права на группы записей.
Обсудить в Telegram
Деактивация имеющихся записей в справочниках
- Информация о материале
- Категория: Хаутушки
- Опубликовано: 11 августа 2021
- Просмотров: 1082

Задача
Сделать недоступными для пользователя (скрыть / удалить) на целевой системе существующие записи в справочнике.
Наиболее часто возникает при настройке кейсов по статусной модели.
Например, необходимо скрыть, показанные на скриншоте, коробочные значения:
- 1. Оформление
- 2. Согласование
- 3. Исполнение
- 4. Завершен
- 5. Отменен
Так, чтобы остались и использовались только новые значения:
- 1. Зарезервирован
- 2. Упакован
- 3. Отгружен
- 4. Доставлен
- 10. Отменен покупателем
- 13. Возвращен покупателем
Решение
- Включаем в справочнике возможность деактивации записей
- Добавляем Замещающий объект
- Выбираем исходный объект
- Включаем для него возможность деактивации записей в блоке Поведение - Разрешить деактивацию записей
- Сохраняем, публикуем
- Деактивируем коробочные записи
- Выводим колонку Деактивирована в реестр значений справочника
- Устанавливаем значение поля = Да для лишних записей
- Привязываем данные к пакету

Объяснение
Удаление записей через пакет можно перенести только с помощью SQL-скрипта. Однако само по себе удаление коробочных записей не самая хорошая идея, т.к. на них может быть завязана логика приложения (те же статусы могут использоваться в кейсах).
Поэтому лучше сами записи оставлять, но не отображать их пользователю.
Деактивированные записи не появляются в фильтрах, их нельзя выбрать в выпадающих списках на карточках. Но в реестре записей справочника они отображаются.
Если для раздела / справочника включено управление правами по записям, дополнительно можно снимать права на просмотр (в дополнение к изменению / удалению) деактивированных записей. Тогда их не будет видно и в реестре.
Обсудить в Telegram
Локальное доменное имя
- Информация о материале
- Категория: Хаутушки
- Опубликовано: 10 августа 2021
- Просмотров: 1235

Задача
Сделать так, чтобы локальное приложение работало по доменному имени, а не по IP-адресу + порту.
Например, чтобы приложение открывалось не по адресу http://192.168.1.1:81/ и не по адресу http://localhost:81/, а по адресу http://agile.bequiet.gglp.ru/
Решение
Необходимо настроить трансляцию своего доменного имени в локальный IP адрес и настроить привязку сайта на IIS-сервере к своему доменному имени.
- Переходим в настройки сайта на IIS-сервере, кликаем на пункт Привязки в меню Изменение веб-сайта, добавляем доменное имя, по которому мы хотим обращаться к сайту (в нашем примере agile.bequiet.gglp.ru), без протокола http или https, указываем стандартный порт (80 - для http, 443 - для https). Сохраняем.

- Добавляем трансляцию доменного имени в локальный IP-адрес в файле hosts.
Файл расположен по пути C:\Windows\System32\drivers\etc\hosts, открывать с правами администратора.
В конец файла добавляем строку127.0.0.1 agile.bequiet.gglp.ru
Теперь приложение должно открываться по доменному имени. Будет работать только с локального компьютера.
Описание
При разрешении доменного имени в IP-адрес, система сначала смотрит настройки локального файла hosts, а только затем обращается к dns-серверу. Можно сразу указать нужный нам домен и транслировать его в локальный IP-адрес без необходимости обращения к dns-серверу (а перед этим регистрации доменного имени, настройки трансляции, проброски портов на роутере и т.п.).
IIS умеет проксировать запросы в рамках определённого доменного имени на нужный сайт. Достаточно настроить привязку имени к сайту.
Дополнительный плюс - на одном стандартном порту - 80 или 443, может работать любое количество сайтов / веб-приложений.
Чтобы открывать приложение с другого компьютера в локальной сети можно на другом компьютере в файле hosts указать не 127.0.0.1, а локальный IP-адрес компьютера, на котором развёрнуто приложение. В нашем примере это 192.168.1.1
Обсудить в Telegram
Ошибка лендинга SaveWebFormObjectDataResult "{exceptionType:"",resultMessage:"Not allowed request URL.",resultCode:-1}"
- Информация о материале
- Категория: Ошибки
- Опубликовано: 09 августа 2021
- Просмотров: 1077

Дано
- Terrasoft Creatio 7.17.3 (но возможно проблема актуальна и для более новых версий)
- Настроенный Лендинг на приложении http://demo.bequiet.gglp.ru/
- Настроенная форма на сайте http://default.bequiet.gglp.ru/landing.html
Ошибка
При отправке формы в Creatio данных не появляется, в консоли 200 ответ и текст ответа SaveWebFormObjectDataResult "{exceptionType:\"\",resultMessage:\"Not allowed request URL.\",resultCode:-1}"
Решение
Достаточно в поле Домены сайта в карточке Лендинга в Creatio указать не только адрес формы, но и отдельно имя домена.
В нашем примере: http://default.bequet.gglp.ru/landing.html, http://default.bequet.gglp.ru
Описание
Ошибка возникает из-за политики ограничения переадресации в браузерах. Creatio ожидает исходную ссылку в виде http://default.bequiet.gglp.ru/landing.html, а приходит http://default.bequiet.gglp.ru/.
Поэтому форма успешно отправляется (200 ответ), но в Creatio данные не добавляются, т.к. источник формы не совпадает с настройками Лендинга в приложении.
Более подробное описание причины ошибки можно найти в оригинальной статье: Issue with Creatio Landing Pages For Chrome 85 and Safari 14 (Plus a Workaround)
Обсудить в Telegram
Как в процессе добавить несколько стартовых сигналов
- Информация о материале
- Категория: Хаутушки
- Опубликовано: 07 августа 2021
- Просмотров: 1930
Бывает, что в бизнес-процессах необходимо выполнить одни и те же операции при получении разных сигналов от объекта - создание, изменение, удаление. Чтобы не создавать несколько разных бизнес-процессов, можно создать один процесс с несколькими стартовыми сигналами.
Задача
Учесть в бизнес-процессе несколько стартовых событийных сигналов.
Решение
- Добавляем нужные стартовые сигналы, заводим их в один шаг Читать данные
- В шаге Читать данные заполняем фильтры по Id равным Id записей в стартовых сигналах с группировкой в режиме ИЛИ
Объяснение
По умолчанию Id записей в обоих стартовых сигналах равны null. При срабатывании одного из сигналов в нём заполняется значение Id (например, 04f4707e-122b-4dc7-9c70-aaf8f1cbfe14), и при группировке ИЛИ в фильтре выбора нужной записи мы будем получать условие:
WHERE Id = '04f4707e-122b-4dc7-9c70-aaf8f1cbfe14' OR Id is null
Т.к. поле Id во всех записях системное и обязательное для заполнения, оно не может быть равно null, соответственно в результате всегда будет выдаваться только одна запись с указанным Id.
Обсудить в Telegram
