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