Генерация лицензий по подписке

Введение

В статье описан процесс генерации лицензий по подписке.

Доработка заявки Новый заказ

  1. В шапку заявки “Новый заказ” добавлен чекбокс “Начать работать со следующего месяца”, а в табличную часть - столбцы “Дата начала лицензии” и “Дата окончания лицензии”. Эти реквизиты будут отображаться на форме заявки если в поле “Тип продукта” выбрано значение “Лицензия по подписке”, а в “Способ получения лицензии” - значение “Новый объект” или “Докупка”.
  2. Если флаг “Начать работу со следующего месяца” установлен, значит лицензия будет создаваться с датой начала равной первому числу следующего месяца. Если же флаг не установлен, то лицензия будет создаваться с датой начала равной первому числу текущего месяца. Дата окончания лицензии рассчитывается исходя из значений “Дата начала лицензии” и “Кол-во месяцев”.
  3. Если в заявку выбрано ПО на льготный период, то флаг “Начать работу со следующего месяца” будет установлен и недоступен для редактирования. То есть продукт в текущем периоде будет предоставлен на льготных условиях, а рабочая МЛ будет генериться по окончанию всех льготных и тестовых периодов.
  4. Лицензия, выдаваемая на тестовый период, может выдаваться на срок отличный от календарного месяца. То есть “Дата начала лицензии“ может быть отлична от начала месяца, а “Дата окончания лицензии” - отлична от даты последнего дня месяца. При этом флаг снят “Начать работу со следующего месяца” автоматически устанавливается и становится недоступен для выбора.
  5. При открытии на редактирование заявки в статусе “Черновик” или  “Отклонена” осуществляется проверка табличной части заявки. Если находится продукт
    • у которого дата в поле “Дата окончания лицензии” меньше либо равна текущей дате
    • или текущая дата попадает в интервал между “Датой начала лицензии” и “Датой окончания лицензии”, и флаг “Начать работу со следующего месяца” установлен,
      тогда пользователю показывается сообщение с текстом “Даты начала и окончания лицензий неактуальны и будут пересчитаны автоматически”

      При нажатии на кнопку “Ок” сообщение закрывается, а даты начала и окончания лицензий у соответствующих продуктов пересчитываются по логике, описанной в п.2).
  6. При изменении статуса заявки с типом продукта “Лицензия по подписке” на “Отправлено в UCS” или “Подтверждена” из списка заявок, осуществляется проверка заполненности и актуальности значений полей “Дата начала лицензии” и “Дата окончания лицензии”. Если даты не заполнены или неактуальны, то такая заявка открывается на редактирование и выполняются действия, описанные в п.5).
  7. У заявок, переведенных в статус “Отправлено в UCS” до момента  обновления по текущей задаче, поля “Дата начала лицензии” и “Дата окончания лицензии” заполняются значениями “Дата создания” и “Дата окончания” мастер-лицензии после ее создания.

Доработка раздела "Основные характеристики"

В карточку объекта на вкладке "Основные характеристики" добавлен флаг "Автопродлять АЛ". Если флаг установлен, то активная лицензия будет продлена автоматически до даты окончания мастер-лицензии, если дата окончания мастер-лицензии больше даты окончания активной лицензии.

Данный флаг доступен для просмотра и изменения пользователям с ролью дилер-менеджер (dealer_manager).

Доработка раздела “Лицензии” карточки объекта

В карточку объекта на вкладку “Лицензии” таблицы мастер-лицензий добавлены столбцы:

Сценарии работы

Сценарий работы с предусмотренным льготным периодом

  1. Создать заявку “Новый заказ”
  2. Заполнить следующие реквизиты указанными значениями:
    • Способ получения лицензии - “Докупка”
    • Тип продукта - “Лицензия по подписке”
    • Выбрать ПО по подписке, например, “R-Keeper Lite модуль Касса пакет Start 1 мес. ПО”. У него предусмотрен льготный период:
  3. Флаг “Начать работу со следующего месяца” по умолчанию устанавливается и недоступен для изменения
  4. В поле “Льготный период” автоматически устанавливается значения из поля “Льготный период” карточки продукта
  5. Поле “Дата начала льготного периода” автоматически заполняется значением создания заявки, а поле “Дата окончания льготного периода” - последним числом месяца создания заявки
  6. Поле “Дата начала лицензии” автоматически заполняется первым числом месяца, следующим за месяцем создания заявки, а поле “Дата окончания лицензии” - последним числом месяца, следующим за месяцем создания заявки
  7. После оплаты и подтверждения заявки созданная мастер-лицензия появляется в лицензиях объекта:

    Статус лицензии - “Льготный период”. Также в таблице можно видеть информацию об интервале, в течение которого будет работать мастер-лицензия по окончанию льготного периода - это интервал с 01.05.2020 по 31.05.2020.
  8. Далее, после срабатывания.обработчика устаревания в конце текущего месяца, 30.04.2020, льготный период закончится, “Дата продления” изменится на значение поля “Дата начала периода продления” (то есть на 01.05.2020), а “Дата окончания лицензии” - значение поля “Дата окончания периода продления” (то есть на 31.05.2020).

    Из таблицы видно, что в данном примере продление лицензии на следующий период не предусмотрено (поля “Дата начала периода продления”, “Дата окончания периода продления” и “Кол-во на след.период” не заполнены), а статус мастер-лицензии изменился на “Активная”.
  9. Конец сценария

Сценарий работы без льготного периода

  1. Создать заявку “Новый заказ”
  2. Заполнить следующие реквизиты указанными значениями:
    • Способ получения лицензии - “Докупка”
    • Тип продукта - “Лицензия по подписке”
    • Выбрать ПО по подписке, например, “R-Keeper Lite модуль Касса пакет Start 1 мес. ПО”. У него не предусмотрен льготный период:
  3. Флаг “Начать работу со следующего месяца” не установлен
  4. Поле “Дата начала лицензии” заполняется первым числом текущего месяца, а поле “Дата окончания лицензии” - последним числом текущего месяца
  5. После оплаты и подтверждения заявки созданная мастер-лицензия появляется в лицензиях объекта со статусом “Активная”:
  6. Не дожидаясь срабатывания механизма автопродления лицензии по подписке, можно создать заявку “Новый заказ” и заполнить у нее реквизиты указанными значениями:
    • Способ получения лицензии - “Ручное продление подписки”
    • Документ-основание - номер заявки из шага 2) - то есть 702792. После этого остальные реквизиты шапки и табличной части создаваемой заявки заполняются автоматически.
  7. После подтверждения заявки в карточке объекта можно увидеть, что у мастер-лицензии из п.5) заполнились поля “Дата начала периода продления”, “Дата окончания периода продления” и “Кол-во на след.период”, а поле “Номер заявки” обновилось значением заявки на продление из шага 6):
  8. После оплаты МЛ и срабатывания обработчика устаревания 30.04.2020 значение в поле “Дата продления” изменится на значение поля “Дата начала периода продления”, а в поле “Дата окончания” - на значение поля “Дата окончания периода продления”
  9. Конец сценария