Как настроить обмен между УТ 11 и Розницей 2.0, чтобы корректно списывались и отображались остатки во всей сети?

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

При построении розничной сети часто используется классическая связка программных продуктов: 1С:Управление торговлей (ред. 11) в качестве управляющей системы в центральном офисе (ЦУ) и несколько баз 1С:Розница (ред. 2.0) на розничных точках (магазинах). В процессе эксплуатации такой архитектуры специалисты часто сталкиваются с техническими трудностями. Наиболее распространенные среди них — отсутствие списания складских остатков в УТ после синхронизации отчетов о продажах, а также невозможность оперативно видеть остатки товаров других магазинов в локальных базах.

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

Выясняем причину: почему продажи в Рознице не уменьшают остатки в УТ?

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

Проанализируем техническую причину этого явления. В конфигурации Управление торговлей 11 проведение документа ОтчетОРозничныхПродажах и выполнение им движений по регистру накопления ТоварыНаСкладах напрямую зависят от связанного с ним документа КассоваяСмена. Списание остатков по складу происходит только в том случае, если реквизит СтатусСмены документа КассоваяСмена имеет значение Закрыта (чеки заархивированы).

В конфигурации Розница 2.0 у кассовых смен предусмотрены только два основных статуса: «Открыта» и «Закрыта». Статус «Закрыта (чеки заархивированы)» там отсутствует. При стандартном обмене через старый формат правил конвертации (на базе «Конвертации данных 2.1») документ кассовой смены либо не переносится вовсе, либо переносится без нужного для УТ статуса. В результате ОРП в УТ проводится, но не делает движений по регистру складского учета.

Решение 1: Доработка правил конвертации объектов (списание остатков)

Чтобы заставить УТ 11 списывать остатки по регистру ТоварыНаСкладах после загрузки продаж из Розницы, необходимо доработать правила обмена. Нам нужно добиться того, чтобы при загрузке документа Отчет о розничных продажах в УТ автоматически создавался или обновлялся связанный документ Кассовая смена с требуемым статусом.

Выполним следующие шаги для изменения правил в конфигурации «Конвертация данных 2.1»:

  1. Загрузим структуру метаданных УТ 11 и Розницы 2.0 в базу «Конвертация данных».
  2. Откроем правила конвертации объектов (ПКО) для документа ОтчетОРозничныхПродажах.
  3. В обработчике события ПослеЗагрузки для ОРП добавим код, который будет находить или программно создавать документ КассоваяСмена в базе УТ, связывать его с загружаемым отчетом и принудительно устанавливать статус архивации чеков.

Рассмотрим пример программного кода, который решает эту задачу при загрузке в УТ:


// Алгоритм в обработчике "После загрузки" документа ОтчетОРозничныхПродажах в УТ
СсылкаНаКассовуюСмену = Объект.КассоваяСмена;

Если Не ЗначениеЗаполнено(СсылкаНаКассовуюСмену) Тогда
    // Попытаемся найти существующую смену по коду/номеру и кассе ККМ
    КассоваяСменаОбъект = Документы.КассоваяСмена.СоздатьДокумент();
    КассоваяСменаОбъект.Дата = Объект.Дата;
    КассоваяСменаОбъект.КассаККМ = Объект.КассаККМ;
    КассоваяСменаОбъект.Кассир = Объект.Ответственный;
    КассоваяСменаОбъект.СтатусСмены = Перечисления.СтатусыКассовыхСмен.ЗакрытаЧекиЗаархивированы;
    КассоваяСменаОбъект.Записать(РежимЗаписиДокумента.Проведение);
    
    Объект.КассоваяСмена = КассоваяСменаОбъект.Ссылка;
