INV MOVEMENT
Материал из 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);