Синхронизация:Настройка синхронизации — различия между версиями
Aleksnick (обсуждение | вклад) (Новая страница: «==Установка и настройка WAMP сервера== 1. Скачать wamp server для необходимой операц. Системы http://…») |
Agk (обсуждение | вклад) |
||
(не показано 65 промежуточных версии 7 участников) | |||
Строка 1: | Строка 1: | ||
==Установка и настройка WAMP сервера== | ==Установка и настройка WAMP сервера== | ||
− | 1. Скачать wamp server для необходимой операц. Системы http://www.wampserver.com/ru/<br> | + | 1. Скачать wamp server: |
+ | |||
+ | 1.1 с уже установленными базовыми настройками и базой, http://www.standart-n.ru/files/synhro_server.exe | ||
+ | 1.2 (устарело!!!) с официального сайта для необходимой операц. Системы http://www.wampserver.com/ru/<br> | ||
+ | |||
2. Установить Visual C++<br> | 2. Установить Visual C++<br> | ||
− | 3. Установить WampServer<br> | + | 3. Установить WampServer !!!!! ВАЖНО, чтоб заработало wampserver должен быть тойже битности что и FIREBIRD<br> |
4. Настройка<br> | 4. Настройка<br> | ||
а. Открываем Appach – httpd.conf<br> | а. Открываем Appach – httpd.conf<br> | ||
Строка 16: | Строка 20: | ||
c. Ищем блок. Последние строки должны быть, как в этом примере.<br> | c. Ищем блок. Последние строки должны быть, как в этом примере.<br> | ||
<pre> | <pre> | ||
− | <Directory " | + | <Directory "${INSTALL_DIR}/www/"> |
# | # | ||
# Possible values for the Options directive are "None", "All", | # Possible values for the Options directive are "None", "All", | ||
Строка 49: | Строка 53: | ||
'''!!! ЕСЛИ ЭТИХ НАСТРОЕК НЕТ САМОМУ ИХ СТАВИТЬ НЕ НУЖНО!!!'''<br> | '''!!! ЕСЛИ ЭТИХ НАСТРОЕК НЕТ САМОМУ ИХ СТАВИТЬ НЕ НУЖНО!!!'''<br> | ||
d. Ставим галочку php - php extensions - php_interbase (правая кнопка мышки)<br> | d. Ставим галочку php - php extensions - php_interbase (правая кнопка мышки)<br> | ||
− | 5. Копируем C:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll<br> | + | 5. '''!!! ОБЯЗАТЕЛЬНО !!!''' в файлах php.ini, и my.ini ищем все вхождения слов MAX и LIMIT и устанавливаем ограничения (по здравому смыслу), т.к. изначально ограничения очень большие.<br> |
+ | (также проверить файл С:\wamp\bin\apache\apache\bin\php.ini)<br> | ||
+ | 6. Копируем C:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll<br> | ||
в отдельную папку делаем еще раз копию файла и обзываем его gds32.dll, потом оба этих файла копируем во все системные папки Windows, System32, C:\wamp\bin\apache\apache2.4.9\bin, C:\wamp\bin.<br> | в отдельную папку делаем еще раз копию файла и обзываем его gds32.dll, потом оба этих файла копируем во все системные папки Windows, System32, C:\wamp\bin\apache\apache2.4.9\bin, C:\wamp\bin.<br> | ||
− | + | 7. Устанавливаем пустую глобальную базу, берём с какого-либо схожего клиента, делаем бэкап метаданных, | |
− | + | после чего размернув рядом - копирование объекта с донорской базы копируем таблицы | |
− | + | ||
− | + | Настройки копирования: | |
− | + | [[Файл:Copy to meta.png|center|Фильтр]] | |
+ | <br> | ||
+ | '''G$DISTRIBUTE_VECTORS''' | ||
+ | '''G$DISTRIBUTE_X_TABLES''' | ||
+ | '''G$PROFILES''' - по желанию | ||
+ | '''G$PROFILES_RULES''' - по желанию | ||
+ | '''SP$ANALITYCS(интер.отчёты)''' | ||
+ | '''SP$FRREPORTS''' | ||
+ | '''SP$GROUPS''' | ||
+ | '''SP$GROUP_DETAIL''' | ||
+ | '''SP$PARAMS''' | ||
+ | '''SP$USERS>''' | ||
+ | '''SP$WDICTS''' | ||
+ | '''в сводник Z$DBVER(DistributeClient профиль)''' | ||
+ | <br> | ||
+ | создаём 0 g$profile по типу родительской базы<br> | ||
+ | и если точка первая - делаем update doc_types с уже работающей синхронизацией, чтобы на сервере появились типы документов<br> | ||
+ | 8. В каталог установки wamp\www устанавливаем скрипты. Можно взять с клиента со схожей базой скрипты из папки www/sinhro/engine - все кроме log.txt, папки BACK,USERS,QUEUE, их потом вручную создать надо будет(не копировать, потому что очень много весят)<br> | ||
+ | '''Внимание! Обязательно нужно скрыть листинг файлов на сервере wamp, для этого в каталоге www нужно убедиться, что файл по названием ".htaccess" присутствует. Если его нет, нужно взять с любого сервера wamp, например, он есть Фармаком''' <br> | ||
+ | 9. В этом каталоге настраиваем файлы: declare.php. пути должны быть верные<br> | ||
+ | 10. Проверяем доступ http://127.0.0.1:8080/sinhro/engine/system.php. Ошибка "error no input data" говорит о том, что все хорошо. Если доступа нет, обращаемся к сис.админам для проброски порта 8080 или настройки совместимости wamp и firebird. Модем, антивирус, брандмауэр.<br> | ||
11. В базе ZTRADE_GM.FDB настраиваем таблицу G$PROFILES аналогично строке с id=0<br> | 11. В базе ZTRADE_GM.FDB настраиваем таблицу G$PROFILES аналогично строке с id=0<br> | ||
− | 12 | + | 12. Перезагрузить комп. Проверить: старт wamp server должен быть автоматически.<br> |
− | + | ||
==Настройка очереди== | ==Настройка очереди== | ||
Строка 67: | Строка 92: | ||
5. В Службах ОС найти и запустить службу "StandartNDistributeQueueService", тип запуска "Автоматически";<br> | 5. В Службах ОС найти и запустить службу "StandartNDistributeQueueService", тип запуска "Автоматически";<br> | ||
6. В планировщике заданий настраиваем задание на перезапуск службы (пример есть в ЮгМедФарме, Гурмане, АйдакеФарм и др.)<br> | 6. В планировщике заданий настраиваем задание на перезапуск службы (пример есть в ЮгМедФарме, Гурмане, АйдакеФарм и др.)<br> | ||
+ | <pre> | ||
+ | net.exe stop StandartNDistributeQueueService | ||
+ | TIMEOUT /T 30 | ||
+ | TASKKILL /F /IM SNDQS.exe | ||
+ | TIMEOUT /T 30 | ||
+ | net.exe start StandartNDistributeQueueService | ||
+ | </pre> | ||
7. Проверить.<br> | 7. Проверить.<br> | ||
+ | |||
+ | ==Общие понятия== | ||
+ | Сборка пакета для клиента | ||
+ | 1. Вычисление данных для отправки, на основании G$DISTRIBUTE_VECTORS. Если записей по профилю нет - в выборку попадают записи на отправку всех таблиц. | ||
+ | 2. Последовательная сбока пакета основании G$DISTRIBUTE_X_TABLES. Если записей по профилю нет - все отправляется, иначе, только присутствующие таблицы (переименованные, если указано). | ||
+ | 3. При достижении лимита по объему сборка прекращается, пакет отправляется | ||
==Настройка клиента== | ==Настройка клиента== | ||
1. Скопировать и запустить distributeclient<br> | 1. Скопировать и запустить distributeclient<br> | ||
2. Настройки должны выглядеть примерно так:<br> | 2. Настройки должны выглядеть примерно так:<br> | ||
− | 3. | + | 3. [[Файл:Настройка синхронизации.png]]<br> |
4. Перезапуск клиента.<br> | 4. Перезапуск клиента.<br> | ||
5. Вводим идентификатор профиля (программа GenDBSecureKey.exe – кнопка Button3), где номер по порядку совпадает с ИД из таблицы G$PROFILES, а сам ключ совпадает со значением в поле DBSECUREKEY (БД Ztrade_GM).<br> | 5. Вводим идентификатор профиля (программа GenDBSecureKey.exe – кнопка Button3), где номер по порядку совпадает с ИД из таблицы G$PROFILES, а сам ключ совпадает со значением в поле DBSECUREKEY (БД Ztrade_GM).<br> | ||
Строка 80: | Строка 118: | ||
==Настройка сводной базы== | ==Настройка сводной базы== | ||
− | 1) | + | 1)Устанавливаем пустую сводную базу, берём с какого-либо схожего клиента, делаем бэкап метаданных, после чего размернув рядом - копирование объекта с донорской базы копируем таблицы<br> |
+ | '''SP$ANALITYCS(интер.отчёты)''' | ||
+ | '''SP$FRREPORTS''' | ||
+ | '''SP$GROUPS''' | ||
+ | '''SP$GROUP_DETAIL''' | ||
+ | '''SP$IMAGELISTS''' | ||
+ | '''SP$PARAMS''' | ||
+ | '''SP$PICTURES''' | ||
+ | '''SP$USERS''' | ||
+ | '''SP$WDICTS''' | ||
+ | '''в сводник Z$DBVER(DistributeClient профиль)''' | ||
+ | <br> | ||
2) Разворачиваем на требуемом ПК;<br> | 2) Разворачиваем на требуемом ПК;<br> | ||
3) В таблице G$DISTRIBUTE оставляем только 1 запись с максимальным SERVERPACKET, остальное чистим;<br> | 3) В таблице G$DISTRIBUTE оставляем только 1 запись с максимальным SERVERPACKET, остальное чистим;<br> | ||
− | 4) Создаем на сервере профиль по аналогии с сущ. сводной базой, настройки в таблицах G$DISTRIBUTE_X_TABLES и G$DISTRIBUTE_VECTORS аналогичные сущ. сводной базе;<br> | + | 4) Создаем на сервере профиль по аналогии с сущ. сводной базой '''(по умолчанию используем 98 профиль для сводной базы)''', настройки в таблицах G$DISTRIBUTE_X_TABLES и G$DISTRIBUTE_VECTORS аналогичные сущ. сводной базе;<br> |
5) Копируем папку со spacepro, dtClient-ом - настраиваем на актуальный профиль и путь к базе. DtClient ставим в автозагрузку.<br> | 5) Копируем папку со spacepro, dtClient-ом - настраиваем на актуальный профиль и путь к базе. DtClient ставим в автозагрузку.<br> | ||
+ | 6) если аптечная сеть - настраиваем OST на сводную базу и прописываем нужный регион | ||
+ | 7) Настраиваем планировщик на сжатие/восстановление базы сводника и чистку каталога | ||
+ | |||
+ | ==Добавляем клиента в общий мониторинг синхронизации на sinhro== | ||
+ | \\192.168.67.30\web\sinhro\configs\clients.ini | ||
+ | dev | ||
+ | express | ||
+ | |||
+ | ==Быстрое шифрование пакетов== | ||
+ | 1) кладем в папку со скриптами файл \\supa\zclientxp\_releases\DistributeClient\codefilebykey.exe <br> | ||
+ | 2) правим system.php, в блоке case "querypackets2013" меняем строчку с <br> | ||
+ | <pre> codefilebykey($userfolder."data.rok", $userfolder."data.cri", $GLOBALS["CODEKEY"]); </pre> | ||
+ | на | ||
+ | <pre> exec("codefilebykey.exe ".$userfolder."data.rok ".$userfolder."data.cri ".$GLOBALS["CODEKEY"]);</pre> | ||
+ | |||
+ | ==Отключение стандартных контролек== | ||
+ | <pre> | ||
+ | в тасках у некоторых клиентов постоянно появляются записи с названием "CONTROLSUMS", которые выполняются с ошибками. | ||
+ | Для их отключения требуется переименовать папку "gcontrol" (\wamp\www\sinhro\engine\gcontrol) в другое имя, например "gcontrol~~" | ||
+ | </pre> | ||
==ВНИМАНИЕ!!!== | ==ВНИМАНИЕ!!!== | ||
Строка 90: | Строка 159: | ||
1) Нормально: на docs, parts висят триггеры, которые собирают warebase_g, триггеры которой пишут данные в g$distribute, т.к. это все происходит в рамках транзакции очереди задач;<br> | 1) Нормально: на docs, parts висят триггеры, которые собирают warebase_g, триггеры которой пишут данные в g$distribute, т.к. это все происходит в рамках транзакции очереди задач;<br> | ||
2) Неправильно: пользовательская таблица, которая заполняется вручную, триггеры которой пишут данные в g$distribute, т.к. запись происходит в отдельной транзакции.<br> | 2) Неправильно: пользовательская таблица, которая заполняется вручную, триггеры которой пишут данные в g$distribute, т.к. запись происходит в отдельной транзакции.<br> | ||
+ | |||
+ | ==Настройка ServiceMngr.exe для глобальной БД== | ||
+ | в restoreSQL.ini добавить строки: | ||
+ | <pre> | ||
+ | delete from G$DISTRIBUTE g where g.insertdt < dateadd(month, -6, current_timestamp) and g.updatedt < dateadd(month, -6, current_timestamp); | ||
+ | delete from g$tasks g where g.insertdt < dateadd(month, -6, current_timestamp); | ||
+ | </pre> | ||
+ | |||
+ | ==Пустые наименования. РЕШЕНИЕ!== | ||
+ | <pre> | ||
+ | 1) поправить declare.php (убрать WARES.SNAME, поле должно приходить по синхронизации с локальной базы); | ||
+ | 2) проверить триггеры на wares.sname на серверной БД (заполнения поля на серверной/сводной БД быть не должно); | ||
+ | 3) сделать поле wares.sname на серверной БД NOT NULL (поле должно быть всегда заполнено); | ||
+ | </pre> | ||
+ | |||
+ | ==Типы задач (g$tasks TASK_TYPE)== | ||
+ | <pre> | ||
+ | 0 - обычный SQL скрипт; | ||
+ | 2 - сетки | ||
+ | 4 - кнопки для кассира (данные должны быть в zip архиве) | ||
+ | </pre> | ||
+ | |||
+ | <b>подробнее см. тут</b> | ||
+ | http://wiki.standart-n.ru/index.php/%D0%A1%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F:%D0%9E%D0%B1%D1%89%D0%B8%D0%B5_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%BF%D0%BE_%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8#.D0.9E.D1.82.D0.BF.D1.80.D0.B0.D0.B2.D0.B8.D1.82.D1.8C_.D1.81.D0.B5.D1.82.D0.BA.D1.83_.D0.BE.D1.82.D0.BE.D0.B1.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F_.28.D1.80.D0.B0.D1.81.D0.BF.D1.80.D0.BE.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.82.D1.8C_.D0.B2.D0.B8.D0.B4.29_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.8B_.D0.BF.D0.BE_.D1.81.D0.B5.D1.82.D0.B8 | ||
+ | |||
+ | |||
+ | ==Медленная работа процедуры по расчету остатков PR_SET_WAREBASE_DATE== | ||
+ | требуется на своднике выполнить скрипт | ||
+ | [[Файл:PR SET WAREBASE DATE.txt]] | ||
+ | |||
+ | ==Ошибка "Incomplete Zip File"== | ||
+ | в логах клиента синхронизации "Ошибка при сеансе обмена: Incomplete Zip File", смотрим *.rcvd файлы. | ||
+ | Там может быть ошибка, например: | ||
+ | <pre> | ||
+ | 502 Bad Gateway | ||
+ | ------------------------------------ | ||
+ | nginx/1.2.1" | ||
+ | </pre> | ||
+ | |||
+ | ==Отправить сетку по сети== | ||
+ | [[Синхронизация:Отправить_сетку_отображения_(распространить_вид)_таблицы_по_сети]] | ||
+ | |||
+ | ==Обновить DtClient для всей сети== | ||
+ | [[Синхронизация:Общие_вопросы_по_синхронизации#.D0.9A.D0.B0.D0.BA_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.B8.D1.82.D1.8C_.D1.83.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.BD.D0.BE_Distribute_Client_.28dtclient.29|Синхронизация:Общие_вопросы_по_синхронизации#Distribute_Client_dtclient]] | ||
+ | |||
+ | ==ошибка "Ошибка в вэб-запросе: Connection refused" == | ||
+ | в службе очереди или путь к базе не тот или порт указан внешний, а не внутренний 8080 | ||
+ | |||
+ | ==Пакеты== | ||
+ | * '''packet''' - это счетчик на отправку данных с локальной точки, должен быть больше или равен на сервере по этому профилю (заполняется генератором на точке) | ||
+ | * '''serverpacket''' - это общий счетчик на скачаивание данных с сервера на точку, на сервере всегда больше или равен точке (заполняется генератором на сервере) |
Текущая версия на 16:29, 10 апреля 2024
Содержание
- 1 Установка и настройка WAMP сервера
- 2 Настройка очереди
- 3 Общие понятия
- 4 Настройка клиента
- 5 Настройка сводной базы
- 6 Добавляем клиента в общий мониторинг синхронизации на sinhro
- 7 Быстрое шифрование пакетов
- 8 Отключение стандартных контролек
- 9 ВНИМАНИЕ!!!
- 10 Настройка ServiceMngr.exe для глобальной БД
- 11 Пустые наименования. РЕШЕНИЕ!
- 12 Типы задач (g$tasks TASK_TYPE)
- 13 Медленная работа процедуры по расчету остатков PR_SET_WAREBASE_DATE
- 14 Ошибка "Incomplete Zip File"
- 15 Отправить сетку по сети
- 16 Обновить DtClient для всей сети
- 17 ошибка "Ошибка в вэб-запросе: Connection refused"
- 18 Пакеты
Установка и настройка WAMP сервера
1. Скачать wamp server:
1.1 с уже установленными базовыми настройками и базой, http://www.standart-n.ru/files/synhro_server.exe 1.2 (устарело!!!) с официального сайта для необходимой операц. Системы http://www.wampserver.com/ru/
2. Установить Visual C++
3. Установить WampServer !!!!! ВАЖНО, чтоб заработало wampserver должен быть тойже битности что и FIREBIRD
4. Настройка
а. Открываем Appach – httpd.conf
b. Строки
Listen 0.0.0.0:80 Listen [::0]:80
исправляем на
Listen 0.0.0.0:8080
c. Ищем блок. Последние строки должны быть, как в этом примере.
<Directory "${INSTALL_DIR}/www/"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All # # Controls who can get stuff from this server. # Require all granted # onlineoffline tag - don't remove Order Deny,Allow Allow from all </Directory>
!!! ЕСЛИ ЭТИХ НАСТРОЕК НЕТ САМОМУ ИХ СТАВИТЬ НЕ НУЖНО!!!
d. Ставим галочку php - php extensions - php_interbase (правая кнопка мышки)
5. !!! ОБЯЗАТЕЛЬНО !!! в файлах php.ini, и my.ini ищем все вхождения слов MAX и LIMIT и устанавливаем ограничения (по здравому смыслу), т.к. изначально ограничения очень большие.
(также проверить файл С:\wamp\bin\apache\apache\bin\php.ini)
6. Копируем C:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll
в отдельную папку делаем еще раз копию файла и обзываем его gds32.dll, потом оба этих файла копируем во все системные папки Windows, System32, C:\wamp\bin\apache\apache2.4.9\bin, C:\wamp\bin.
7. Устанавливаем пустую глобальную базу, берём с какого-либо схожего клиента, делаем бэкап метаданных,
после чего размернув рядом - копирование объекта с донорской базы копируем таблицы
Настройки копирования:
G$DISTRIBUTE_VECTORS G$DISTRIBUTE_X_TABLES G$PROFILES - по желанию G$PROFILES_RULES - по желанию SP$ANALITYCS(интер.отчёты) SP$FRREPORTS SP$GROUPS SP$GROUP_DETAIL SP$PARAMS SP$USERS> SP$WDICTS в сводник Z$DBVER(DistributeClient профиль)
создаём 0 g$profile по типу родительской базы
и если точка первая - делаем update doc_types с уже работающей синхронизацией, чтобы на сервере появились типы документов
8. В каталог установки wamp\www устанавливаем скрипты. Можно взять с клиента со схожей базой скрипты из папки www/sinhro/engine - все кроме log.txt, папки BACK,USERS,QUEUE, их потом вручную создать надо будет(не копировать, потому что очень много весят)
Внимание! Обязательно нужно скрыть листинг файлов на сервере wamp, для этого в каталоге www нужно убедиться, что файл по названием ".htaccess" присутствует. Если его нет, нужно взять с любого сервера wamp, например, он есть Фармаком
9. В этом каталоге настраиваем файлы: declare.php. пути должны быть верные
10. Проверяем доступ http://127.0.0.1:8080/sinhro/engine/system.php. Ошибка "error no input data" говорит о том, что все хорошо. Если доступа нет, обращаемся к сис.админам для проброски порта 8080 или настройки совместимости wamp и firebird. Модем, антивирус, брандмауэр.
11. В базе ZTRADE_GM.FDB настраиваем таблицу G$PROFILES аналогично строке с id=0
12. Перезагрузить комп. Проверить: старт wamp server должен быть автоматически.
Настройка очереди
1. Взять последний релиз \\supa\zclientxp\_releases\QueueService;
2. В QueueService.ini указать актуальные пути/адреса;
3. Установить службу SNDQS.exe /install;
4. В declare.php (обычно тут C:\wamp\www\sinhro\engine\declare.php) указать параметр $GLOBALS["USEQUEUE"]=TRUE;
5. В Службах ОС найти и запустить службу "StandartNDistributeQueueService", тип запуска "Автоматически";
6. В планировщике заданий настраиваем задание на перезапуск службы (пример есть в ЮгМедФарме, Гурмане, АйдакеФарм и др.)
net.exe stop StandartNDistributeQueueService TIMEOUT /T 30 TASKKILL /F /IM SNDQS.exe TIMEOUT /T 30 net.exe start StandartNDistributeQueueService
7. Проверить.
Общие понятия
Сборка пакета для клиента
1. Вычисление данных для отправки, на основании G$DISTRIBUTE_VECTORS. Если записей по профилю нет - в выборку попадают записи на отправку всех таблиц. 2. Последовательная сбока пакета основании G$DISTRIBUTE_X_TABLES. Если записей по профилю нет - все отправляется, иначе, только присутствующие таблицы (переименованные, если указано). 3. При достижении лимита по объему сборка прекращается, пакет отправляется
Настройка клиента
1. Скопировать и запустить distributeclient
2. Настройки должны выглядеть примерно так:
3.
4. Перезапуск клиента.
5. Вводим идентификатор профиля (программа GenDBSecureKey.exe – кнопка Button3), где номер по порядку совпадает с ИД из таблицы G$PROFILES, а сам ключ совпадает со значением в поле DBSECUREKEY (БД Ztrade_GM).
6. Проверяем что в основных таблицах VALS, WARES, PARTS,DOCS у строки с id=0 небольшой пакет, если большой отключаем триггер, обнуляем пакет.
7. Проверяем синхронизацию
8. Ставим ярлык в автозагрузку
Настройка сводной базы
1)Устанавливаем пустую сводную базу, берём с какого-либо схожего клиента, делаем бэкап метаданных, после чего размернув рядом - копирование объекта с донорской базы копируем таблицы
SP$ANALITYCS(интер.отчёты) SP$FRREPORTS SP$GROUPS SP$GROUP_DETAIL SP$IMAGELISTS SP$PARAMS SP$PICTURES SP$USERS SP$WDICTS в сводник Z$DBVER(DistributeClient профиль)
2) Разворачиваем на требуемом ПК;
3) В таблице G$DISTRIBUTE оставляем только 1 запись с максимальным SERVERPACKET, остальное чистим;
4) Создаем на сервере профиль по аналогии с сущ. сводной базой (по умолчанию используем 98 профиль для сводной базы), настройки в таблицах G$DISTRIBUTE_X_TABLES и G$DISTRIBUTE_VECTORS аналогичные сущ. сводной базе;
5) Копируем папку со spacepro, dtClient-ом - настраиваем на актуальный профиль и путь к базе. DtClient ставим в автозагрузку.
6) если аптечная сеть - настраиваем OST на сводную базу и прописываем нужный регион
7) Настраиваем планировщик на сжатие/восстановление базы сводника и чистку каталога
Добавляем клиента в общий мониторинг синхронизации на sinhro
\\192.168.67.30\web\sinhro\configs\clients.ini dev express
Быстрое шифрование пакетов
1) кладем в папку со скриптами файл \\supa\zclientxp\_releases\DistributeClient\codefilebykey.exe
2) правим system.php, в блоке case "querypackets2013" меняем строчку с
codefilebykey($userfolder."data.rok", $userfolder."data.cri", $GLOBALS["CODEKEY"]);
на
exec("codefilebykey.exe ".$userfolder."data.rok ".$userfolder."data.cri ".$GLOBALS["CODEKEY"]);
Отключение стандартных контролек
в тасках у некоторых клиентов постоянно появляются записи с названием "CONTROLSUMS", которые выполняются с ошибками. Для их отключения требуется переименовать папку "gcontrol" (\wamp\www\sinhro\engine\gcontrol) в другое имя, например "gcontrol~~"
ВНИМАНИЕ!!!
На серверной базе нельзя настраивать функционал, который будет записывать данные в g$distribute параллельно с очередью задач вне её транзакции. Иначе будут дыры в пакетах, и есть риск, что часть данных с сервера не уйдет. Пример:
1) Нормально: на docs, parts висят триггеры, которые собирают warebase_g, триггеры которой пишут данные в g$distribute, т.к. это все происходит в рамках транзакции очереди задач;
2) Неправильно: пользовательская таблица, которая заполняется вручную, триггеры которой пишут данные в g$distribute, т.к. запись происходит в отдельной транзакции.
Настройка ServiceMngr.exe для глобальной БД
в restoreSQL.ini добавить строки:
delete from G$DISTRIBUTE g where g.insertdt < dateadd(month, -6, current_timestamp) and g.updatedt < dateadd(month, -6, current_timestamp); delete from g$tasks g where g.insertdt < dateadd(month, -6, current_timestamp);
Пустые наименования. РЕШЕНИЕ!
1) поправить declare.php (убрать WARES.SNAME, поле должно приходить по синхронизации с локальной базы); 2) проверить триггеры на wares.sname на серверной БД (заполнения поля на серверной/сводной БД быть не должно); 3) сделать поле wares.sname на серверной БД NOT NULL (поле должно быть всегда заполнено);
Типы задач (g$tasks TASK_TYPE)
0 - обычный SQL скрипт; 2 - сетки 4 - кнопки для кассира (данные должны быть в zip архиве)
Медленная работа процедуры по расчету остатков PR_SET_WAREBASE_DATE
требуется на своднике выполнить скрипт Файл:PR SET WAREBASE DATE.txt
Ошибка "Incomplete Zip File"
в логах клиента синхронизации "Ошибка при сеансе обмена: Incomplete Zip File", смотрим *.rcvd файлы. Там может быть ошибка, например:
502 Bad Gateway ------------------------------------ nginx/1.2.1"
Отправить сетку по сети
Синхронизация:Отправить_сетку_отображения_(распространить_вид)_таблицы_по_сети
Обновить DtClient для всей сети
Синхронизация:Общие_вопросы_по_синхронизации#Distribute_Client_dtclient
ошибка "Ошибка в вэб-запросе: Connection refused"
в службе очереди или путь к базе не тот или порт указан внешний, а не внутренний 8080
Пакеты
- packet - это счетчик на отправку данных с локальной точки, должен быть больше или равен на сервере по этому профилю (заполняется генератором на точке)
- serverpacket - это общий счетчик на скачаивание данных с сервера на точку, на сервере всегда больше или равен точке (заполняется генератором на сервере)