Как настроить синхронизацию данных в 1С:Розница 2.2 при закрытии смены?

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

В процессе работы с программой «1С:Розница 2.2» (особенно в базовой версии) пользователи часто сталкиваются с проблемой: данные о продажах за день не успевают передаться в управляющую систему (например, «Управление торговлей 10.3»), так как кассир закрывает смену и сразу выключает компьютер. Стандартная синхронизация по расписанию может быть настроена на определенные интервалы, но «события» закрытия смены как триггера для обмена в типовом функционале зачастую не предусмотрено.

Рассмотрим подробнее, как решить эту задачу различными методами: от простых административных манипуляций до использования технических инструментов платформы 1С:Предприятие 8.3.

Способ 1. Синхронизация по времени и автоматическое завершение работы ОС

Проанализируем ситуацию: кассир заканчивает работу в 20:00, закрывает смену и хочет уйти домой. Если настроить обмен на 20:05, но при этом выключить ПК в 20:01, данные не уйдут. Самый простой и надежный способ без программирования — это использование системных возможностей Windows в связке с расписанием 1С.

Разберем этот метод по шагам:

  1. В настройках синхронизации 1С установим расписание обмена. Например, если магазин закрывается в 20:00, настроим выполнение обмена в 20:10.
  2. В операционной системе настроим планировщик задач (Task Scheduler) на выполнение команды выключения компьютера.
  3. Создадим задачу, которая в 20:30 будет выполнять команду shutdown /s /t 0.

Важный нюанс: как показывает практика, для кассира проще «ничего не делать», чем выполнять сложные инструкции. Если объяснить персоналу, что компьютер выключится сам через 20 минут после закрытия смены, это исключит риск того, что обмен будет прерван ручным выключением питания. Рассмотрим преимущества: 15-20 минут работы компьютера после закрытия магазина гарантируют, что регламентные задания 1С успеют отработать в фоновом режиме.

Способ 2. Использование расширений конфигурации (для Базовой и ПРОФ версий)

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

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


// Пример вызова синхронизации для конкретной настройки
ПланыОбмена.ВыбратьПоТипу(Тип("ПланОбменаСсылка.СинхронизацияДанныхЧерезУниверсальныйФормат"));
// Используем стандартную функцию БСП для запуска обмена
СинхронизацияДанныхВсеОбъекты.ВыполнитьОбменДаннымиДляНастройки(НастройкаОбмена, Ложь);

Этот метод хорош тем, что обмен инициируется сразу после печати Z-отчета. Программа сама «доложит» в центральный офис об итогах смены, прежде чем кассир выйдет из системы.

Способ 3. Дополнительная внешняя обработка РМК

Если вы опасаетесь вносить изменения даже через расширения, можно пойти путем создания внешней обработки. Рассмотрим этот вариант: стандартная форма ФормаЧек или общая форма РМК копируется во внешнюю обработку. В ней модифицируется кнопка «Закрытие смены».

Алгоритм работы такой обработки:

  1. Вызывается штатная процедура ЗакрытьСмену().
  2. После успешного закрытия вызывается процедура синхронизации через объект Обработки.СинхронизацияДанныхПрофили.
  3. По завершении обмена выдается сообщение пользователю или выполняется команда ЗавершитьРаботуСистемы().

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

Способ 4. Параметры командной строки и скрипты (BAT-файлы)

Выясним причину, по которой иногда не срабатывает автоматика: при закрытии программы 1С фоновые задания могут прерываться. Чтобы гарантировать доставку данных в УТ 10.3, можно создать исполняемый файл на рабочем столе, который кассир будет запускать вместо обычного выхода.

Пример содержания такого файла (exit_1c.bat):


"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "Путь_К_Базе" /N "ИмяПользователя" /P "Пароль" /Execute "C:\Scripts\ForceSync.epf"
shutdown /s /t 60

В данном примере 1С запускается с параметром /Execute, который открывает внешнюю обработку ForceSync.epf. Эта обработка при открытии сразу инициирует обмен данными и закрывает сеанс 1С. После этого системная команда shutdown выключает компьютер через 60 секунд.

Особенности обмена с УТ 10.3

При настройке синхронизации между Розницей 2.2 и УТ 10.3 важно помнить, что УТ 10.3 построена на старой архитектуре (обычные формы), а Розница 2.2 — на новой (управляемые формы, БСП). Рассмотрим нюансы:

Итоги и рекомендации

Проанализировав все доступные варианты, мы рекомендуем следующее:

Если бюджет на доработку ограничен, а версия 1С — базовая, используйте Способ 1 (Расписание + Планировщик Windows). Это самое надежное решение, не требующее программного вмешательства. Оно гарантирует, что даже если база «тяжелая» и обмен длится долго, данные успеют уйти до полного обесточивания системы.

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

← На главную