Иначе
    // Если смена уже перенесена, принудительно меняем статус на нужный
    КассоваяСменаОбъект = СсылкаНаКассовуюСмену.ПолучитьОбъект();
    Если КассоваяСменаОбъект.СтатусСмены <> Перечисления.СтатусыКассовыхСмен.ЗакрытаЧекиЗаархивированы Тогда
        КассоваяСменаОбъект.СтатусСмены = Перечисления.СтатусыКассовыхСмен.ЗакрытаЧекиЗаархивированы;
        КассоваяСменаОбъект.Записать(РежимЗаписиДокумента.Проведение);
    КонецЕсли;
КонецЕсли;

После применения этих правил конвертации при следующей синхронизации документы ОРП в УТ будут ссылаться на закрытую и заархивированную кассовую смену. Это инициирует корректное проведение по регистру ТоварыНаСкладах, и остатки в центральной базе УТ станут актуальными.

Решение 2: Корректировка состава плана обмена УТ (выгрузка расходных документов)

Допустим, нам также требуется передавать документы продажи (например, Реализация товаров и услуг или внутренние перемещения), созданные непосредственно в центральном офисе УТ, в базы розничных магазинов. По умолчанию в плане обмена ОбменУправлениеТорговлейРозница расходные документы со стороны УТ заблокированы для выгрузки. Разработчики предполагают, что розничные продажи должны осуществляться только в Рознице.

Если специфика вашего бизнеса требует обратной выгрузки документов списания или реализации из УТ в Розницу, выполним доработку плана обмена по шагам:

  1. Откроем конфигуратор базы 1С:Управление торговлей.
  2. Включим возможность редактирования конфигурации с сохранением поддержки.
  3. Перейдем в ветку Общие -> Планы обмена -> ОбменУправлениеТорговлейРозница.
  4. Откроем свойства плана обмена и перейдем на вкладку Состав.
  5. Найдем в списке документов РеализацияТоваровУслуг (или другой необходимый вам документ).
  6. Установим флаг напротив этого документа и в поле Авторегистрация выберем значение Разрешить.
  7. Обновим конфигурацию базы данных (нажатием клавиши F7).

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

Современное решение: переход на обмен через EnterpriseData

Если вы используете более современные версии конфигураций (УТ 11.4 / 11.5 и Розница 2.3 / 3.0), настоятельно рекомендуется отказаться от старых правил конвертации и настроить синхронизацию через универсальный формат EnterpriseData.

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

Как настроить видимость остатков во всех магазинах (Информативные остатки)

Часто пользователи пытаются настроить обмен так, чтобы документы продаж из магазина Р1 выгружались в УТ, а затем из УТ выгружались в базу магазина Р2. Это делается ради одной цели: чтобы кассир в магазине Р2 видел остатки товаров в магазине Р1 и мог проконсультировать покупателя.

Рассмотрим, почему этот подход ошибочен. Перенос документов ОРП и чеков между периферийными базами розницы лавинообразно увеличивает объем баз данных и нагрузку на каналы связи. База каждого магазина засоряется чужими документами продаж, которые кассирам абсолютно не нужны для локальной работы.

Для решения этой задачи в экосистеме 1С предусмотрен штатный инструмент — Механизм информативных остатков. Проанализируем, как его правильно настроить:

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

После выполнения этих настроек кассиры в своем Рабочем месте кассира (РМК) или при стандартном подборе товаров в Рознице увидят специальную кнопку «Остатки в других магазинах». Это позволит оперативно информировать покупателей о наличии товаров по всей сети без перегрузки баз лишним документооборотом.

Почему не стоит строить розничную сеть на базовых версиях УТ и Розницы

В завершение разберем вопрос, который часто поднимают начинающие предприниматели (см. сообщение 43): можно ли сэкономить и построить обмен розничной сети на базовых версиях программных продуктов «УТ Базовая» и «Розница Базовая»?

Рассмотрим критические ограничения базовых версий, которые сделают автоматизацию розничной сети неэффективной или технически невозможной:

Таким образом, для создания стабильно работающей розничной сети крайне важно использовать версии линейки ПРОФ. Это сбережет ресурсы на этапе масштабирования бизнеса и позволит гибко настраивать обмен под любые требования торгового учета.

← На главную