В работе систем автоматизации алкогольной продукции часто возникают ситуации, когда внешние контролирующие органы (ФСРАР/ЕГАИС) меняют форматы обмена данными без предварительного уведомления. Одним из самых массовых случаев стала ошибка «Запись не верна! Период не может быть пустым!», возникающая при попытке загрузить входящие ТТН или квитанции в конфигурациях 1С. Разберем детально причины этого сбоя и рассмотрим все доступные способы решения — от программной правки кода до административных манипуляций в интерфейсе программы.
Проанализируем ситуацию: ошибка возникает в момент записи данных в регистры накопления, например, в ОстаткиАлкогольнойПродукцииЕГАИС. В платформе 1С любое движение в регистре накопления должно иметь дату (период). Если система не может определить дату документа-основания, она пытается записать «пустую» дату, что вызывает системный отказ.
Первопричина кроется в изменении типа XML-документа, который присылает сервер ЕГАИС. Ранее система ожидала значения WayBill, WayBill_v2 или WayBill_v3. Однако после обновления серверов ФСРАР в квитанциях о фиксации актов (WayBillAct) стало приходить значение WAYBILLACT_V3 (в верхнем регистре и с иным префиксом). Программная логика 1С, ответственная за разбор XML, не находила это значение в списке «разрешенных», из-за чего функция определения типа документа возвращала неопределенность, и дата регистрации движения оставалась пустой.
Если ваша конфигурация находится на поддержке с возможностью изменения, мы можем внести исправления непосредственно в программный код. Этот метод является наиболее надежным, так как устраняет саму причину некорректного распознавания типов документов.
Разберем по шагам процесс внесения изменений:
ИнтеграцияЕГАИС (в некоторых конфигурациях он может называться ИнтеграцияЕГАИСПеречисления или иметь схожее имя в зависимости от версии БСП).ДокументСоответствуетТипуЕГАИС.Пример кода, который необходимо модифицировать:
// В функции ДокументСоответствуетТипуЕГАИС(ТипДокумента)
// Находим блок проверки типов WayBill
Если ТипДокумента = "WayBill"
Или ТипДокумента = "WayBill_v2"
Или ТипДокумента = "WayBill_v3"
// Добавляем новые типы, которые начал присылать УТМ:
Или ТипДокумента = "WAYBILLACT_V1"
Или ТипДокумента = "WAYBILLACT_V2"
Или ТипДокумента = "WAYBILLACT_V3" Тогда
Возврат Истина;
КонецЕсли;
После внесения этих изменений система начнет корректно определять дату из входящего Ticket (квитанции), и ошибка записи периода исчезнет.
Для пользователей базовых версий 1С или тех, кто не хочет снимать программу с поддержки, существует «хитрый» способ заставить систему принять документ. Рассмотрим алгоритм действий в режиме «1С:Предприятие»:
Этот метод помогает «протолкнуть» зависшие тикеты, так как логика проверки даты при обычном обмене и при проведении документа может отличаться в зависимости от релиза конфигурации.
Если документов много и ручная отмена проведения не помогает, проанализируем ситуацию с точки зрения данных. Ошибка сообщает нам, что поле Период не заполнено. В документе ТТН ЕГАИС за дату движений отвечает скрытый реквизит ДатаРегистрацииДвижений.
Рассмотрим, как заполнить его принудительно:
ТТН ЕГАИС входящая.Дата регистрации движений.После того как реквизит ДатаРегистрацииДвижений перестанет быть пустым, система сможет успешно завершить транзакцию записи в регистры накопления.
Поскольку данная проблема носит массовый характер и связана с изменениями на стороне ФСРАР, фирма «1С» оперативно выпускает исправления. Рассмотрим два варианта:
Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Проверьте наличие патчей для вашей конфигурации (например, для Розницы 2.2 это был патч EF_00003887). Установите его, и перезагрузите сеанс.WAYBILLACT_V3 уже встроена в ядро системы.Важно понимать, что ошибка «Период не может быть пустым» — это лишь следствие. Основная проблема — нарушение синхронизации форматов между 1С и ЕГАИС. Если вы используете временные решения (вроде ручного заполнения даты), обязательно запланируйте полноценное обновление системы, так как ФСРАР может продолжить изменять форматы XML-схем, вводя новые версии (v4, v5 и так далее). Мы настоятельно рекомендуем следить за новостями на официальных форумах и своевременно обновлять компоненты обмена (УТМ) и саму учетную систему.