Как изменить дату в документе поступления без создания корректировки при наличии проведенного счета-фактуры

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

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

Почему система блокирует прямое изменение даты

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

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

Способ 1. Временное снятие с проведения и отвязка счета-фактуры

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

  1. Перейдем в связанный документ Счет-фактура полученный (через структуру подчиненности или гиперссылку внизу формы документа поступления).
  2. Снимем счет-фактуру с проведения (действие «Отмена проведения»).
  3. В зависимости от релиза конфигурации, можно либо временно очистить ссылку на поступление на вкладке «Основания», либо пометить Счет-фактура полученный на удаление. Это полностью снимет жесткую блокировку с документа приобретения.
  4. Откроем документ поступления, изменим дату на нужную и проведем его.
  5. Вернемся к счету-фактуре: снимем пометку на удаление (если она устанавливалась), проверим корректность даты самого счета-фактуры и снова проведем его.

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

Способ 2. Использование группового изменения реквизитов

Если требуется скорректировать реквизиты административным путем, рассмотрим использование типовой обработки Групповое изменение реквизитов (расположена в разделе «НСИ и администрирование» — «Обслуживание» — «Корректировка данных»).

Разберем порядок действий при работе с обработкой:

  1. Выберем вид элементов для изменения: Приобретение товаров и услуг (или Поступление товаров и услуг в зависимости от используемой версии).
  2. Обязательно настроим отбор по конкретному документу через ссылку или номер, чтобы не затронуть остальные документы базы данных.
  3. В дополнительных параметрах обработки (кнопка «Дополнительно») включим флажки «Изменять служебные реквизиты» и режим разработчика, позволяющий записывать объекты без дополнительных проверок формы.
  4. Укажем новое значение реквизита Дата и выполним изменение.
  5. Синхронно изменим дату в подчиненном счете-фактуре.
  6. После изменения реквизитов обязательно перепроведем оба документа по цепочке, чтобы обновились движения по регистрам НДС предъявленный и регистрам партий.

Способ 3. Программное изменение через дополнительную внешнюю обработку

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

Посмотрим на пример программной обработки, которая выполняет перенос даты документа и связанного счета-фактуры в привилегированном режиме:


&НаСервере
Процедура ИзменитьДатуДокументов(СсылкаНаПоступление, НоваяДата)
    
    // Получаем объект поступления для изменения
    ОбъектПоступления = СсылкаНаПоступление.ПолучитьОбъект();
    ОбъектПоступления.Дата = НоваяДата;
    
    // Записываем документ поступления в режиме проведения
    Попытка
        ОбъектПоступления.Записать(РежимЗаписиДокумента.Проведение);
    Исключение
        ВызватьИсключение "Ошибка проведения поступления: " + ОписаниеОшибки();
    КонецПопытки;
    
    // Находим подчиненный счет-фактуру
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   СФ.Ссылка КАК СчетФактура
        |ИЗ
        |   Документ.СчетФактураПолученный КАК СФ
        |ГДЕ
        |   СФ.ДокументОснование = &ДокументОснование";
    Запрос.УстановитьПараметр("ДокументОснование", СсылкаНаПоступление);
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        ОбъектСФ = Выборка.СчетФактура.ПолучитьОбъект();
        ОбъектСФ.Дата = НоваяДата;
        ОбъектСФ.Записать(РежимЗаписиДокумента.Проведение);
    КонецЦикла;
    
КонецПроцедуры

Такой механизм позволяет минимизировать влияние человеческого фактора, сохраняя при этом целостность ссылок и движений по регистрам учета.

← На главную