GGLP

Настраиваем Terrasoft Creatio

Деактивация имеющихся записей в справочниках

Задача

Сделать недоступными для пользователя (скрыть / удалить) на целевой системе существующие записи в справочнике.

Наиболее часто возникает при настройке кейсов по статусной модели.

Например, необходимо скрыть, показанные на скриншоте, коробочные значения:

  • 1. Оформление
  • 2. Согласование
  • 3. Исполнение
  • 4. Завершен
  • 5. Отменен

Так, чтобы остались и использовались только новые значения:

  • 1. Зарезервирован
  • 2. Упакован
  • 3. Отгружен
  • 4. Доставлен
  • 10. Отменен покупателем
  • 13. Возвращен покупателем

Решение

  1. Включаем в справочнике возможность деактивации записей
    1. Добавляем Замещающий объект
    2. Выбираем исходный объект
    3. Включаем для него возможность деактивации записей в блоке Поведение - Разрешить деактивацию записей
    4. Сохраняем, публикуем
  2. Деактивируем коробочные записи
    1. Выводим колонку Деактивирована в реестр значений справочника
    2. Устанавливаем значение поля = Да для лишних записей
  3. Привязываем данные к пакету

Объяснение

Удаление записей через пакет можно перенести только с помощью SQL-скрипта. Однако само по себе удаление коробочных записей не самая хорошая идея, т.к. на них может быть завязана логика приложения (те же статусы могут использоваться в кейсах).

Поэтому лучше сами записи оставлять, но не отображать их пользователю.

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

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

Обсудить в Telegram