Введение
Модуль массового изменения даты закрытия севооборотов (далее — Модуль) предназначен для автоматического и пакетного обновления даты окончания севооборотов на основе фактически зафиксированных событий: поступления урожая на ЗСК (талонов) и завершённых производственных заданий (ПЗ) типа «Уборка».
Инструмент уменьшает ручную работу, повышает согласованность планирования и учёта и обеспечивает контроль качества данных перед планированием следующего севооборота.
Обзор возможностей / ключевые элементы
Выборка полей по фильтрам: подразделение, культура, наличие следующей культуры, диапазоны допустимых расхождений (опционально).
Отображение ключевых дат: начало/текущая дата окончания севооборота, дата последнего талона (ЗСК), дата окончания самого позднего ПЗ (уборка).
Автоматический расчёт Новой даты закрытия по правилу: последняя дата (талон или ПЗ) + 1 день.
Фиксированная системная задержка 4 дня для предотвращения преждевременных закрытий.
Массовое обновление дат с обязательным указанием причины изменения и записью операции в журнал аудита.
Интеграция с источниками: ЗСК (талон), Монитор диспетчера (ПЗ). Формат полей интеграций — ситуационный.
Рекомендованная операционная практика: обрабатывать небольшие пакеты строк за одну операцию.
Структура интерфейса и описание полей
Левая панель — Фильтры
Подразделение — выбор подразделения или «Все».
Культура — выбор культуры или «Все».
Есть следующая культура — Да/Нет; отображает поля, для которых уже создан следующий севооборот.
Максимальное число дней между окончанием севооборота и талоном — целое число (дни); если поле пустое — фильтр игнорируется.
Максимальное число дней между ПЗ и талоном — целое число (дни); если пусто — фильтр игнорируется.
Обновить — применяет выбранные фильтры.
Табличная часть — колонки
Год урожая — год уборки (DD.MM.YYYY / год).
Вариант выращивания — наименование технологической карты.
Культура — наименование культуры.
Поле — идентификатор (код/наименование) поля.
Подразделение — наименование подразделения.
Начало севооборота — дата начала (DD.MM.YYYY).
Окончание севооборота — текущая дата окончания в системе (DD.MM.YYYY).
Дата последнего талона — дата последней записи прихода урожая с поля в ЗСК (если есть).
Дата окончания самого позднего ПЗ — дата завершённого ПЗ типа «Уборка».
Разница в днях между окончанием севооборота и талоном — целое число (может быть отрицательным).
Разница в днях между ПЗ и талоном — целое число.
Разница в днях между ПЗ и окончанием севооборота — целое число.
Новая дата закрытия севооборота — предлагаемая системой дата (максимум(талон, ПЗ) + 1). Массовая операция использует рассчитанные значения.
Следующая культура — наименование культуры следующего севооборота (если создан).
Элементы управления
Выполнить — выполнение поиска.
Действия — дополнительное меню.
Обновить дату окончания севооборота — основная кнопка массового обновления. При нажатии открывается диалог подтверждения с обязательным полем «Причина изменения».
Рис. 1. Общий вид страницы
Пошаговая инструкция
Подготовка выборки
Перейдите в модуль:
«Главное меню» → «Севооборот» → «Планирование СПП» → «Закрытие севооборота»
На левой панели, при необходимости, укажите фильтры:
Подразделение;
Культура;
Есть следующая культура;
- Максимальное число дней между окончанием севооборота и талоном;
- Максимальное число дней между ПЗ и талоном.
Нажмите Обновить.
Рис. 2. Переход в раздел и применение фильтров
Анализ и валидация строк
Просмотрите отобранные строки; для корректного закрытия нужна хотя бы одна валидная дата: Дата последнего талона или Дата окончания ПЗ.
Проверьте колонку Новая дата закрытия севооборота — рассчитывается автоматически; вручную не меняется.
Строки без данных по талонам и ПЗ помечаются «Требует проверки» и не включаются в массовую операцию автоматически.
Подготовка к массовому подтверждению
Отметьте чек-боксами строки для обновления.
Нажмите Обновить дату окончания севооборота.
В диалоге подтвердите ввод: Причина изменения — обязательное текстовое поле.
Нажмите Подтвердить.
После завершения
Проверьте журнал аудита (хранение журнала оставляется без изменений).
Убедитесь, что связанные расчёты планирования обновлены, и поле доступно для формирования следующего севооборота при необходимости.
Бизнес-логика расчёта и правила верификации
Правило расчёта
Новая дата = максимальная дата среди «Дата последнего талона» и «Дата окончания самого позднего ПЗ», плюс 1 день.
Параллельно применяется фиксированная системная задержка 4 дня в служебных проверках (внутренняя логика определения окончательного состояния).
Обработка конфликтов и неполных данных
Отсутствие обеих дат → строка исключается из массовой операции (помечается для ручной проверки).
Несколько талонов → используется самая поздняя дата талона.
Несоответствие (разрыв) больше, чем указано в фильтре → строка подлежит ручной проверке и не включается автоматически (если фильтр задан).
Важные требования и предупреждения
Причина изменения обязана быть заполнена при каждой массовой операции.
До подтверждения операции тщательно проверяйте выборку.
Предыдущий севооборот должен быть закрыт перед размещением новой культуры.
Рекомендуется работать с малыми партиями записей для удобства контроля и восстановления в случае ошибок.

