Энтерпрайз — это один центральный сервер (далее МЕГАСЕРВЕР) и, установленная на нём, одна большая центральная БД (далее МЕГАБД), на которой задаются все основополагающие настройки, а так же ряд дочерних БД, которые берут настройки с центра и возвращают данные о реализации в МЕГАБД.
Исходя из вышесказанного статья будет разделена на следующие пункты:
- Настройка МЕГАСЕРВЕРА
1.1 Создание дочерней точки в МЕГАБД
1.2 Формирование файлов для дочерней точки на МЕГАСЕРВЕРЕ
1.3 Отправка файлов на дочернюю точку и получение информации от неё по средствам FTP-сервера
Установка FileZilla Server
Настройка FileZilla Server
1.4 Настройка загрузки данных о реализации в МЕГАБД - Настройка дочерней БД
2.1 Настройка обмена с МЕГАБД на дочерней точке - Дополнительные возможности для Энтерпрайз
3.1 Журнал изменения цен и автоматическая выгрузка цен на дочерние точки
3.2 План-меню и массовая загрузка цен в МЕГАБД
3.3 Дополнительный контроль сумм при обмене
3.4 Отправка данных от дочерней точки на центр по факту закрытия смены
3.5 Мониторинг обмена для МЕГАСЕРВЕРа
____________________________________________
Пункт №1
Настройка МЕГАСЕРВЕРА
Для начала устанавливаем чистую БД на имеющийся ПК, с поправкой, что [Имя БД] в команде загрузки задаём как MEGAPOS.
Соответственно все стандартные настройки необходимо скорректировать исходя из данного имени БД. Т.е. во всех конфигурационных и исполняемых файлах необходимо заменить POS на MEGAPOS.



Все необходимые скрипты для настройки схемы «Энтерпрайз» находятся в Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\
После того как мы развернём стандартную БД, необходимо выполнить скрипты
enterprise_1251.sql
idupg_enterprise_1251.sql
Первый создаёт ряд таблиц и связей для реализации схемы «Энтерпрайз».
Второй задаёт необходимые параметры для различных ID в МЕГАБД.
После выполнения данных скриптов, идём в Портал—>»Менеджер»—>»Система»—>»Подразделения»

В данном разделе мы создаём набор настроек для дочерних БД, которые будут работать на удалённых точках.
Примечание: Если вы не видите данный раздел, после выполнения скриптов, проверьте права доступа для вашей должности.

____________________________________________
1.1 Создание дочерней точки на МЕГАБД
Все настройки для дочерних БД задаются только в МЕГАБД. Изменять/вносить/удалять настройки локально на дочернем объекте не рекомендуется, если есть неуверенность в том как настроена система.
Перед созданием набора настроек для удалённой точки, необходимо заполнить все требуемые справочники:
Группы товаров и Товары
Прайс-листы
Сотрудники (Должности и Смены)
Залы и Столы
Типы платежей и Платежи
Станции
Отделы, Цеха и Распределение заказов по ним
Категории клиентов и Клиенты
Скидки
Примечание: в зависимости от ТЗ по централизации, часть вышеперечисленных пунктов можно пропустить.
В разделе «Подразделения» нажимаем кнопку «Добавить».
На первой закладке, «Основные», в обязательном порядке заполняем поля «Название» и «Код».
Поле «Код» заполнять латиницей или цифрами, для удобства не более 3-4 символов. Во избежания непредвиденных проблем не используйте спец-символы и кириллицу.

На закладке «Товары» указываем либо всё Меню, либо необходимую нам папку с товарами для данной точки. Единожды нажимаем на необходимую папку чтобы она подсвечивалась, это и будет означать её выбор.

На закладке «Цены» проставляем галочки на Прайс-листе или Прайс-ластах, которые предназначены для данной точки.

На закладке «Штат» выбираем Смену или Смены, которые предназначены для работы на данной точке.

На закладке «Залы» выбираем Зал или Залы, которые предназначены для данной точки.

На закладке «Оплаты» выбираем Типы платежей, которые предназначены для данной точки.

