При переходе с устаревших версий программ (например, 1С:Торговля и Склад 7.7) на современные конфигурации, такие как 1С:Управление торговлей 11, пользователи часто сталкиваются с ситуацией, когда перенесенные или вновь созданные документы Отчет о розничных продажах (ОРП) проводятся без ошибок, но не делают движений по складским регистрам. В частности, отсутствуют записи в регистрах Товары на складах и Свободные остатки, хотя по финансовому регистру Товары организаций движения формируются корректно. Для исправления накопившихся несоответствий можно использовать обработку для устранения расхождений между регистрами «Товары на складах» и «Товары организаций».
Разберем подробно причины возникновения этой проблемы и рассмотрим пошаговые инструкции по их устранению, основываясь на практическом опыте специалистов и особенностях архитектуры 1С:Предприятие 8.
Проанализируем настройки торгового оборудования. В 1С:УТ 11 логика списания товаров в рознице сильно зависит от того, как классифицирована касса. Если в документе указана касса с типом Фискальный регистратор, программа может ожидать, что списание товаров произошло еще в момент пробития Чеков ККМ. Если же чеки не использовались (например, при ручном вводе или переносе данных), ОРП может «проигнорировать» складские движения.
Что нужно сделать:
Отчет о розничных продажах.Выясним еще одну важную деталь: связь документа с кассовой сменой. В 1С:УТ 11 документ ОРП тесно завязан на объект Кассовая смена. Если в этом объекте статус выполнения операций не соответствует финальному, движения могут не сформироваться.
Рассмотрим ситуацию, когда в документе Кассовая смена реквизит Статус регламентных операций имеет значение «Создан отчет». Для корректного списания остатков и закрытия всех движений статус должен быть «Создан отчет, чеки заархивированы».
Алгоритм исправления:
Посмотрим на техническую сторону вопроса. В УТ 11 существует механизм Видов запасов. Именно этот механизм определяет, какой именно товар списывается: собственный, комиссионный или товар другой организации (в рамках схемы Интеркампани). При программном переносе данных из 7.7 этот реквизит в табличной части часто остается пустым.
Поскольку Вид запасов обычно является скрытым реквизитом, мы не видим его в стандартной форме. Однако, если система не смогла автоматически определить вид запаса (например, из-за отсутствия остатков на момент проведения), она может провести документ «в пустоту» по складу, но отразить данные в управленческом учете организации.
Как проверить и исправить:
Вид запасов пустое, попробуем нажать в документе кнопку Еще — Открыть виды запасов. Если список пуст, значит, программа не видит доступного остатка для списания.Разберем влияние настроек склада. В 1С:УТ 11 склады делятся на Автоматизированные торговые точки (АТТ) и Неавтоматизированные торговые точки (НТТ).
Товары на складах.Проанализируем карточку склада. Если склад ошибочно помечен как АТТ, а чеки не создавались, списание может не произойти. Проверьте настройки в разделе НСИ и администрирование — Склады и магазины.
Выясним, какая Хозяйственная операция указана в документе. Для ОРП это обычно «Реализация через кассу ККМ» или «Реализация в НТТ». Если при переносе из 7.7 в этот реквизит попало некорректное значение, логика проведения документа нарушается.
Также проверим общие настройки системы:
НСИ и администрирование -> Настройка разделов -> Продажи -> Розничные продажи
Должна быть включена опция Использовать розничные продажи. Если эта опция была включена уже после загрузки документов, документы необходимо перепровести, чтобы активировать соответствующие механизмы в коде модулей проведения.
Если вы являетесь разработчиком и хотите понять, почему движения не формируются, проанализируйте процедуру ОтразитьТоварыНаСкладах в модуле менеджера или модуле проведения документа. Часто полезно временно отключить в настройках склада флаг Контролировать остатки, чтобы увидеть, запишет ли документ движения при их фактическом отсутствии. Если при отключенном контроле движения появились — проблема в остатках. Если нет — проблема в заполнении реквизитов (вид запасов, склад, подразделение).
Рассмотрим пример кода, который может помочь принудительно инициализировать расчет видов запасов в документе, если они не заполнились при переносе:
&НаСервере
Процедура ИсправитьВидыЗапасов(ДокументСсылка)
ДокОбъект = ДокументСсылка.ПолучитьОбъект();
// Вызов типового механизма распределения запасов
ПараметрыУказанияВидовЗапасов = ЗапасыСервер.ПараметрыУказанияВидовЗапасов(ДокОбъект);
ЗапасыСервер.ЗаполнитьВидыЗапасов(ДокОбъект, ПараметрыУказанияВидовЗапасов);
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
Подводя итог, если Отчет о розничных продажах не списывает товар, действуйте по следующему чек-листу:
Проанализировав эти параметры, вы в 90% случаев найдете причину «тихого» проведения документа без складских движений. Для контроля и поиска подобных ошибок подойдёт отчет для сравнения регистров «Товары на складах» и «Товары организаций».