При переходе с устаревших конфигураций, таких как КА1 или УПП, на современные системы (КА2 или ERP) специалисты часто сталкиваются с проблемой: при загрузке документов Возврат товаров поставщику созданные на их основании Счет-фактура выданный автоматически помечаются на удаление или отказываются проводиться. Давайте разберем, почему это происходит и как найти «корень зла» в коде конфигурации.
В старых версиях программ 1С (КА1, УПП) существовала возможность выставлять Счет-фактура выданный при возврате товаров поставщику. Это соответствовало тогдашней логике учета НДС, где возврат по сути приравнивался к реализации. Однако с 1 января 2019 года законодательство РФ изменило порядок учета НДС при возврате товаров, принятых на учет покупателем.
Теперь поставщик обязан выставить корректировочный счет-фактуру, а покупатель — зарегистрировать его как полученный. Разработчики 1С в актуальных версиях КА2 и ERP жестко зашили эту логику в алгоритмы работы конфигурации, чтобы избежать ошибок в регламентированной отчетности.
Если вы столкнулись с тем, что документ помечается на удаление при обмене, не спешите искать ошибку в правилах обмена данными. Скорее всего, причина кроется в подписках на события или методах проверки актуальности счетов-фактур перед записью.
Чтобы найти конкретное место, где устанавливается пометка, воспользуйтесь отладчиком. Проанализировав модули, мы выясним, что за этот процесс отвечает функция в общем модуле УчетНДСРФ, например, АктуализироватьСчетаФактурыВыданныеПередЗаписью. Именно там система проверяет, допустимо ли существование выданного счета-фактуры для конкретной операции.
В коде современных конфигураций вы найдете функцию, которая определяет, требуется ли вообще Счет-фактура выданный. Она выглядит примерно следующим образом:
Функция СчетФактураВыданныйНеТребуется(ПараметрыРегистрации)
СчетФактураНеТребуется = Ложь;
Если НЕ ПараметрыРегистрации.РеализацияТоваров
И НЕ ПараметрыРегистрации.ВозвратТоваровПоставщику
И НЕ ПараметрыРегистрации.КорректировкаПоСогласованиюСторон Тогда
СчетФактураНеТребуется = Истина;
КонецЕсли;
Возврат СчетФактураНеТребуется;
КонецФункции
Важно понимать, что система использует метод ДатаОтраженияВозвратовКорректировочнымиСФ(), который возвращает дату 01.01.2019. Если дата вашего документа позже этого числа, система принудительно считает, что выданный счет-фактура не нужен, и помечает его на удаление.
Рассмотрим несколько подходов к решению ситуации:
Счет-фактура выданный при возврате товара в КА2, регистрируйте полученный корректировочный счет-фактуру от поставщика. Это снимет все вопросы с обменом и обеспечит корректность книги покупок.СчетФактураВыданныйНеТребуется. Однако помните, что при каждом обновлении конфигурации эти изменения будут затираться, а риск получить ошибку в декларации по НДС возрастает многократно.Если вам нужно понять, почему документ не проводится при обмене, используйте Попытка...Исключение в обработчиках загрузки. Часто документ не проводится не из-за «пометки на удаление» как таковой, а из-за того, что механизм АктуализироватьСчетаФактурыВыданныеПередЗаписью отрабатывает в фоновом режиме обмена. Внимательно проверяйте ДополнительныеСвойства объекта — именно там могут передаваться флаги, отключающие механизмы регистрации, которые могут конфликтовать с вашими задачами.
Помните: вмешательство в механизмы НДС — это работа с высокой ответственностью. Всегда проверяйте результат формирования книги продаж после внесения любых правок в логику работы счетов-фактур.