При интеграции 1С:Управление торговлей 11.5 с внешним рабочим местом кассира 1С:РМК пользователи часто сталкиваются с ситуацией, когда справочники товаров и магазинов синхронизируются успешно, но цены в кассовой программе не появляются. Особенно острой эта проблема становится при использовании динамического ценообразования, например, когда цена продажи рассчитывается как процентная наценка на цену закупки.
В этой статье мы подробно разберем, почему «чистые» динамические цены не передаются в 1С:РМК, и проанализируем пошаговый алгоритм настройки системы, который позволит гарантированно выгрузить актуальные стоимостные показатели для розничной продажи.
Разберем первопричину проблемы. 1С:РМК спроектирована как «легкое» решение для фронт-офиса. В отличие от полнофункциональной 1С:Розница или 1С:УТ, она не обладает мощным вычислительным движком для обработки сложных формул ценообразования в режиме реального времени. При обмене данными через формат Enterprise Data кассовая программа ожидает получить конкретное числовое значение цены для каждой позиции номенклатуры.
В 1С:УТ 11 динамические цены (например, «Закупочная + 30%») являются виртуальными. Они не хранятся в базе данных, а вычисляются программно только в момент формирования печатной формы или открытия документа. Поскольку физической записи в регистре сведений ЦеныНоменклатуры не существует, механизму синхронизации просто нечего поместить в XML-пакет выгрузки. Рассмотрим, как обойти это ограничение.
Первым делом проанализируем настройки справочника Виды цен. Для корректной работы с 1С:РМК необходимо соблюсти несколько условий в карточке настройки цены:
Выясним причину, по которой даже после настройки вида цены данные могут не уходить в РМК. Для того чтобы цена попала в узел обмена, она должна быть официально «установлена». Система обмена Enterprise Data отслеживает изменения в регистре Цены номенклатуры по периодам.
Проанализируем необходимый порядок действий:
Перейдем в раздел CRM и маркетинг — Цены (прайс-лист). Выберем наш розничный вид цен и нажмем кнопку «Сформировать». После того как система рассчитает значения по формулам, необходимо нажать «Установить цены». Будет создан документ УстановкаЦенНоменклатуры.
Именно проведение этого документа инициирует регистрацию изменений для обмена. Теперь в базе есть жестко зафиксированные значения, которые могут быть упакованы в файл обмена и переданы в РМК.
Рассмотрим еще одну распространенную ошибку: вид цены создан и установлен, но РМК его «не видит». В 1С:УТ 11.5 связь между товаром и его розничной ценой для кассы осуществляется через Склад.
Выполним следующие настройки:
Если это поле останется пустым, механизм выгрузки не сможет определить, какую именно цену из множества возможных нужно отправить в кассовое приложение.
Если цены всё равно не появляются, нам необходимо проанализировать ситуацию с технической стороны через монитор синхронизации. Проделаем следующие действия:
Регистр сведений: Цены номенклатуры.Если список записей в этом разделе пуст, это означает, что система не увидела новых данных для отправки. В таком случае нужно убедиться, что дата документа Установка цен номенклатуры не ранее даты начала выгрузки, указанной в настройках синхронизации. Если же записи в составе есть, но в РМК они не загружаются — следует проверить версию формата Enterprise Data. Для корректной работы с РМК рекомендуется использовать версию не ниже 1.10.
Поскольку мы используем динамическую цену (наценку на закупку), нам важно, чтобы при изменении закупочных цен розничные также обновлялись и выгружались. Рассмотрим, как автоматизировать этот процесс:
В 1С:УТ 11 можно настроить регламентное задание, которое будет автоматически создавать документы установки цен. Для этого в настройках вида цен в поле «Способ задания цены» убедимся, что выбрано автоматическое пересчисление. Однако помните: само по себе изменение закупочной цены не отправит данные в РМК. Вам всё равно потребуется сформировать документ установки, чтобы данные «физически» обновились в регистре ЦеныНоменклатуры.
Для программистов это можно реализовать через небольшую доработку или внешнюю обработку, которая будет программно создавать документ:
// Пример логики создания документа установки цен
НовыйДокумент = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата();
// Заполнение табличной части на основании рассчитанных цен
// ...
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
После проведения такого документа механизм ПланыОбмена зафиксирует изменения, и при следующем сеансе синхронизации новые цены попадут в 1С:РМК.
Подводя итог нашему разбору, выделим главные правила выгрузки цен в 1С:РМК:
Соблюдение этого алгоритма позволит избежать ручного ввода цен в кассовой программе и обеспечит актуальность данных при каждой продаже.