Синхронизация после закрытия смены

Публикация № 1194641 13.02.20

Обмен данными и распределенная БД - Распределенная БД (УРИБ, УРБД)

Розница РИБ синхронизация закрытие смены после закрытия напоминание продавцам о синхронизации автоматическое выключение компьютера 1С.

Данное расширение решает проблему своевременной синхронизации с РИБ между магазином и центральной базой для конфигурации РОЗНИЦА 2.2. Почему в первой рознице была автоматическая синхронизация после закрытия смены, и почему её убрали. Какие возникают технические риски и как этого проще всего избежать, об этом вы тоже узнаете из этой публикации.

Конфигурация 1С Розница + технология РИБ, это мощный рычаг, который позволяет владельцу торговой точки быстро вырасти в крупную торговую сеть. 

В настройке РИБ для торговой точки тоже есть свои тонкости, которые лучше понимать сразу при начале настройки РИБ, чтобы не наступать на типовые грабли.

1. Частота синхронизации

Собственник бизнеса хочет получать всю информацию максимально оперативно. Однако синхронизация данных - это операция, которая может блокировать таблицы. Поэтому одновременное пробитие чека и блокировка некоторых таблиц при синхронизации могут привести к тому, что чек будет пробит на фискальном устройстве, но при закрытии чека РМК выдаст ошибку блокировки таблиц, и чек останется не проведен. Это источник головной боли , особенно когда поток покупателей плотный, а аппаратная часть не самая новая. Поэтому в течении дня синхронизацию в автоматическом режиме лучше не делать. Лучше показать продавцам, как делать синхронизацию в ручном режиме, чтобы они делали её, когда пришел новый товар а  покупателей мало. 

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

2. Выгрузка после закрытия смены.

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

Настраивать автоматическую синхронизацию на конец дня НЕЛЬЗЯ, потому что автоматическая синхронизация - это фоновый процесс. И даже если закрыть 1С, процесс может завершаться ещё некоторое время. И если выключить компьютер принудительно, это приведет к принудительному завершению процесса 1С, что в свою очередь может привезти к повреждению файла базы данных (если речь идет о файловом варианте). 

Что же делать, если автоматическую синхронизацию после закрытия смены делать нельзя, а сознательность продавцов дает сбои?

Есть третий вариант: использовать расширение из публикации. После закрытия смены форма синхронизации данных откроется автоматически. Продавец обязательно синхронизируется и только потом закроет программу. Собственник доволен. Теперь можно перед сном любоваться продажами за день)))

Ещё один важный момент: сделать так, чтобы компьютер выключался только после того, как закрылся процесс 1С. Это можно сделать через скрипт, который прилагается к данной публикации. Суть подхода в том, что скрипт сам открывает 1С и проверяет, что процесс 1С активен, если процесс 1С завершен, скрипт сам выключает компьютер.

 

ИНСТРУКЦИЯ ПО УСТАНОВКЕ РАСШИРЕНИЯ

1. Скачайте расширение и скопируйте его на кассовый компьютер.

2. Включите пункт меню "Все функции". Если он уже включен, переходите к пункту 4.

 

3. Установите галочку

4. Выберите пункт меню "Все функции".

5. Откройте пункт меню Управление расширениями конфигурации

6. Подключите расширение

7. Перезапустите программу

 

РЕЗУЛЬТАТ.

 

 

ОПИСАНИЕ СКРИПТА ЗАПУСКА-ВЫКЛЮЧЕНИЯ 

Поместите его в автозагрузку.