На закладке «Клиенты» выбираем Категории клиентов, которые предназначены для данной точки.

На закладке «Скидки» выбираем Группы скидок, которые предназначены для данной точки.

На закладке «Станции» выбираем Станции, которые предназначены для данной точки.

На закладке «Сотрудники» выбираем сотрудников, которым разрешено просматривать информацию данной точки через Портал МЕГАСЕРВЕРа.

По завершению заполнения всех пунктов, нажимаем кнопку «Применить».
____________________________________________
1.2 Формирование файлов для дочерней точки на МЕГАСЕРВЕРЕ
Копируем папку XCHANGE_MEGA из Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\
и вставляем её в папку C:\AVERS на МЕГАСЕРВЕРе.
Затем переименовываем в C:\AVERS\XCHANGE.
Копируем папку POINT из Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\
и вставляем её в папку C:\AVERS\XCHANGE на МЕГАСЕРВЕРе.
Папку переименовываем в соответствии с кодом подразделения, для которого она предназначается.


Заходим в папку подразделения.
Необходимо отредактировать файлы, для корректной работы обмена центра с дочерней точкой.
expmenu.sql — используется в процессе выгрузки меню, выгружает только таблицы,связанные с товарами.
exportc.sql — используется в процессе полной выгрузки данных на точку, выгружает данные из таблиц.
exportce.sql — используется в процессе полной выгрузки данных на точку, выгружает различные ID.

Поочерёдно открываем все файлы текстовым редактором, используя функцию автозамены, меняем POINTENTID на ID подразделения (см. фото выше, ENTERPRISEID).
Примечание: в FAR функция автозамены вызывается комбинацией клавиш Ctrl+F7, в Блокноте Windows Ctrl+h. Для прочих текстовых редакторов ищите в настройках, данная функция существует практически в каждом из них.


Примечание: Данные скрипты можно отредактировать более основательно, для получения более точных настроек выгрузки для дочерних точек.
Не рекомендуется вносить изменения, если вы плохо знакомы со структурой БД «Эксперт» и/или с теорией SQL запросов.
Проверяем, что у нас формируются файлы для дочерней точки.
Открываем консоль IBM DB2
Переходим в папку C:\AVERS\XCHANGE
Соединяемся с МЕГАБД
Выполняем команду:
expflgc2 [Код_подразделения]

После этого идём в папку подразделения, в подпапку exportc.
В эту папку складывается информация из таблиц, которую мы сформировали ранее.
Убеждаемся что все необходимые файлы присутствуют.

В корневой папке подразделения формируется архив importp.rar для отправки на точку.

Для автоматизации формирования данного архива, импортируем готовое задание Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\RSHED\Полный экспорт для всех точек.xml в Планировщик задач Windows на МЕГАСЕРВЕРе.
Перед сохранением задачи, заходим на закладку «Триггеры» и корректируем время запуска массовой выгрузки информации в зависимости от ТЗ.

Нажимаем ОК, вводим пароль.
Затем корректируем файл C:\AVERS\XCHANGE\expflgc2_all.bat
В нём дописываем все точки, которые должны участвовать в массовой выгрузке. Как показано на фото.

____________________________________________
1.3 Отправка файлов на дочернюю точку и получение информации от неё по средствам FTP-сервера
Мы используем проверенный годами FileZilla Server, однако при желании можно использовать любой другой, но это требует проверки и/или дополнительных настроек.
Данный блок разделим на несколько:
- Установка FileZilla Server
- Настройка FileZilla Server
____________________________________________
Установка FileZilla Server
Скачиваем с официального сайта или из Dropbox\UTILS WIN\FileZilla_Server_*версия*.exe

Запускаем от имени Администратора.







____________________________________________
Настройка FileZilla Server


Следующая настройка не обязательна, но может потребоваться, если наш сервер находится за жёстким NAT.

Все, используемые выше, порты, необходимо пробросить на сетевом оборудовании (маршрутизаторе), если сервер будет использоваться напрямую через белый IP адрес.
Переходим к добавлению самих подразделений в FTP-сервер.




Примечание: Если пароль требуется усложнить, то его так же необходимо изменить в настройках обмена на дочерней точке. Подробнее в Пункте 2.1.


Повторяем операцию для добавления всех дочерних точек в FTP-сервер.
____________________________________________
1.4 Настройка загрузки данных о реализации в МЕГАБД
Для загрузки информации используется скрипт C:\AVERS\XCHANGE\importc.sql.
Примечание: Данный скрипт можно отредактировать более основательно, для получения более точных настроек загрузки данных от дочерних точек.
Не рекомендуется вносить изменения, если вы плохо знакомы со структурой БД «Эксперт» и/или с теорией SQL запросов.
Для загрузка данных вручную
Открываем консоль IBM DB2
Переходим в папку C:\AVERS\XCHANGE
Соединяемся с МЕГАБД
Выполняем команду:
importc1 [Код_подразделения]

Для автоматизации загрузки данных о реализации, импортируем готовое задание Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\RSHED\Импорт данных со всех точек.xml в Планировщик задач Windows на МЕГАСЕРВЕРе.
Перед сохранением задачи, заходим на закладку «Триггеры» и корректируем время запуска массовой загрузки информации в зависимости от ТЗ.

Нажимаем ОК, вводим пароль.
Затем корректируем файл C:\AVERS\XCHANGE\importc1_all.bat
В нём дописываем все точки, которые должны участвовать в массовой загрузке. Как показано на фото.

____________________________________________
Пункт №2
Настройка дочерней БД
На свежем сервере для дочерней точки необходимо сначала сбросить исходную БД.
В консоли IBM DB2 выполняем команды:
db2 drop db POS
db2 uncatalog db POS
Закрываем консоль
Удаляем папку C:\DB2
Запускаем от имени Администратор файл C:\Windows\SysWOW64\odbcad32.exe

На вопрос очистки файла db2cl.ini отвечаем утвердительно.
Снова запускаем консоль IBM DB2
Переходим в C:\AVERS\CREATE25
Выполняем команду newmega POS POS
Выполняем команду configbig2 POS
Эта команда запустит создание основы для дочерней БД.
По завершение создания основы для дочерней БД, необходимо забрать настройки с МЕГАБД. Для этого настроим обмен на дочерней точке.
____________________________________________
2.1 Настройка обмена с МЕГАБД на дочерней точке
Папку Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\POINT_XCHANGEftp переносим в C:\AVERS на сервер.
Переименовываем C:\AVERS\POINT_XCHANGEftp в C:\AVERS\XCHANGEftp.
Редактируем файлы C:\AVERS\XCHANGEftp\xch.bat и C:\AVERS\XCHANGEftp\xchange.bat при помощи текстового редактора.
В шапке каждого файла заменяем
POINT_CODE на код подразделения
FTP_SERVER_ADRESS на IP адрес МЕГАСЕРВЕРа (как локальный так и белый) или на его доменное имя



Если в разделе Настройка FileZilla Server пароль для точки был изменён, то необходимо заменить его в обоих файлах во всех строчках.
Аналогично Пункту 1.2 данного руководства используем функцию автозамены в текстовом редакторе.
Для поиска используем %ftpuser% -p 1, как показано на фото ниже.

Состав загружаемых данных регулируется файлом C:\AVERS\XCHANGEftp\importc.sql.
Примечание: Данный скрипт можно отредактировать более основательно, для получения более точных настроек загрузки данных от МЕГАСЕРВЕРА.
Не рекомендуется вносить изменения, если вы плохо знакомы со структурой БД «Эксперт» и/или с теорией SQL запросов.
Выполняем сам обмен. Для этого запускаем C:\AVERS\XCHANGEftp\x.bat.
Выполняем его дважды. В зависимости от мощности машины и/или качества соединения между МЕГАСЕРВЕРом и сервером дочерней точки, обмен может занимать различное время.
Процесс обмена прерывать не рекомендуется, во избежания проблем с БД.
После того как обмен был выполнен дважды, переименовываем файлы:
importc.sql на importc_OLD.sql
importc_NEW.sql на importc.sql
importc_NEW.sql — его использование не обязательно, он содержит несколько упрощённый вариант обмена, а так же в нём изначально включена функция сохранения товаров для дочерней точки, если предполагается что точка самостоятельно формирует позиционирование товаров в меню.
Для автоматизации загрузки данных от МЕГАСЕРВЕРа, импортируем готовое задание Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\RSHED\Обмен с МЕГАСЕРВЕРом.xml в Планировщик задач Windows на сервере дочерней точки.
Перед сохранением задачи, заходим на закладку «Триггеры» и корректируем время запуска массовой загрузки информации в зависимости от ТЗ.

