Присвоение номера документу

Получение регистрационного номера

Вероятно данная информация найдет человека, которому будет полезна. При настройке решения стояла задача автоматически генерировать регистрационный номер для карточки (в контроле Нумератор), при смене состояния. В контроле «Нумератор», существует настройка «Генерировать номер после сохранения», которая определяет необходимость автоматической генерации номера при сохранении карточки:

  • Когда флаг установлен и номер не присвоен, после выполнения сохранения карточки номер будет сформирован автоматически.
  • Когда флаг не установлен, автоматическое получение номера не производится

Но если мы переводим карточку из одного состояния в другое (например, Подготовка — Зарегистрирован) с помощью контрола «Автомат состояния» , то регистрационный номер сформирован не будет, связано это с тем, что в этот момент не вызывается метод сохранения карточки.

Мне удалось решить это, если повесить скрипт на событие «Перед сменой состояния» (cardStateChanging) контрола «Автомат состояния» (StateButtons):

export async function customSaveCard(sender: StateButtons, event: CancelableEventArgs<GenModels.OperationDataModel>) {
    event.wait();
    if (event.data.displayName === "Зарегистрировать") {
        await sender.layout.save();
    }
    event.accept();
}

Благодаря этому, мы будем вызывать функцию сохранения в том случае, если вызывается операция «Зарегистрировать». Далее срабатывает штатная логика генерирования номера в контроле и мы получаем ожидаемый результат 🙂 .


Опубликовано

в

от


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *