Обмен данными в распределенной сети

Обмен данных требуется в системах, структурные подразделения которых находятся на удалении друг от друга. В системе существует два принципиально разных варианта обмена:

  • обмен — для оперативного обмена данными;
  • синхронизация — для сверки и (или) синхронизации данных за период.

Карта распределенной базы данных

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

В карту РБД необходимо занести все удаленные подразделения предприятия (далее узлы), присвоить им тип узла:

  • 0 — Головной узел
  • 1 — Филиал
  • 2 — Ординар (торговая точка)

и организовать их в двух- или трехуровневую систему путем присвоения ординару кода головного узла и (или) филиала.

Вариант двухуровневой системы:

  • центральный офис (склад)
  • удаленная торговая точка

При таком варианте ТТ подчиняется (обменивается информацией) непосредственно только головному узлу.

Вариант трехуровневой системы:

  • центральный офис (склад)
  • филиал
  • удаленная торговая точка

При таком варианте ТТ может подчиняться и головному узлу и своему филиалу. Филиал, соответственно, подчиняется головному узлу.

Также в карте РБД присваиваются:

  • код узла
  • код склада и отдела узла (если в коде присутствует знак %, при приеме данных узлом будут выбраны только документы, код отдела которых соответствует указанной маске)
  • префикс системных номеров — для присвоения уникальных системных номеров (чтобы исключить одновременный ввод на удаленных узлах документов с одинаковым системным номером)
  • диапазон артикулов min-max — для присвоения уникальных артикулов ТМЦ и услуг

Лицензия на каждый удаленный узел присылается разработчиком в виде файла с расширением .new и привязывается к узлу с помощью инструмента . Отсутствие лицензии означает запрет на обмен и синхронизацию с данным узлом. Проверить наличие лицензии можно, нажав на .

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

:!: ВНИМАНИЕ: при открытии нового узла или получении им новой карты РБД необходимо в карте, находясь на строке узла, пометить его как «мой узел» .

Обмен в РБД

Данный вариант обмена предполагает оперативную рассылку и сбор информации между узлами.

Упрощенная схема обмена выглядит так: головной офис (склад) передает для удаленных узлов по расписанию или по мере необходимости обновленные справочники, приказы по ценам и накладные на внутренние перемещения и т.п. Удаленный узел (ТТ) принимает информацию, обновляет свои данные и также по мере необходимости передает свою информацию (дневную реализацию, накладные на возврат и т.п.) наверх.

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

  1. X.XXXX.YYYYMMDDHHMMSS
    • X — вид обмена
    • XXXX — код передающего узла
    • YYYYMMDDHHMMSS — дата/время
  2. X.XXXX_XXXX.YYYYMMDDHHMMSS
    • X — вид обмена
    • XXXX — код передающего узла
    • _XXXX — код узла-получателя
    • YYYYMMDDHHMMSS — дата/время
Вид обмена Имя узла при передаче Имя узла при приеме
A равноправный мой мой
B вниз мой мой босс или мой шеф (филиал)
C вверх мой босс или мой шеф (филиал) мой
D другому отделу мой любой

Примеры:

A000020090407182656 узел 0000 подготовил пакет для равноправного обмена для узла-получателя с кодом 0000
B0000_008620090313140744 узел 0000 подготовил пакет для передачи вниз для узла-получателя с кодом 0086
C0000_008620090213140321 узел 0086 подготовил пакет для передачи вверх для узла-получателя с кодом 0000
C0084_008620090213135753 узел 0086 подготовил пакет для передачи вверх для узла-получателя с кодом 0084
D008620090213135753 узел 0086 подготовил пакет для передачи другим узлам

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

Настройки обмена

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

Чтобы в окне настроек обмена внести изменения нужно нажать правую кнопку мыши на кнопке «Другие данные», находящуюся в правом верхнем углу окна и ввести логин и пароль администратора обмена.

Первая закладка настроек «Общие данные» позволяет определить ini настройки, которые хранятся в файле robmen.ini в рабочей папке пользователя. Здесь задаются пути к папкам обмена, типы узлов, коды отделов и складов и т.п.

В левой части окна можно настроить список узлов либо для полного запрета приема информации от них (+ в поле запрет приема), либо ограничения по дате (min дата).

Нажав на кнопку «Другие данные» можно настроить следующие данные.

Для выбора способа передачи данных предлагается три типа транспорта.

Для любого типа транспорта обязательно заполнение поля «сервер», остальные поля заполняются в зависимости от типа передачи.

Тип передачи Адреса Сервер
Файловый обмен через каталог Каталог для передачи
Обмен через E-mail Адреса e-mail в формате: <кому> [; <кому> […]] | <от кого> Почтовый SMTP сервер
Обмен через сервер FTP Каталог на FTP сервере FTP-сервер

Настройки способов приема аналогичны настройкам способов передачи.

Далее следует настроить варианты экспорта и наборы таблиц для этих вариантов. Эти настройки можно посмотреть в этой же вкладке, но удобней делать на закладке настроек «Передача (экспорт)».

Вариант экспорта представляет собой комбинацию из определенных наборов таблиц и способов передачи данных. Каждому варианту присваивается уникальный код, наименование (желательно обобщенное, исходя из входящих таблиц) и вид обмена.

В средней части окна нужно ввести перечень таблиц, которые Вы посчитали нужным включить в этот вариант экспорта. Многие электронные документы в системе физически хранятся в отдельных таблицах базы данных. Поэтому, для сохранения целостности документа при передачи данных, необходимо собрать эти таблицы в один набор.
Например, в окне <Набор таблиц> добавляется основная таблица MPRI (Приход ТМЦ). Ее можно выбрать из списка таблиц базы путем нажатия правой кнопки мыши. Далее можно добавить дополнительные ограничения по складам, отделам и ЦФО, количество связанных файлов и вариант принятия переданной информации Вашим получателем.

0 Только новое
1 Новое и незакрытое старое
2 Обновить все

Заполнять поле <ВНП> нужно только для вариантов обмена из узлов типа ФИЛИАЛ или ОРДИНАР. Значение этого поля определяет, какой тип прихода будет передаваться (внешний или внутренний).
После того как Вы заполнили данные по основной таблице, необходимо составить набор связанных таблиц в окне <экспортируемые таблицы>. При добавлении первой строки система заполнит ее информацией по основной таблице. В нашем примере это будет MPRI. При последующем добавлении нужно будет выбирать таблицы из списка таблиц базы путем нажатия правой кнопки мыши. Для данного набора необходимо добавить таблицу MPRI1 (Приход ТМЦ (спецификации)) и MIMEI (Списки IMEI).

После заполнения наборов таблиц для данного варианта обмена нужно ввести один или более способов передачи. Для этого в окне <Способы передачи> добавляются строки с типом передачи, который выбирается из уже настроенных ранее.
Таким образом создается столько вариантов экспорта, сколько необходимо для оперативного обмена информацией. Данные варианты отражаются в первом окне при запуске программы обмена.

Передача информации

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

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

После окончания процесса подготовки данных в верхней части окна < Способы передачи> появится имя подготовленного файла-архива. Если передающий узел является узлом типа ОРДИНАР ( или торговая точка) и у него есть управляющий филиал ( что должно быть описано в карте РБД ), то файлов-архивов будет подготовлено два, в т.ч для филиала.

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

отменить/вернуть выбор группы таблиц
изменить условия приема для одной/ для всех выбранных таблиц
просмотреть содержимое и при необходимости изменить его
перезаписать архив измененными данными

Прием информации

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

Для способов приема, использующих e-mail или FTP сервер система покажет протокол соединения. Затем сообщит о результате и количестве принятой информации.

В случае успешного приема можно приступить ко второму этапу приема, нажав на (Просмотр/изменение/импорт).

В появившемся окне нужно выбрать один или несколько (путем протягивания мыши) архивов и нажать «Открыть».

Здесь все выбранные архивы отражаются в верхней части окна < Архивы для приема>. В строке есть краткая информация об файле-архиве, т.е. его имя, какой узел и когда подготовил, вид и суть обмена. В нижней части окна <Набор таблиц> показано содержимое текущего архива. В этом окне и происходит непосредственно прием данных. Перед тем как принять данные у Вас есть также следующие возможности:

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

После нажатия система последовательно по выбранным таблицам произведет обновление данных в соответствии с указанными условиями и в соответствии со значением поля <как принять>. После окончания процесса в поле <принято > появится количество принятых/обновленных записей. Если какие-то документы были в момент принятия заняты другими пользователями, они перемещаются в протокол непринятых документов. Этот протокол затем можно посмотреть также как и архив для приема и допринять эти документы.
После успешного принятия данных файл-архив можно удалить, нажав кнопку в правом верхнем углу.