strComputer = "."




Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
//в самом начале скрипт запускает нужный нам экземпляр 1С и засыпает на 10 секунд.    
  Set objShell = Wscript.CreateObject("Wscript.Shell")
  objShell.Run """C:\Program Files (x86)\1cv8\8.3.15.1830\bin\1cv8c.exe"" ENTERPRISE /F<C:\ПУТЬКБАЗЕ\> /N<ИМЯПОЛЬЗОВАТЕЛЯ> /P"
	WScript.Sleep(10000)
    
    
//затем скрипт начинает циклическую проверку на наличие в системе процесса 1cv8c.exe
Set colProcesses = objWMIService.ExecQuery( _
    "Select Name From Win32_Process " _
    & "Where Name = '1cv8c.exe'")

Do While colProcesses.Count >= 1 
//Если процесс в системе запущен - скрипт продолжает работать в цикле
	WScript.Sleep(100)
	Set colProcesses = objWMIService.ExecQuery( _
	    "Select Name From Win32_Process " _
	    & "Where Name = '1cv8c.exe'")

Loop
//Если процесс не обнаружен, цикл завершается, система переходит на стадию завершения работы
  Set objShell = Wscript.CreateObject("Wscript.Shell")
  objShell.Run "shutdown.exe /s"

 

Протестировано на конфигурации Розница 2.2.7.23, 2.3.2.28.

Скачать файлы

Наименование Файл Версия Размер
Расширение для конфигурации РОЗНИЦА

.cfe 7,55Kb
7
.cfe 1.0 7,55Kb 7 Скачать
Скрипт автоматического запуска 1С и выключения системы после закрытия 1С

.vbs 0,77Kb
3
.vbs 1.4 0,77Kb 3 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Nthnsq 12.06.20 22:07 Сейчас в теме
На последней Рознице работает?
2. user691380_bel4enkin 24.02.21 22:20 Сейчас в теме
Для УТ11 есть подобное расширение?
3. oldcopy 136 23.10.21 19:20 Сейчас в теме
Зачем так сложно? Достаточно добавить одну строку в процедуру закрытия смены, которая будет принудительно выполнять синхронизацию после формирования ОРП. До конца этого процесса пользователь не сможет закрыть 1С, а следовательно выключить компьютер и уйти домой.
4. visusby 5 24.11.21 15:53 Сейчас в теме
5. oldcopy 136 24.11.21 18:25 Сейчас в теме
Примерно так:

Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда
		
		СписокПланов = ПланыОбмена.ПоМагазину.Выбрать();
		ПараметрыОбмена = ОбменДаннымиСервер.ПараметрыОбмена();
		
		Пока СписокПланов.Следующий() Цикл
		
			УзелОбмена = СписокПланов.Ссылка;
			ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы (УзелОбмена, ПараметрыОбмена, Ложь);	
					
		КонецЦикла; 	
	КонецЕсли; 
Показать


Засовываем куда-нибудь в конец процедуры ПродолжитьЗакрытиеСменыОкончаниеФискальныйОтчетЗавершение в обработке ЗакрытиеКассовойСмены.

Первое условие проверяет, что это подчиненный узел, затем получаем список планов обмена по магазинам (в РИБ будет ровно один) и выполняем обмен.

Обмен выполняется синхронно и блокирует интерфейс программы, сделано это намеренно, чтобы кассиры не пытались выйти из программы и выключить ПК до того, как сделается обмен.
6. visusby 5 24.11.21 18:46 Сейчас в теме
(5)
Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда

СписокПланов = ПланыОбмена.ПоМагазину.Выбрать();
ПараметрыОбмена = ОбменДаннымиСервер.ПараметрыОбмена();

Пока СписокПланов.Следующий() Цикл

УзелОбмена = СписокПланов.Ссылка;
ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы (УзелОбмена, ПараметрыОбмена, Ложь);

КонецЦикла;
КонецЕсли;

Спасибо тебе, добрый человек! Сэкономил время.
7. alsen 228 29.11.21 21:51 Сейчас в теме
(5) а потом кассиры после закрытия смены будут звонить с вопросом "У нас 1С висит, можно компьютер выключить?" )))
8. oldcopy 136 29.11.21 22:49 Сейчас в теме
(7) С кассирами проводится разъяснительная беседа. Можно не вдаваться в подробности, просто пояснить - смена закрывается долго, ждем пока не закроется.

Хотя можете и сделать красиво, с окошками, анимацией, пояснительным текстом. У нас используется в приведенном варианте, никаких вопросов от кассиров не возникает.
9. alsen 228 01.12.21 21:14 Сейчас в теме
(8)Совершенству нет предела
10. oldcopy 136 01.12.21 21:52 Сейчас в теме
(9) Это уже личные предпочтения каждого, наш опыт (две сети 30+ и 15+ магазинов) показывает, что все что нужно кассиру - это бумажка Z-отчета, остальное его не волнует. Если можно что-то не нажать, он это что-то не нажмет, разве что только показывать эту кнопку в блокирующем окне.

Ну и ваши утверждения, что в течении рабочего дня нельзя делать обмен, мягко говоря, очень спорные. У нас обмен работает с интервалом 15 минут, каких-либо проблем с этим нет. Единственный момент - ограничили обмен с еще одним РИБ, в котором работают с ЕГАИС нерабочим временем, потому как оттуда действительно может прийти значительный объем информации, приводящий к блокировкам.
Оставьте свое сообщение

См. также

Я исследовал закон Паркинсона и теперь меня уволят

О жизни Бесплатно (free)

Шучу, не уволят

25.06.2021    3878    1c-intelligence    31    

Наследование свойств элементов, или Как пользователь может сломать вашу форму

Практика программирования v8 Платформа 1C v8.2 1cv8.cf Бесплатно (free)

В 1С можно установить свойства ТолькоПросмотр, Доступность и Видимость не только на элементы формы, но и на группы элементов. Но стоит ли так делать? Оказывается, пользователь может обойти запреты, которые установлены на папку. Об этом подробнее в видео.

12.01.2021    4071    SeiOkami    25    

Некоторые особенности установки Apache 2.4 для 1С + SSL

Apache v8 1cv8.cf Россия Бесплатно (free)

Проблемы, возникшие при установке Apache 2.4, их решение.

30.11.2020    4487    jenyavp    23    

Контроль уникальности входящих документов

Документооборот и делопроизводство v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

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

1 стартмани

02.07.2020    5922    9    alsen    8    

Синхронизация после закрытия смены

Распределенная БД (УРИБ, УРБД) Розничная торговля v8 v8::ОУ v8::УФ Розница Абонемент ($m)

Данное расширение решает проблему своевременной синхронизации с РИБ между магазином и центральной базой для конфигурации РОЗНИЦА 2.2. Почему в первой рознице была автоматическая синхронизация после закрытия смены, и почему её убрали. Какие возникают технические риски и как этого проще всего избежать, об этом вы тоже узнаете из этой публикации.

1 стартмани

13.02.2020    6655    10    alsen    10    

Разделение табличных частей между документами

Обработка документов Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v77::ОУ 1С7:ТиС Россия БУ УУ Абонемент ($m)

Разделение табличных частей между документами поступления. Периодически возникает такая необходимость.

1 стартмани

02.09.2019    6576    2    alsen    1    

Удаление движений документа через внешнюю печатную форму

Обработка документов v8 1cv8.cf Абонемент ($m)

Удаление движений документа через пункт выбора внешних печатных форм.

1 стартмани

19.02.2019    3224    4    alsen    3    

Поиск документов с движениями или без движений по определенному регистру

Обработка документов Поиск данных v8 1cv8.cf Абонемент ($m)

Обработка выполняет поиск документов с движениями или без по определенным регистрам.

2 стартмани

19.02.2019    4189    7    alsen    0    

Установка принтера по умолчанию для 1С 7.7

Инструментарий разработчика Практика программирования v7.7 1cv7.md Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    9529    4    alsen    2    

Установка принтера по умолчанию

Универсальные обработки Рабочее место v8 1cv8.cf Абонемент ($m)

В терминальном режиме периодически пропадает принтер по умолчанию, и 1С отказывается выводить на печать документы. Не открывается ни предварительный просмотр, ни диалог выбора принтера. Помогает установка принтера по умолчанию.

1 стартмани

13.02.2019    4246    9    alsen    8    

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

Тестирование и исправление v8 Россия Бесплатно (free)

В статье описана возможность получить место возникновения исключения при работе пользователей без участия конфигуратора. Подробно описаны еще некоторые очень полезные приемы при работе в отладке.

17.01.2019    32475    PoZiTiFFF    54    

Роберт Мартин: "Будущее программирования" / Robert Martin: "The Future of Programming"

Математика и алгоритмы Блоги Бесплатно (free)

Перевод-транскрибация выступления.

14.01.2019    17464    Vladimir Litvinenko    38