Нажимаем ОК.
Так же для автоматизации процесса обмена на сервере дочерней точки добавляем а автозапуск xch.bat.


На данном этапе базовая настройка завершена. Централизация настроена как на МЕГАСЕРВЕРе так и на дочерних точках.
Следующий Пункт 3 будет содержать ряд улучшений и дополнений. Так же со временем будет пополнятся.
____________________________________________
Пункт №3
Дополнительные возможности для Энтерпрайз
В данном разделе опишем ряд функциональных улучшений для схемы централизации. Данные улучшения не являются обязательными настройками, однако предоставляют дополнительные опции для работы.
____________________________________________
3.1 Журнал изменения цен и автоматическая выгрузка цен на дочерние точки
Данная настройка помогает отслеживать изменение цен в МЕГАБД в автоматическом режиме и, на основе этого, в кратчайший срок отправлять новые цена на дочерние точки.
Все необходимые скрипты и исполняемые файлы для данной настройки находятся в Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\EXPMENU\.
Для удобства переносим эту папку на МЕГАСЕРВЕР в C:\AVERS\XCHANGE\EXPMENU.
Для включения данной функции необходимо выполнить скрипты на МЕГАСЕРВЕРе
pricelog.sql — непосредственно создаёт таблицу и ряд триггеров для отслеживания изменения цен
xChangeReq.sql — создаёт промежуточную таблицу для автоматической отправки цен на дочерние точки
Добавляем файл C:\AVERS\XCHANGE\EXPMENU\flgw.bat в автозапуск либо отдельным заданием в Планировщик заданий Windows, либо в C:\AVERS\script.bat.


Затем корректируем файл C:\AVERS\XCHANGE\expflgc1_all.bat
В нём дописываем все точки, которые должны участвовать в массовой выгрузке. Как показано на фото.

____________________________________________
3.2 План-меню и массовая загрузка цен в МЕГАБД
План-меню — это планировщик по изменению цен в меню. В Менеджере появляется дополнительный раздел, который предназначен для создания электронных документов с обновлёнными ценами на товары для дальнейшей загрузки их в МЕГАБД по указанному.
Все необходимые скрипты и исполняемые файлы для данной настройки находятся в Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\EXPMENU\.
Для удобства переносим эту папку на МЕГАСЕРВЕР в C:\AVERS\XCHANGE\EXPMENU.
Для включения данной функции необходимо выполнить скрипт на МЕГАСЕРВЕРе
pricedate_upd.sql — непосредственно создаёт таблицу и ряд триггеров для использования раздела План-меню в Портале.

Примечание: Если вы не видите данный раздел, после выполнения скриптов, проверьте права доступа для вашей должности.

На закладке «Основные» задаём удобное Название и Дату ввода, т.е. когда должны обновиться новые цены. Дату можно указать ранее чем дата заполнения этого документа, тогда цены будут загружены с ближайшей проверкой.
Галку «Готов к загрузке» ставим, только после завершения оформления всего документа.

На закладке «Товары» добавляем список товаров, на которых должна изменится цена. Добавлять можно вручную или же загрузив файл в формате *.csv.

Файл должен состоять из трёх столбцов.
Код товара, название прайс-листа, новая цена.
Если новая цена будет указана «-999» без кавычек, то у данного товара цена будет удалена.

