Как разрешить редактирование номенклатуры в документе «Поступление товаров» в «1С:Розница» при работе с ЕГАИС?

Пользователь 1С v8.3 (Управляемые формы) 1С:Розница Торговля и дистрибуция
← На главную

При работе в программе «1С:Розница» (версий 2.2 и 2.3) пользователи часто сталкиваются с ситуацией, когда после проведения документа Поступление товаров (ПТУ) требуется заменить карточку номенклатуры или отредактировать количество в табличной части. Однако система намертво блокирует любые изменения, выдавая предупреждения или просто не позволяя активировать ячейки для редактирования. Особенно остро эта проблема встает при розничной торговле алкогольной продукцией, жестко контролируемой через систему ЕГАИС.

В этой статье мы подробно разберем, почему программа ведет себя подобным образом, проанализируем внутренние механизмы платформы и рассмотрим четыре практических способа решения этой проблемы: от простых пользовательских манипуляций до доработки системы с помощью расширений конфигурации.

---

Выясняем причину блокировки: почему 1С запрещает редактирование?

Перед тем как переходить к активным действиям, давайте разберемся в логике работы конфигурации. Разработчики фирмы «1С» заложили в программный код жесткие ограничения для предотвращения расхождений между остатками в ЕГАИС и данными в вашей локальной базе данных.

Когда в систему поступает входящая ТТН ЕГАИС, на ее основании создается документ Поступление товаров. В этот момент между документами устанавливается строгая связь. В коде формы ПТУ срабатывает проверка: если в строке табличной части заполнено служебное поле АлкогольнаяПродукция, а в самом документе не зафиксирован факт расхождения с ЕГАИС (то есть признак ЕстьРасхождения имеет значение Ложь), система переводит форму в режим «только чтение» для этих строк. При попытке изменить или удалить строку срабатывает отказ в стандартных процедурах ТоварыПередУдалением или ТоварыПередНачаломИзменения.

Изменение номенклатуры «напрямую» в проведенном документе может привести к тому, что в системе ЕГАИС за вами числится один алкогольный код (алкокод), а на вашем внутреннем складе в 1С будет числиться совершенно другой товар. Тем не менее, ситуации, когда корректировка жизненно необходима (например, ошиблись при первоначальном сопоставлении номенклатуры), возникают регулярно. Рассмотрим способы обхода этого ограничения.

---

Способ 1. Временное снятие связи с ЕГАИС через групповое изменение реквизитов

Этот способ является наиболее быстрым и не требует снятия документа с проведения или изменения программного кода. Мы воспользуемся штатной обработкой для временного очищения связи строки поступления с алкогольной продукцией ЕГАИС.

Разберем этот процесс по шагам:

  1. Перейдем в раздел меню Администрирование, далее выберем пункт Обслуживание.
  2. В открывшемся окне развернем подраздел Корректировка данных и перейдем по ссылке Групповое изменение реквизитов.
  3. В поле «Изменять:» выберем тип данных Поступление товаров.
  4. Чтобы не изменить лишние документы, обязательно настроим отбор. Нажмем на ссылку «Все элементы» и добавим условие: Ссылка Равно [Ваш документ поступления] (выбираем конкретный документ по дате и номеру).
  5. В нижней части формы отобразятся реквизиты документа. Нам необходимо перейти на вкладку Товары (это табличная часть нашего ПТУ).
  6. Найдем в списке реквизитов строку Алкогольная продукция. Установим напротив нее флаг изменения, а в поле «Новое значение» оставим пустоту (очистим поле).
  7. Нажмем кнопку Изменить реквизиты в правом нижнем углу.

После выполнения обработки связь между строками документа поступления и номенклатурой ЕГАИС будет временно разорвана на уровне базы данных. Теперь мы можем зайти в документ Поступление товаров и свободно заменить ошибочную карточку номенклатуры на правильную. После проведения документа связь с ЕГАИС можно восстановить аналогичным способом, вернув нужное сопоставление в групповой обработке, либо оставить как есть, если дальнейший автоматический учет этой связки в данном документе не требуется.

---

Способ 2. Исправление сопоставления номенклатуры (устранение первопричины)

Часто необходимость редактирования документов возникает из-за того, что при первом приеме накладной оператор ошибочно сопоставил присланный поставщиком алкокод с неверной карточкой номенклатуры в локальной базе 1С. Если мы просто отредактируем один документ, при следующем поступлении этого товара ошибка повторится. Нам нужно исправить первопричину.

Рассмотрим, как правильно пересопоставить продукцию:

  1. Откроем раздел Продажи или Закупки и перейдем в рабочее место Обмен с ЕГАИС.
  2. Найдем и откроем справочник Сопоставление номенклатуры ЕГАИС (или Классификатор алкогольной продукции ЕГАИС).
  3. В списке найдем ту самую позицию алкогольной продукции от поставщика, которая сопоставляется неверно.
  4. Разорвем текущую связь с неправильной карточкой товара 1С. В зависимости от версии конфигурации, для этого может потребоваться очистить поле сопоставления или нажать кнопку «Отменить сопоставление».
  5. Выберем или создадим правильную карточку номенклатуры 1С и свяжем ее с алкокодом производителя.

Важное предупреждение: начиная с версий «1С:Розница» 2.2.8, разработчики внедрили жесткий контроль по принципу «один товар — одно сопоставление». Избегайте ситуаций, когда к одной карточке номенклатуры 1С привязывается несколько разных алкокодов от разных производителей. Это гарантированно вызовет хаос при формировании деклараций и партионном учете остатков.

---

Способ 3. Переоформление документов через входящую ТТН ЕГАИС

Если вы хотите, чтобы вся цепочка документов в системе была абсолютно «чистой» и согласованной с точки зрения методологии 1С, лучше всего переоформить документы через ЕГАИС. Этот способ исключает ручное вмешательство в базу данных.

Посмотрим на алгоритм действий:

  1. Откроем входящую ТТН ЕГАИС, связанную с нашим проблемным поступлением.
  2. В форме ТТН перейдем к сопоставлению данных. Поскольку мы уже исправили сопоставление номенклатуры (как описано в Способе 2), нам нужно обновить данные.
  3. Пометим старый документ Поступление товаров на удаление. Это освободит связанные регистры.
  4. В ТТН ЕГАИС нажмем кнопку Создать поступление (или оформить поступление товаров).
  5. Программа автоматически создаст новый документ Поступление товаров, в котором строки заполнятся уже правильной, вновь сопоставленной номенклатурой 1С.
  6. Проведем новый документ ПТУ.

Этот метод гарантирует отсутствие скрытых ошибок в регистрах накопления и регистрах сведений ЕГАИС, которые могут "вылезти" при последующей инвентаризации или сдаче алкодекларации.

---

Способ 4. Разрешение изменений на постоянной основе (для разработчиков)

Если специфика вашего бизнес-процесса требует регулярного ручного вмешательства в проведенные документы, и вы устали каждый раз использовать групповые обработки, блокировку можно отключить на программном уровне. Делать это путем изменения типовой конфигурации крайне не рекомендуется, так как это усложнит последующие обновления программы. Правильное решение — использовать механизм расширений конфигурации.

Проанализируем пример кода, который программист может внедрить в расширение для формы документа Поступление товаров. Нам нужно перехватить события, блокирующие редактирование строк.

Ниже представлен пример реализации в расширении для процедуры ТоварыПередНачаломИзменения:


&НаКлиенте
Процедура Расш_ТоварыПередНачаломИзмененияПеред(Элемент, Отказ)
    // Отключаем стандартный отказ системы при редактировании строк с алкоголем
    Отказ = Ложь; 
КонецПроцедуры

Также может потребоваться переопределить поведение формы при открытии или чтении на сервере, чтобы элементы формы не блокировались (свойство ТолькоЧтение для табличной части):


&НаСервере
Процедура Расш_ПриЧтенииНаСервереПосле(ТекущийОбъект)
    // Разрешаем доступность табличной части "Товары" даже при наличии связи с ЕГАИС
    ЭтаФорма.Элементы.Товары.ТолькоЧтение = Ложь;
КонецПроцедуры

Использование расширения позволит сохранить вашу конфигурацию «1С:Розница» на стандартной поддержке, при этом пользователи получат возможность оперативно корректировать документы без лишних административных барьеров. Однако помните, что при этом вся ответственность за соответствие данных ЕГАИС и локальной базы ложится непосредственно на оператора.

← На главную