AC ENTRY BALANCE

Материал из GedeminWiki
Перейти к: навигация, поиск

Оперативное бухгалтерское сальдо в разрезе счетов и аналитик на дату, которая хранится в генераторе GD_G_ENTRY_BALANCE_DATE.

CREATE TABLE ac_entry_balance
(
  id           DINTKEY,        /* Идентификатор */

  accountkey   DINTKEY,        /* Код бухгалтерского счета */
  companykey   DINTKEY,        /* Ключ фирмы по которой сформирована проводка */
  currkey      DINTKEY,        /* Ключ валюты */

  debitncu     DCURRENCY,      /* Сумма по дебету в рублях */
  debitcurr    DCURRENCY,      /* Сумма по дебету в валюте */
  debiteq      DCURRENCY,      /* Сумма по дебету в эквиваленте */

  creditncu    DCURRENCY,      /* Сумма по кредиту в рублях */
  creditcurr   DCURRENCY,      /* Сумма по кредиту в валюте */
  crediteq     DCURRENCY       /* Сумма по кредиту в эквиваленте */
);

ALTER TABLE ac_entry_balance
  ADD CONSTRAINT pk_ac_entry_bal PRIMARY KEY (id);

ALTER TABLE ac_entry_balance
  ADD CONSTRAINT gd_fk_entry_bal_ac
  FOREIGN KEY (accountkey) REFERENCES ac_account (id)
  ON UPDATE CASCADE;

CREATE TRIGGER AC_BI_ENTRY_BALANCE FOR AC_ENTRY_BALANCE 
  ACTIVE 
  BEFORE INSERT 
  POSITION 0
AS 
BEGIN 
  IF (NEW.ID IS NULL) THEN 
    NEW.ID = GEN_ID(gd_g_unique, 1) + GEN_ID(gd_g_offset, 0); 
  IF (NEW.debitncu IS NULL) THEN 
    NEW.debitncu = 0; 
  IF (NEW.debitcurr IS NULL) THEN 
    NEW.debitcurr = 0; 
  IF (NEW.debiteq IS NULL) THEN 
    NEW.debiteq = 0; 
  IF (NEW.creditncu IS NULL) THEN 
    NEW.creditncu = 0; 
  IF (NEW.creditcurr IS NULL) THEN 
    NEW.creditcurr = 0; 
  IF (NEW.crediteq IS NULL) THEN 
    NEW.crediteq = 0; 
END
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты