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