При настройке стандартной двусторонней синхронизации данных между конфигурациями «1С:Управление торговлей» (ред. 11) и «1С:Розница» (ред. 2) технические специалисты часто сталкиваются с неожиданной ситуацией: справочники, контрагенты, цены и даже документы движения успешно мигрируют между базами, но на складах в базе «1С:Розница» по-прежнему отображаются нулевые остатки. Выясним причину этого поведения системы и подробно разберем по шагам, как правильно перенести начальные остатки, чтобы запустить полноценный учет без ошибок и «минусов» на складах.
Для начала проанализируем ситуацию и обратимся к официальной методологии разработчиков фирмы «1С». Ответ на этот вопрос кроется в сопроводительной документации, а именно в файле совместного использования конфигураций. Найти его можно в каталоге шаблонов установленных обновлений на вашем компьютере. Файл обычно называется Совместное использование конфигураций УТ 11 и Розница 2.htm.
Согласно концепции разработчиков, типовая регулярная синхронизация предназначена исключительно для обмена текущими оперативными данными (документами поступления, реализации, перемещения и справочной информацией). Регистры накопления с остатками товаров и документы ввода остатков в регулярный обмен принципиально не включаются. Сделано это для оптимизации трафика и исключения рассинхронизации данных при проведении документов задним числом.
Таким образом, перед запуском регулярного обмена данными базы должны быть предварительно подготовлены: в них необходимо ввести или перенести начальные остатки. Рассмотрим подробнее три основных способа решения этой задачи.
Это самый надежный способ, гарантирующий совпадение уникальных идентификаторов (GUID) объектов в обеих базах. Если GUID номенклатуры совпадут, в будущем при синхронизации у вас никогда не возникнет дублирования карточек товаров.
Для выполнения этой процедуры нам понадобятся шаблоны конфигураций, которые устанавливаются на диск компьютера при обновлении программ. Разберем этот процесс по шагам:
C:\Users\<ИмяПользователя>\AppData\Roaming\1C\1cv8\tmplts\1c\retail\<НомерРелиза>\. Найдите там внешнюю обработку для выгрузки остатков из «1С:Управление торговлей» (файл с расширением .epf).После завершения загрузки в «1С:Розница» будут автоматически созданы и проведены документы ВводНачальныхОстатковУзлаРегистрации или документы оприходования. Все элементы справочника СправочникСсылка.Номенклатура будут перенесены с сохранением оригинальных GUID.
Посмотрим на пример концептуального кода, который используется в правилах конвертации для сопоставления объектов по GUID при загрузке данных:
// Схематичный пример поиска объекта по уникальному идентификатору при импорте
СсылкаНаНоменклатуру = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаGUID));
ОбъектНоменклатуры = СсылкаНаНоменклатуру.ПолучитьОбъект();
Если ОбъектНоменклатуры = Неопределено Тогда
// Если объект не найден, создаем новый с тем же GUID
НовыйОбъект = Справочники.Номенклатура.СоздатьЭлемент();
НовыйОбъект.УстановитьСсылкуНового(СсылкаНаНоменклатуру);
НовыйОбъект.Наименование = ЗагруженноеНаименование;
НовыйОбъект.Записать();
КонецЕсли;
Использование этого механизма гарантирует корректную связку данных между базами.
Бывают ситуации, когда конфигурации сильно доработаны или версии релизов настолько отличаются, что штатная обработка выдает ошибки при выгрузке. В таком случае рассмотрим альтернативный вариант с использованием промежуточных таблиц.
Перед тем как использовать этот метод, важно понимать: справочник номенклатуры уже должен быть предварительно перенесен в «Розницу» с помощью стандартной синхронизации (которая переносит справочники без проблем). Если этого не сделать, сопоставление по наименованию или артикулу может привести к хаосу и дублированию.
Разберем алгоритм работы по шагам:
ВедомостьПоТоварамНаСкладах (или «Остатки товаров на складах») на текущую дату..xlsx). Отредактируйте полученную таблицу: удалите лишние строки («шапку» отчета, промежуточные итоги), оставив только чистые колонки: «Номенклатура», «Артикул», «Количество» и, при необходимости, «Характеристика» и «Штрихкод».ОприходованиеТоваров или ВводНачальныхОстатковУзлаРегистрации.ЗагрузкаДанныхИзТабличногоДокумента.epf).Артикул или Штрихкод (поиск по наименованию менее надежен из-за возможных лишних пробелов или опечаток).Если торговая точка небольшая, а ассортимент товаров не превышает нескольких сотен позиций, наиболее надежным и простым способом может стать ручной ввод остатков по результатам фактической инвентаризации в магазине.
Для этого в программе «1С:Розница» перейдите в раздел «Склад» и выберите пункт «Приказы на инвентаризацию» или сразу создайте документ «Оприходование товаров». Вручную подберите товары в документ, укажите их розничные цены и количество. Этот метод исключает перенос «виртуальных» остатков, которые могли накопиться в оптовой базе УТ из-за ошибок учета, и позволяет начать работу в розничной сети с абсолютно актуальными физическими остатками.
После того как остатки в базе «1С:Розница» успешно выровнены одним из предложенных способов, обратите внимание на следующие важные моменты:
Мы проанализировали особенности интеграции двух популярных конфигураций и выяснили, что отсутствие остатков при первом обмене — это не ошибка настройки программы, а штатная особенность архитектуры обмена данными 1С. Следуя приведенным инструкциям, вы сможете корректно запустить совместную работу конфигураций и избежать расхождений в учете.