По завершению формирования данного документа, если мы убедились что всё корректно, ставим галку «Готов к загрузке», и нажимаем кнопку «Применить».
Формируя данные документы мы создаём некое расписание для обновления цен в системе и, соответственно, на дочерних точках.
Для автоматизации обновления цен, импортируем готовое задание Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\RSHED\Импорт цен из План-меню.xml в Планировщик задач Windows на МЕГАСЕРВЕРе.
Перед сохранением задачи, заходим на закладку «Триггеры» и корректируем время запуска массовой выгрузки информации в зависимости от ТЗ.

Нажимаем ОК.
Примечание: При массовой загрузке не ведётся запись в Журнал изменения цен из Пункта 3.1.
____________________________________________
3.3 Дополнительный контроль сумм при обмене
Данная настройка добавляет дополнительную сверку данных на МЕГАСЕРВЕРе и дочерних точках. Проверяется ряд сумм, значения которых должны быть идентичны между МЕГАБД и БД дочерней точки.
Все необходимые скрипты и исполняемые файлы для данной настройки находятся в Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\XCHANGE_MEGA
ИЛИ
в папке C:\AVERS\XCHANGE на МЕГАСЕРВЕРе.
Для включения данной функции необходимо выполнить скрипт на МЕГАСЕРВЕРе
daytest.sql — непосредственно создаёт таблицу и ряд связей для сверки данных.
На дочерних точках в C:\AVERS\XCHANGEftp\exportp.sql необходимо добавить следующее:
Данное дополнение можно скопировать из Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\POINT_XCHANGEftp\exportp.sql.
Для автоматизации этой проверки, импортируем готовое задание Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\RSHED\Проверка загруженных данных.xml в Планировщик задач Windows на МЕГАСЕРВЕРе.
Перед сохранением задачи, заходим на закладку «Триггеры» и корректируем время запуска массовой выгрузки информации в зависимости от того как часто хотим проверять целостность данных.

Нажимаем ОК.
____________________________________________
3.4 Отправка данных от дочерней точки на центр по факту закрытия смены
Для отправки данных по факту закрытия смены на дочерних точках необходимо обновить C:\AVERS\XCHANGEftp\xch.bat, обновлённые его вариант Dropbox\!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\POINT_XCHANGEftp\xch.bat
Затем выполнить скрипт на сервере дочерней точки
dayclose.sql — добавляет в БД скрипт, помечающий смены при их закрытии.
Скрипт можно забрать из Dropbox\!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\dayclose.sql.
____________________________________________
3.5 Мониторинг обмена для МЕГАСЕРВЕРа
Предпросмотр(откроется в новой вкладке)
Данная настройка предназначена для мониторинга обмена. В ней можно увидеть когда дочерняя точка последний раз выходила на связь, когда был произведён последний обмен, последние загруженные смены и прочее.
Примечание: Данная настройка является альтернативой для раздела Портала «Показатели», что означает, что работает либо Мониторинг, либо «Показатели».
Для включения Мониторинга на дочерних точках необходимо обновить C:\AVERS\XCHANGEftp\xch.bat, обновлённые его вариант Dropbox\!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\POINT_XCHANGEftp\xch.bat
Из папки Dropbox!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\XCHANGE_MEGA перенести файлы в папку C:\AVERS\XCHANGE на МЕГАСЕРВЕРе
Затем выполнить скрипт на МЕГАСЕРВЕРе
xch_date_upg.sql — добавляет в МЕГАБД ряд таблиц для отображения мониторинга.
Скрипт можно забрать из Dropbox\!Install WIN\3.AVERS\AVERS\CREATE25\EnterpriseKIT\xch_date_upg.sql.
Скорректировать конфигурацию Портала, изменив в файле
C:\inetpub\wwwroot\Reports\reports.config параметр
hidegraphreppokazat>YES</hidegraphreppokazat

Далее перезапускаем IIS, поочерёдно введя в консоль команды:
iisreset /stop
iisreset /start
Заходим в портал и вместо «Показателей» теперь появляется мониторинг обмена.

Первичная статья написана Елыковым Д.В. на http://kb.averstech.ru/