ОСОБЕННОСТИ ОДНОФИЛИАЛЬНОЙ И МНОГОФИЛИАЛЬНОЙ БАЗЫ АБС БИСКВИТ

АБС Бисквит предоставляет два варианта режима работы: однофилиальный и многофилиальный. Однофилиальный режим предполагает создание независимых отдельных баз для каждого отдельно взятого филиала. Такие базы хранят в себе информацию относящуюся исключительно к одному конкретному филиалу и как правило размещаются на отдельных серверах. Многофилиальный режим, или же централизованные режим работы АБС предполагает размещение всех филиалов банка в единой централизованной базе данных. При входе в многофилиальную АБС Бисквит пользователю предоставляется возможно выбора филиала с объектами которого он хочет работать.

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


ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ


Глобальные переменные определяющие однофилиальный или многофилиальный режимы работы АБС определены в filial.def, который в свою очередь подключен в globals.i.

  • shMode - переменная LOGICAL типа, определяющая режим работы базы АБС Бисквит (YES - многофилиальная база; NO - однофилиальная). Значение данной переменной, а следовательно и режим работы базы, определяется подпараметром Mode, настроечного параметра Filial;
  • shMultyMode - переменная LOGICAL типа, определяющая мульти-режим работы АБС Бисквит;
  • shFilial - переменная CHAR типа, значение которой определяет код филиала в котором производится работа;
  • shFilHead - переменная CHAR типа, содержащая значение кода филиала - весь банк.


НОМЕРА СЧЕТОВ И ДОГОВОРОВ


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

Если в однофилиальной базе счет хранится в виде:

40702810100010000001

то в многофилиальной базе этот же счет будет храниться в виде:

40702810100010000001     @0001

Для учета этих особенностей работы со счетами существуют следующие функции:

addFilToAcct(acct, filial-id) - осуществляет добавление @<код филиала> к номеру счету.
delFilFromAcct(acct) - удаляет @<код филиала> из номера счета.

  • acct - номер счета, тип CHAR;
  • filial-id - код филиала, тип CHAR.

Выше указанные функции описаны в base-pp и для их использования в собственных процедурах необходимо подключение globals.i

Для договоров существуют аналогичные функции определенные в mf-loan.i.

addFilToLoan(cont-code, filial-id) - осуществляет добавление @<код филиала> к номеру договора.
delFilFromLoan(cont-code) - удаляет @<код филиала> у номера договора.

  • cont-code - номер договора, тип CHAR;
  • filial-id - код филиала, тип CHAR.

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


НАСТРОЕЧНЫЕ ПАРАМЕТРЫ


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

Стоит быть внимательным при определении значения индивидуального настроечного параметра филиала отличного от того, в котором будет выполняться процедура. В этом случае стоит применять функцию FGetSettingMF, в которой в качестве одного из входных параметров указывается код филиала, для которого необходимо определить значение настроечного параметра. Функция FGetSetting вернет значение параметра для филиала определенного в глобальной переменной shFilial, т.е. того филиала, в котором выполняется процедура.

Вы здесь: Главная ИБС Бисквит БАЗОВЫЙ ОСОБЕННОСТИ ОДНОФИЛИАЛЬНОЙ И МНОГОФИЛИАЛЬНОЙ БАЗЫ АБС БИСКВИТ