Creatio development guide
PDF
Это документация Creatio версии 7.14.0. Мы рекомендуем использовать новую версию документации.

Установка для поля значения по умолчанию

Glossary Item Box

Общие сведения

В bpm'online реализована возможность определения значений по умолчанию для элементов управления страницы редактирования.

Установить значение по умолчанию можно двумя способами:

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

Виды значений по умолчанию:

Название Описание
Установить константу Строка, число, значение из справочника, логическое значение.
Установить из системной настройки Полный список настроек доступен из конфигурации в разделе [Системные настройки], и он может быть дополнен пользовательской системной настройкой.
Установить из системной переменной

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

  • Новый идентификатор;
  • Новый последовательный идентификатор;
  • Текущий пользователь;
  • Контакт текущего пользователя;
  • Контрагент текущего пользователя;
  • Текущее значение даты и времени;
  • Текущее значение даты;
  • Текущее значение времени.
Не устанавливать значение по умолчанию

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

Исходный код

Пакет с реализацией примеров можно скачать по ссылке.

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

Описание примера

При создании новой активности по умолчанию должен быть установлен признак [Отображать в расписании].

Алгоритм реализации примера

1. Создать в пользовательском пакете замещающий объект [Активность]

Создайте замещающий объект [Активность] ([Activity]) (рис. 1). Процесс создания замещающего объекта описан в статье "Создание схемы объекта".

Рис. 1. — Свойства замещающего объекта [Активность] ([Activity])

2. Установить для колонки [Отображать в расписании] ([Show in calendar]) значение по умолчанию

Выберите из списка унаследованных колонок объекта колонку [Отображать в расписании] ([Show in calendar]) и отредактируйте ее свойство [Значение по умолчанию] ([Default value]) как показано на рисунке 2. Для реализации примера выберите в качестве значения по умолчанию константное значение.

Рис. 2. — Установка значения по умолчанию для колонки [Отображать в расписании] ([Show in calendar])

После публикации схемы и обновления страницы приложения с очисткой кэша на странице редактирования активности при создании новой активности поле [Отображать в расписании] ([Show in calendar]) будет автоматически отмечено (рис. 3).

Рис. 3. Демонстрация установки значения по умолчанию

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

Описание примера

При создании нового проекта значение поле [Крайний срок] на странице редактирования проекта по умолчанию должно принимать значение поля [Начало] плюс 10 дней.

Алгоритм реализации примера

1. В пользовательском пакете создать замещающую страницу редактирования проекта

Создайте замещающий клиентский модуль, в котором в качестве родительского объекта укажите схему [Страница редактирования проекта] ([Project edit page], ProjectPageV2) (рис. 4). Процесс создания замещающей страницы описан в статье "Создание клиентской схемы".

Рис. 4. — Свойства замещающей страницы редактирования

2. В коллекцию методов модели представления страницы добавить реализацию методов

  • setDeadline() — метод-обработчик. Рассчитывает значение поля [Крайний срок] ([Deadline]).
  • onEntityInitialized() — переопределенный базовый виртуальный метод. Срабатывает после окончания инициализации схемы объекта. В него добавьте вызов метода-обработчика для установки значения поля [Крайний срок] ([Deadline]) в момент открытия страницы редактирования.

Исходный код замещающей схемы:

define("ProjectPageV2", [], function() {
    return {
        // Название схемы объекта страницы редактирования.
        entitySchemaName: "Project",
        methods: {
            // Переопределение базового метода Terrasoft.BasePageV2.onEntityInitialized(). 
            // Cрабатывает после окончания инициализации схемы объекта страницы редактирования.
            onEntityInitialized: function() {
                // Вызывается родительская реализация метода.
                this.callParent(arguments);
                // Вызов метода-обработчика, который рассчитывает значение колонки [Крайний срок].
                this.setDeadline();
            },
            // Метод-обработчик. Рассчитывает значение колонки [Крайний срок].
            setDeadline: function() {
                // Значение колонки [Крайний срок].
                var deadline = this.get("Deadline");
                // Установлен ли режим новой записи?
                var newmode = this.isNewMode();
                // Если значение не установлено и режим новой записи установлен.
                if (!deadline && newmode) {
                    // Получение значения колонки [Начало]
                    var newDate = new Date(this.get("StartDate"));
                    newDate.setDate(newDate.getDate() + 10);
                    // Установка значения колонки [Крайний срок].
                    this.set("Deadline", newDate);
                }
            }
        }
    };
});

После сохранения схемы и обновления страницы приложения при создании нового проекта в поле [Крайний срок] ([Deadline ]) будет установлена дата, равная дате в поле [Начало] ([Start ]) плюс 10 дней (рис. 5).

Рис. 5. — Демонстрация установки вычисляемого значения по умолчанию

 

© Terrasoft 2002-2019.

Был ли данный материал полезен?

Как можно улучшить эту статью?