AC ENTRY BALANCE
Материал из GedeminWiki
Версия от 12:10, 15 января 2009; SYSDBA (обсуждение | вклад)
Оперативное бухгалтерское сальдо в разрезе счетов и аналитик.
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