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

Рис. 1. Общий вид страницы
Перейдите в модуль:
«Главное меню» → «Севооборот» → «Планирование СПП» → «Закрытие севооборота»
На левой панели, при необходимости, укажите фильтры:
Подразделение;
Культура;
Есть следующая культура;
Нажмите Обновить.

Рис. 2. Переход в раздел и применение фильтров
Просмотрите отобранные строки; для корректного закрытия нужна хотя бы одна валидная дата: Дата последнего талона или Дата окончания ПЗ.
Проверьте колонку Новая дата закрытия севооборота — рассчитывается автоматически; вручную не меняется.
Строки без данных по талонам и ПЗ помечаются «Требует проверки» и не включаются в массовую операцию автоматически.
Отметьте чек-боксами строки для обновления.
Нажмите Обновить дату окончания севооборота.
В диалоге подтвердите ввод: Причина изменения — обязательное текстовое поле.
Нажмите Подтвердить.
Проверьте журнал аудита (хранение журнала оставляется без изменений).
Убедитесь, что связанные расчёты планирования обновлены, и поле доступно для формирования следующего севооборота при необходимости.
Новая дата = максимальная дата среди «Дата последнего талона» и «Дата окончания самого позднего ПЗ», плюс 1 день.
Параллельно применяется фиксированная системная задержка 4 дня в служебных проверках (внутренняя логика определения окончательного состояния).
Отсутствие обеих дат → строка исключается из массовой операции (помечается для ручной проверки).
Несколько талонов → используется самая поздняя дата талона.
Несоответствие (разрыв) больше, чем указано в фильтре → строка подлежит ручной проверке и не включается автоматически (если фильтр задан).
Причина изменения обязана быть заполнена при каждой массовой операции.
До подтверждения операции тщательно проверяйте выборку.
Предыдущий севооборот должен быть закрыт перед размещением новой культуры.
Рекомендуется работать с малыми партиями записей для удобства контроля и восстановления в случае ошибок.