БИБЛИОТЕКА РАБОТЫ СО СЧЕТАМИ


ФУНКЦИИ


AcctWhoCreated(in-acct, in-curr) - возвращает ID  пользователя, открывшего счет, тип CHAR.

  • in-acct - номер счета, тип CHAR;
  • in-curr - валюта счета, тип CHAR.

CheckOpenAcct(cAcct, cCurrency,  dOpDate) - возвращает логическое значение, тип LOGICAL, признак того, открыт счет на запрашиваемую дату или нет. YES - счет открыт, NO - счет закрыт, ? - счет не найден. 

  • cAcct - номер счета, тип CHAR;
  • cCurrency - валюта счета, тип CHAR;
  • dOpDate - запрашиваемая дата.

CheckCloseAcct(cAcct, cCurrency,  dOpDate) - возвращает логическое значение, тип LOGICAL, признак того, открыт счет на запрашиваемую дату или нет. YES - счет закрыт, NO - счет открыт, ? - счет не найден. Является "зеркальной" функцией CheckOpenAcct().

  • cAcct - номер счета, тип CHAR;
  • cCurrency - валюта счета, тип CHAR;
  • dOpDate - запрашиваемая дата.

getFirstMove(in-acct, in-curr) - возвращает дату первого движения по счету, тип DATE. Учитываются операции со статусом равным или выше глобального gOp-Status (Глобальные параметры).

  • in-acct - номер счета, тип CHAR;
  • in-curr - валюта счета, тип CHAR.

GetFirtsMoveDate(iAcct, iBegDate, iEndDate, iStatus) - возвращает дату первого движения по счету в заданном периоде, тип DATE. В учет принимаются либо акцептованные, либо не акцептованные документы.

  • iAcct - номер счета, тип CHAR;
  • iBegDate - дата начала периода, тип DATE;
  • iEndDate - дата конца периода, тип DATE;
  • iStatus - учитываемый статус документа (YES - выше "крыжа", NO - ниже "крыжа"), тип LOGICAL.

IsAcctKassa(in-acct, in-curr) - возвращает логическое значение, тип LOGICAL, отражающее, является ли проверяемый счет счетом кассы. Проверка осуществляется по соответствию назначения счета значению настроечного параметра НазнСчКас.

  • in-acct - номер счета, тип CHAR;
  • in-curr - валюта счета, тип CHAR.

BalAcctName(iBalAcct, iUntil) - возвращает наименование балансового счета второго порядка на указанную дату, тип CHAR. Наименование на заданную дату определяется по доп. реквизиту OldName  "Старое наименование счета до 881-У".

  • iBalAcct - балансовый счет второго порядка, тип INT64;
  • iUntil - дата, тип DATE.

BalAcctSide(iBalAcct, iDataSide) - возвращает признак активный (А) / пассивный (П) счета второго порядка на указанную дату, тип CHAR. Определение признака на заданную дату осуществляется по доп. реквизиту OldSide  "Старый признак А/П".

  • iBalAcct - балансовый счет второго порядка, тип INT64;
  • iDataSide - дата, тип DATE.


ПРОЦЕДУРЫ


CreateAcctNumber(iClass, iBal, iCurr, iAcctCat, iMask, iBranchId, iCustCat, iCustId, iSymPU, iAcct, OUTPUT oAcct, OUTPUT oErrMsg) - процедура формирования номера счета.

  • iClass - класс счета, тип CHAR;
  • iBal - счет второго порядка, тип INT64;
  • iCurr - валюта счета, тип CHAR;
  • iAcctCat - тип счета, тип CHAR;
  • iMask - маска счета, тип CHAR;
  • iBranchId - подразделение счета, тип CHAR;
  • iCustCat - тип клиента, тип CHAR;
  • iCustId - ID клиента, тип INT64;
  • iSymPU - статья доходов, тип CHAR;
  • iAcct - номер счета, тип CHAR;
  • oAcct - номер счета, тип CHAR;
  • oErrMsg - сообщение ошибки, тип CHAR.

MakeAcct(iClassCode, iBalAcct, iCurrency, iCustCat, iCustId, iOpenDate, OUTPUT oAcct, BUFFER b-acct, iMask, iKodDoxRash, iDetails, iKauId, iContract, iUserId, iBranch, iCopyBalXattr) - процедура открытия счета.

  • iClassCode - класс счета, тип CHAR;
  • iBalAcct - счет второго порядка, тип INT64;
  • iCurrency - валюта счета, тип CHAR;
  • iCustCat - тип клиента, тип CHAR;
  • iCustId - ID клиента, тип INT64;
  • iOpenDate - дата открытия счета, тип DATE;
  • oAcct - номер открытого счета, тип CHAR;
  • BUFFER b-acct - буфер счета;
  • iMask - маска счета, тип CHAR;
  • iKodDoxRash - код доходов/расходов, тип CHAR
  • iDetails - наименование счета, тип CHAR;
  • iKauId - код аналитики, тип CHAR;
  • iContract - назначение счета, тип CHAR;
  • iUserId - код пользователя открывшего счет, тип CHAR;
  • iBranch - подразделение счета, тип CHAR;
  • iCopyBalXattr - копировать ДР с bal-acct.

Открывая новый счет необходимо учитывать, что при создании записи в таблице acct будет задействован соответствующий триггер (процедура tw-acct). В частности, в данном триггере осуществляется проверка возможности открытия счета клиенту процедурой cl-chkbl.p на основе масок счетов указанных в настроечном параметре ОткрСчетов:СчЗапрОткр и значения дополнительного реквизита на клиенте ЗапрОткрСч.

При формировании номера счета осуществляется расчет контрольного ключа счета. За расчет ключа отвечает процедура метода U1 класса открываемого счета (iClassCode). Если на классе счета данный метод не определен, то по умолчанию используется штатная процедура key-tst.p. Одним из передаваемых процедуре key-tst.p параметров, является 3-х значный код банка (переменная my-key) определяемый из настроечного параметра "Ключ". Данный параметр является индивидуальным для каждого филиала в многофилиальной базе и считывается (присвоение значения переменной my-key) в момент подключения библиотеки в вызываемой процедуре StartInterface. Таким образом, если в момент первичного подключения библиотеки Вы находились в одном филиале (определяется значением глобальной переменной shFilial), а счет хотите открыть в другом, то расчет ключа будет осуществляться не на основе 3-х значного кода того филиала где вы планируете открыть счет, а на основе кода того филиала, в котором вы находились в момент подключения библиотеки! Следовательно ключ счета может оказаться неверным.

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

{intrface.get acct}  
shFilial = new_filial.
RUN StartInterface IN h_acct.
RUN MakeAcct in h_acct (...).
...
{intrface.del}

Для формирования маски счета могут применяться следующий ключи:

  • б - счет 2-го порядка;
  • в - код валюты;
  • к - ключ (всегда 1 символ);
  • ф - код филиала;
  • с - счетчик, может быть из нескольких частей max 8 штук;
  • 0-9 - цифры;
  • z - все символы будут формироваться процедурой формирования номера лицевого счета - метод U2 или U3;
  • п - любой символ;
  • у - номер клиента;
  • д - статья доходов / расходов 5 символов;
  • н - уникальный номер клиента, берется из доп. реквизита клиента УНК.

Пример маски счета: ббббвввкфффф00000001


AcctKeep(iAcct, OUTPUT oOk) - процедура резервирования номера счета. Занесение счета в классификатор СчетаРезерва.
  • iAcct - номер резервируемого счета;
  • oOk - признак успешности/не успешности выполнения резервирования счета, тип LOGICAL.

AcctFree(iAcct, OUTPUT oOk) - процедура освобождения зарезервированного процедурой AcctKeep номера счета.

  • iAcct - номер зарезервированного счета;
  • oOk - признак успешности/не успешности выполнения резервирования счета, тип LOGICAL.

 

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