From GedeminWiki
CREATE TABLE inv_movement
(
id dintkey, /* идентификатор */
movementkey dintkey, /* идентификатор движения */
movementdate ddate NOT NULL, /* дата движения */
documentkey dintkey, /* ссылка на документ */
contactkey dintkey, /* ссылка на контакт */
cardkey dintkey, /* ссылка на карточку */
goodkey dintkey, /* ссылка на товар */
debit dquantity DEFAULT 0, /* приход ТМЦ (услуг) в количественном выражении */
credit dquantity DEFAULT 0, /* расход ТМЦ (услуг) в количественном выражении */
disabled dboolean DEFAULT 0, /* отключена ли запись */
reserved dreserved /* зарезервировано */
);
ALTER TABLE inv_movement ADD CONSTRAINT inv_pk_movement
PRIMARY KEY (id);
ALTER TABLE inv_movement ADD CONSTRAINT inv_fk_movement_dk
FOREIGN KEY (documentkey) REFERENCES gd_document (id)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE inv_movement ADD CONSTRAINT inv_fk_movement_ck
FOREIGN KEY (contactkey) REFERENCES gd_contact (id)
ON UPDATE CASCADE;
ALTER TABLE inv_movement ADD CONSTRAINT inv_fk_movement_cardk
FOREIGN KEY (cardkey) REFERENCES inv_card (id)
ON UPDATE CASCADE;
ALTER TABLE inv_movement ADD CONSTRAINT inv_fk_movement_goodk
FOREIGN KEY (goodkey) REFERENCES gd_good (id)
ON UPDATE CASCADE;
CREATE INDEX INV_X_MOVEMENT_CCD ON INV_MOVEMENT (
CARDKEY, CONTACTKEY, MOVEMENTDATE);
CREATE INDEX INV_X_MOVEMENT_MK ON INV_MOVEMENT (
MOVEMENTKEY);