Синхронизация баз в РБД

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

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

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

  1. SX.XXXX_XXXX.YYYYMMMM
    • X — вид обмена
    • XXXX — код передающего узла
    • _XXXX — код узла-получателя (для всех получателей =0000)
    • YYYYMMMM — год месяц-месяц ( период синхронизации)
Вид обмена Имя узла при передаче Имя узла при приеме
SA равноправный мой мой
SB вниз мой мой босс или мой шеф (филиал)
SC вверх мой босс или мой шеф (филиал) мой

Примеры:

SB0000_008620090313140744 узел 0000 подготовил пакет для синхронизации вниз для узла-получателя с кодом 0086
SC0000_008620090213140321 узел 0086 подготовил пакет для сверки вверх для узла-получателя с кодом 0000
SC0084_008620090213135753 узел 0086 подготовил пакет для сверки вверх для узла-получателя с кодом 0084

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

Настройки синхронизации

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

Передача информации

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

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

отменить/вернуть выбор группы таблиц
изменить условия приема для одной/ для всех выбранных таблиц
просмотреть содержимое и при необходимости изменить его
перезаписать архив измененными данными

Сверка и синхронизация информации

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

Для способов приема, использующих e-mail или FTP сервер система покажет протокол соединения. Затем сообщит о результате и количестве принятой информации.

В случае успешного приема можно приступить ко второму этапу приема, нажав на (Просмотр/изменение/импорт).
В появившемся окне нужно выбрать один или несколько (путем протягивания мыши) архивов и нажать «Открыть». В отличии от приема для обмена название архивов в данном случае будет начинаться с 'S'.

В этом окне все выбранные архивы отражаются в верхней части окна < Архивы для приема>. В строке есть краткая информация об файле-архиве, т.е. его имя, какой узел и когда подготовил, вид и суть обмена. В нижней части окна <Набор таблиц> показано содержимое текущего архива. В этом окне и происходит непосредственно синхронизация или сверка данных. Для этого Вас есть также следующие возможности:

просмотреть содержимое и при необходимости изменить его
посмотреть расхождения
синхронизировать базу ( только при принятии информации от узла верхнего уровня)

Сверка информации

После нажатия система по текущей таблице проведет сверку данных по указанным реквизитам документа, которые при этом можно отключить/включить в список сверяемых полей ( по умолчанию все включено).

После окончания процесса будет выдан в отдельно окне протокол расхождений. В протокол попадут только документы с обнаруженными несоответствиями. Несоответствия могут быть нескольких типов и это отражается в поле <ошибка>:

У нас нет в принимающей базе нет документа, который находится в файле-архиве
У нас удалено в принимающей базе документ помечен как удаленный в отличии от того, который находится в файле-архиве
У них нет в принимающей базе есть документ, которого нет в файле-архиве
У них удалено в принимающей базе есть неудаленный документ, который помечен как удаленный в в файле-архиве

Если поле <ошибка> не заполнено, значит расхождения заключаются в разнице значений, и эта разница будет отражена в следующем виде:

'TDATA=31.10.2008 11:27:48/CPART=ООО «ГРАНИТ»/CSPART=00 69', т.е. перечень реквизитов, в которых есть несоответствия и их значения в файле-архиве с данными для синхронизации.

Протокол расхождений можно экспортировать в формат Excel для дальнейшей обработки и принятия решений. Документы с ошибкой типа <У нас нет > можно сразу принять в базу. Для этого их нужно отметить, нажав на кнопку <Принять> в левом верхнем углу. При выходе из окна несоответствий решение о принятие недостающих документов будет уточнено.

После обработки данных файл-архив можно удалить, нажав кнопку в правом верхнем углу.

Синхронизация информации

После нажатия появится окно <Синхронизация баз РБВ>. Далее система по нажатии кнопки <Синхронизация> по всем таблицам указанным в наборе проведет полное обновление данных в соответствии с принимаемой информацией. Документы, которых нет в файле-архиве будут в принимающей базе удалены, новые документы будут добавлены, остальные будут заменены. Если в списке таблиц будет хоть одна таблица, связанная с товародвижением, автоматически запустится функция авторазноски ТМЦ.

После обработки данных файл-архив можно удалить, нажав кнопку в правом верхнем углу.

 
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki