Выгрузка
Сформированный файл для загрузки в АБИС: когда сформирован, из каких карт, в каком формате и где лежит.
1. Назначение
Выгрузка — факт того, что файл сформирован, и всё, что о нём известно: момент, состав, формат, место в хранилище. Дальше файл живёт вне Сервиса: он его кладёт, а не отправляет, и судьбы его не наблюдает (ADR-013 «Файл выгрузки формируется при создании карты»).
Обычный путь — формирование при создании карты, без отдельного действия пользователя. Реже файл понадобится заново: прежний утрачен или испорчен, и администратор формирует его повторно из реестра карт. Обе выгрузки устроены одинаково и различаются только происхождением.
Сущность нужна ради журнала. По одной дате в карте нельзя ответить, что ушло вместе, под каким именем и в каком формате, — а без этих ответов файл, появившийся без участия человека, остаётся незаметным.
2. Состав
В выгрузку входит одна карта или несколько — это зависит от формата обмена, а не от устройства модели. Формат, допускающий файл на карту, даёт выгрузки из одной записи; формат, требующий пачку, — из многих.
Связь с картами многие ко многим: карта может входить в несколько выгрузок, если файл формировался повторно. Дата выгрузки в самой карте — отметка «файл сформирован» и указывает на последнюю по времени; это проекция для реестра, источник истины — выгрузка.
3. Инварианты
- Выгрузка не создаётся пустой: как минимум одна карта.
- Запись появляется после того, как файл сформирован. Незавершённой выгрузки не существует, состояний у неё нет.
- Момент, состав и файл не меняются: понадобился новый файл — заводится новая выгрузка, прежняя остаётся как была.
- В выгрузку входят только созданные карты. Другой и не бывает: неполной карты не существует.
4. Если файл не сформировался
Записи не появляется, и карта остаётся непомеченной. Создание карты при этом не отменяется: работа оператора не должна пропадать из-за сбоя записи файла.
Такая карта видна в реестре по фильтру состояния выгрузки, и файл для неё формируется повторно — тем же административным действием, что и при утрате файла. Отдельного механизма починки не требуется, и признака ошибки заводить не нужно: отсутствие выгрузки и есть признак.
Свойства
| Свойство | Тип | Описание |
|---|---|---|
Id | Guid | Идентификатор выгрузки. |
CreatedAt | DateTime | Момент формирования файла. |
CreatedByUserId | Guid | Пользователь, чьё действие привело к формированию файла. |
FormatCode | String | Код формата обмена, в котором сформирован файл. |
FileName | String | Имя файла — то, по чему его опознают снаружи Сервиса. |
StorageKey | String | Ключ файла в хранилище. |
Origin | ExportOrigin | Как возникла выгрузка: при создании карты или по команде администратора. |
Cards | IReadOnlyList<InformationCard> | Карты, вошедшие в файл; при выгрузке по созданию — одна. |
Структурные связи
Реализует
Используется
- Документ Разбор образца выгрузки в АБИС
- Экран Журнал выгрузок