using Ban.Sdaid.Notation.Documents;
namespace Ban.Sdaid.Icd.Requirements
{
/// <summary>Свободное формирование пакета: хранитель снимает страницы карты подряд, без плана ввода.</summary>
public class FR_008_FreePacketComposition : IFunctionalRequirementDocument
{
public static string _refName = "FR-008 «Свободное формирование пакета кадров»";
public string Name => "FR-008. Свободное формирование пакета кадров";
public string Description =>
@"Сервис должен принимать пакет как набор кадров одной ИК, снятых без плана ввода; вид ИК, форму бланка и соответствие кадров страницам определяет Сервис при обработке.";
public string Version => "1.0";
public string Status => "draft";
public string[] Comments => new[]
{
"2026-08-18. Требование переписано: планы ввода упразднены, вместо них — свободное формирование пакета.",
};
public static string S1_FreeComposition = """
## Свободное формирование пакета
Хранитель формирует пакет **без плана**: снимает страницы одной информационной карты подряд,
ничего не выбирая заранее — ни вида карты, ни состава операций. Набор кадров и есть пакет.
Источники кадров — камера рабочего места (живое превью), файл с диска, ссылка (URL); все три
доступны одновременно. Кадры накапливаются в пакете, каждому присваивается очередной номер;
порядок правится перетаскиванием, кадр можно просмотреть, переснять и удалить до завершения ввода.
Число кадров в пакете ограничено настройкой; по умолчанию — пять. Кадр сверх предела не добавляется,
показывается сообщение о достигнутом пределе. Для завершения ввода нужен хотя бы один кадр.
""";
public static string S2_NoPlanNoManualInput = $"""
## Ни планов, ни ручного ввода на съёмке
**Что за карта введена и какой странице формы соответствует кадр, на вводе не задаётся** — это
определяет Сервис при обработке, разобрав кадры по составу опознанной формы; пользователь может
соответствие исправить.
**Идентифицирующая информация на съёмке не вводится.** Шифр, инвентарный номер и дата вписаны
на самой форме и извлекаются из кадров при обработке; недостающее пользователь вносит на проверке.
Таким образом экран ввода не содержит ни выбора плана, ни степпера операций, ни полей
идентификаторов — только область захвата и накопитель кадров.
Основание отказа от планов — {nameof(Ban.Sdaid.Icd.Arch.Adr.ADR_007_InputWithoutPlan)}; разбор
и объём изменений — в {nameof(Ban.Sdaid.Icd.ChangeRequests.DOC_CR_2026_08_14_InputWithoutPlan)}.
""";
public static string S99_Related = $"""
## Связанные артефакты
- {nameof(FR_001_ImageInput)} — ввод изображений (камера/диск/ссылка).
- {nameof(FR_003_AttributeExtraction)} — определение вида ИК и извлечение атрибутов при обработке.
- {nameof(Ban.Sdaid.Icd.Arch.Adr.ADR_007_InputWithoutPlan)} — решение о вводе без плана.
""";
}
}