CREATE TABLE D_CLISER_M2M ( "DOC" INTEGER, "DEPONENT" INTEGER, "B_DATE" TIMESTAMP, "E_DATE" TIMESTAMP, "DOC_GUID" VARCHAR(36), "DOC_STATUS" INTEGER, "IIS_TYPE" INTEGER, "IIS_INN" VARCHAR(10), "IIS_NUM" VARCHAR(64), "IIS_DATE" TIMESTAMP); CREATE TABLE D_CLISER_M2M_DOL ( "DOL" INTEGER, "SHARE" INTEGER, "AMOUNT" NUMERIC(18,7), "CLIENT" INTEGER, "SETTL" INTEGER, "SETTL_ACCS" VARCHAR(255), "PLACES" VARCHAR(255), "ANSWER_ACC" INTEGER, "M2M_STATUS" INTEGER, "M2M_TEXT" VARCHAR(255), "DEP_STATUS" INTEGER, "DEP_TEXT" VARCHAR(255), "DOL_REF" VARCHAR(36), "G_SGD" INTEGER, "PLACE" INTEGER); CREATE TABLE D_FILER ( "DOC" INTEGER, "COMMENT" VARCHAR(255), "FILE_NAME" VARCHAR(255), "MESS" BLOB SUB_TYPE TEXT, "CORR_FACE" INTEGER, "FAX_DATE" TIMESTAMP, "ORI_DATE" TIMESTAMP, "REP_DATE" TIMESTAMP, "CORR_DATE" TIMESTAMP, "CORR_NUM" VARCHAR(64), "RUBRICA" INTEGER, "DOC_NUM" VARCHAR(64), "DOC_DATE" TIMESTAMP, "CHILD_CAT" INTEGER, "FUND" INTEGER, "CORR_NAME" VARCHAR(255), "STORED_IMAGE" BLOB, "ACCOUNT" INTEGER, "PLACE" INTEGER, "FUND_NAME" VARCHAR(255), "PASS_KIND" INTEGER); CREATE TABLE OD_BALANCES ( "ID" INTEGER, "ACC_PLAN" INTEGER, "NAME" VARCHAR(255), "IS_FICT" CHAR(1), "IS_DIFF" CHAR(1), "ACC_TYPE" INTEGER, "REST_TYPE" INTEGER, "RET_1" INTEGER, "RET_2" INTEGER, "RET_3" INTEGER, "RET_4" INTEGER, "RET_5" INTEGER, "RET_6" INTEGER, "COMM" BLOB SUB_TYPE TEXT, "SYS_NAME" VARCHAR(24), "PART" INTEGER, "ISM_1" SMALLINT, "ISM_2" SMALLINT, "ISM_3" SMALLINT, "ISM_4" SMALLINT, "ISM_5" SMALLINT, "ISM_6" SMALLINT, "IS_BAL" SMALLINT, "MAIN_REG" SMALLINT, "IS_CUR" SMALLINT, "IS_LF" SMALLINT, "LEV_" INTEGER, "OWNER_" INTEGER, "WALK" INTEGER, "AMOUNT" INTEGER, "NUM" INTEGER, "NUM_S" VARCHAR(255), "AMOUNT_REG" SMALLINT, "REVALUE_TYP" SMALLINT, "REVALUE_ACC" INTEGER, "REVALUE_ACD" INTEGER, "PAIR_ACC" INTEGER, "MASK_NAME" VARCHAR(255), "MASK_NUM" VARCHAR(25), "ISG_1" SMALLINT, "ISG_2" SMALLINT, "ISG_3" SMALLINT, "ISG_4" SMALLINT, "ISG_5" SMALLINT, "ISG_6" SMALLINT, "EXP_TYPE" INTEGER, "NUM_1" INTEGER, "IS_SYNT" INTEGER, "NUM_2" INTEGER); CREATE TABLE OD_CLIENTS ( "ID" INTEGER, "NUMBER" VARCHAR(128), "STATE" INTEGER, "D_OPEN" TIMESTAMP, "D_CLOSE" TIMESTAMP, "FACE" INTEGER, "PARENT" INTEGER, "PLAN_ID" INTEGER, "RELATION" INTEGER, "OPER" INTEGER, "R_DATE" TIMESTAMP, "SUBTYPE" INTEGER, "IS_TERM" CHAR(1), "LEV" INTEGER, "SELF_ID" INTEGER, "NAME" VARCHAR(255), "TYPE_" INTEGER, "DD_DATE" TIMESTAMP, "DD_NUM" VARCHAR(64), "PLACE" INTEGER, "ISSUER" INTEGER, "IS_MANAGER" SMALLINT, "IS_VOICE" SMALLINT, "IS_PRIV" SMALLINT, "IS_SOV" SMALLINT, "BAL_ACC" INTEGER, "IS_BCLIENT" SMALLINT, "F_DATE" TIMESTAMP, "TRANSIT" INTEGER, "CLI_ORG" INTEGER, "USER_CODE" VARCHAR(64), "SEP_SET" INTEGER, "E_OWNER" INTEGER, "EDO_TYPE" SMALLINT, "IS_MAIN" SMALLINT); CREATE TABLE OD_CLIENTS_REC ( "ID" INTEGER, "CLIENT" INTEGER, "LINK_NUMBER" VARCHAR(64), "INCOME_MOD" INTEGER, "INCOME_ACC" INTEGER, "INCOME_FACE" INTEGER, "INCOME_ADR" VARCHAR(255), "INCOME_REC" VARCHAR(255), "INCOME_VERBAL" VARCHAR(4000), "O_MAIL_MOD" INTEGER, "O_MAIL_ADR" VARCHAR(255), "I_MAIL_MOD" INTEGER, "I_MAIL_ALT" INTEGER, "I_MAIL_ADR" VARCHAR(255), "B_DATE" TIMESTAMP, "E_DATE" TIMESTAMP, "OPER" INTEGER, "IUD" INTEGER, "TARIF" VARCHAR(64), "EXTRA_INT" INTEGER, "EXTRA_TYPE" INTEGER, "IS_NZ" SMALLINT, "Z_DATE" TIMESTAMP, "Z_AMOUNT" NUMERIC(18,7), "PORT_NAME" VARCHAR(255)); CREATE TABLE OD_DOC_CATS ( "ID" INTEGER, "OWNER" INTEGER, "LEV" INTEGER, "AMOUNT" INTEGER, "WALK" INTEGER, "NAME" VARCHAR(128), "D_MODE" SMALLINT, "ADD_TABLE" VARCHAR(64), "KEY_FIELD" VARCHAR(32), "INFO_FIELDS" BLOB SUB_TYPE TEXT, "EDITOR" VARCHAR(64), "FORM_COMP" VARCHAR(32), "SYS_NAME" VARCHAR(64), "PROFILE" INTEGER, "EDITOR_TYPE" SMALLINT, "IS_ONCE" SMALLINT, "FUN_FORM" VARCHAR(255), "ADD_VIEW" VARCHAR(64), "B_DATE" TIMESTAMP, "IS_UNUM" SMALLINT, "NUM_RULE" SMALLINT, "FOOTER_VIEW" INTEGER, "DEL_FUNC" BLOB SUB_TYPE TEXT, "FOOT_STR" SMALLINT, "FOOT_TABLE" VARCHAR(64), "FOOT_FIELD" VARCHAR(64), "C_MARK" VARCHAR(32), "C_KIND" SMALLINT, "UNUM_DIR" SMALLINT, "FOOTERS" VARCHAR(1024), "FOOT_COMP" VARCHAR(32), "FOOT_DEL" SMALLINT, "MD5_HASH" VARCHAR(32), "MD5_STAMP" TIMESTAMP, "IS_TERM" VARCHAR(1), "IS_AUTO" INTEGER, "MIN_VERSION" VARCHAR(10)); CREATE TABLE OD_DOC_STATES ( "ID" INTEGER, "D_CAT" INTEGER, "IS_IN" CHAR(1), "IS_OUT" CHAR(1), "NAME" VARCHAR(128), "SYS_NAME" VARCHAR(64), "PROFILE" INTEGER); CREATE TABLE OD_DOCS ( "ID" INTEGER, "NUM" VARCHAR(64), "OPER" INTEGER, "R_DATE" TIMESTAMP, "D_CAT" INTEGER, "D_DATE" TIMESTAMP, "PROC_DATE" TIMESTAMP, "DIRECTION" INTEGER, "WHOS" INTEGER, "PARAM" INTEGER, "KVIT" INTEGER, "U_FLAG" INTEGER, "A_FLAG" INTEGER, "STATE" INTEGER, "LAST_STEP" INTEGER, "ERR_CODE" INTEGER, "CREATOR" INTEGER, "SECURITY" VARCHAR(255), "IMAGEFILE" VARCHAR(1024), "INTNUM" INTEGER, "NUMSFX" VARCHAR(255), "NUM_DATE" VARCHAR(78), "D_MONTH" INTEGER, "D_YEAR" INTEGER, "D_DAY" TIMESTAMP); CREATE TABLE OD_DOLS ( "ID" INTEGER, "DOC" INTEGER, "NUM" INTEGER, "TAG" INTEGER, "NUM_1" INTEGER, "NUM_2" INTEGER, "IS_TERM" CHAR(1), "FOOTER" INTEGER, "STATUS" INTEGER); CREATE TABLE OD_FACE_CODERS ( "CODER" INTEGER, "CODE" VARCHAR(64), "FACE" INTEGER); CREATE TABLE OD_FACES ( "ID" INTEGER, "S_TYPE" INTEGER, "NAME" VARCHAR(255), "MAIL_ADR" VARCHAR(255), "HOME_ADR" VARCHAR(255), "FACT_ADR" VARCHAR(255), "HOME_KLADR" VARCHAR(255), "MAIL_KLADR" VARCHAR(255), "FACT_KLADR" VARCHAR(255), "EMAIL" VARCHAR(255), "FAX" VARCHAR(64), "DATE_DEPTH" TIMESTAMP, "TELEX" VARCHAR(255), "INN" VARCHAR(15), "KPP" VARCHAR(9), "PHONE" VARCHAR(64), "DOC_TYPE" INTEGER, "DOC_SER" VARCHAR(25), "DOC_NUM" VARCHAR(20), "DOC_DAT" TIMESTAMP, "DOC_PLACE" VARCHAR(255), "DOC_CODE" VARCHAR(128), "DOC_END" TIMESTAMP, "DATE_BIRTH" TIMESTAMP, "SELF_ID" INTEGER, "B_DATE" TIMESTAMP, "E_DATE" TIMESTAMP, "OPER" INTEGER, "UPTYPE" SMALLINT, "PROFILE" INTEGER, "LAST_FLAG" SMALLINT, "STATE" CHAR(3), "MNEM" VARCHAR(64), "REGN" INTEGER, "BRANCHES" INTEGER, "NORM_NAME" VARCHAR(255), "ENG_NAME" VARCHAR(255), "ENG_MAIL_ADR" VARCHAR(255), "IMAGEFILE" VARCHAR(255), "IS_NERES" SMALLINT, "TAXIS" VARCHAR(64), "TIN" VARCHAR(24)); CREATE TABLE OD_IN_DOCS ( "DOC" INTEGER, "FROM_FACE" INTEGER, "THEIR_DATE" TIMESTAMP, "I_NUM" VARCHAR(64), "OUR_O_DOC" INTEGER, "FILE_NAME" VARCHAR(128), "THEIR_NUM" VARCHAR(80), "CODER" INTEGER, "PASS_KIND" INTEGER); CREATE TABLE OD_INVALIDS ( "DOC" INTEGER, "DOL" INTEGER, "STATUS" INTEGER, "COMMENT" VARCHAR(255), "DO_ING" VARCHAR(255)); CREATE TABLE OD_OBJECTS ( "ID" INTEGER, "DMY" CHAR(1)); CREATE TABLE OD_OUT_DOCS ( "DOC" INTEGER, "TO_FACE" INTEGER, "O_NUM" VARCHAR(64), "OUR_I_DOC" INTEGER, "FILE_NAME" VARCHAR(128), "PASS_KIND" INTEGER); CREATE TABLE OD_SHARES ( "ID" INTEGER, "MNEM" VARCHAR(255), "BIRTHDATE" TIMESTAMP, "DEATHDATE" TIMESTAMP, "CLASS" INTEGER, "MODE" INTEGER, "ISSUER" INTEGER, "NOMINAL" DOUBLE PRECISION, "NOM_VAL" INTEGER, "NOM_TYPE" SMALLINT, "ISNUM" CHAR(1), "NUM_REG" VARCHAR(124), "ORG_REG" INTEGER, "COUNT_" NUMERIC(18,0), "ISSUENUM" INTEGER, "LINK" INTEGER, "TYPE_" INTEGER, "IS_MARGIN" SMALLINT, "IS_MCS" SMALLINT, "STATUS" SMALLINT, "DATE_REG" TIMESTAMP, "PMFU" SMALLINT, "SELF_ID" INTEGER, "B_DATE" TIMESTAMP, "E_DATE" TIMESTAMP, "REP_DATE" TIMESTAMP, "R_DATE" TIMESTAMP, "R_COMMENT" VARCHAR(255), "OPER" INTEGER); CREATE TABLE OD_STEP_TYPES ( "ID" INTEGER, "NAME" VARCHAR(200), "IN_STATE" INTEGER, "OUT_STATE" INTEGER, "COND" BLOB SUB_TYPE TEXT, "BODY" BLOB SUB_TYPE TEXT, "D_CAT" INTEGER, "A_CAT" INTEGER, "SYS_NAME" VARCHAR(64), "HINT" VARCHAR(255), "ROLLBACK_" BLOB SUB_TYPE TEXT, "ALT_STATE" INTEGER, "IMPORTANCE" SMALLINT, "MD5_HASH" VARCHAR(32), "MD5_STAMP" TIMESTAMP); CREATE TABLE OD_STEPS ( "ID" INTEGER, "DOC" INTEGER, "A_DOC" INTEGER, "S_TYPE" INTEGER, "S_DATE" TIMESTAMP, "ERR_CODE" INTEGER, "NUM" INTEGER, "OPER" INTEGER, "OUT_STATE" INTEGER); CREATE TABLE OD_SYS_TABS ( "NUM" INTEGER, "CODE" VARCHAR(24), "NAME" VARCHAR(255), "DOP" VARCHAR(255), "ALT" VARCHAR(255), "EXT" VARCHAR(255)); CREATE TABLE OD_U_FACES ( "FACE" INTEGER, "OKPO" VARCHAR(64), "OKONX" VARCHAR(64), "DOL_1" VARCHAR(255), "DOL_2" VARCHAR(255), "DOL_OTV" VARCHAR(255), "FIO_1" VARCHAR(64), "FIO_2" VARCHAR(64), "FIO_OTV" VARCHAR(64), "FIO_BUG" VARCHAR(64), "TEL_1" VARCHAR(24), "TEL_2" VARCHAR(24), "TEL_OTV" VARCHAR(24), "TEL_BUG" VARCHAR(24), "OSN_1" VARCHAR(64), "OSN_2" VARCHAR(64), "OPF" VARCHAR(10), "CAPITAL" NUMERIC(18,7), "REESTR" INTEGER, "DEPOT" INTEGER, "DEP_NUM" VARCHAR(20), "DEP_DAT" TIMESTAMP, "UPTYPE" SMALLINT, "FS" INTEGER, "OGRN" VARCHAR(24), "OGRN_DATE" TIMESTAMP, "OGRN_PLACE" VARCHAR(255), "OKOGU" VARCHAR(24), "OKATO" VARCHAR(24), "FULL_NAME" VARCHAR(255), "ENG_FULL_NAME" VARCHAR(255), "EXEC_ORGAN" INTEGER, "NAL_ORGAN" INTEGER, "ENSURNUM" VARCHAR(10)); CREATE TABLE OD_VALUE_CODERS ( "CODER" INTEGER, "CODE" VARCHAR(64), "LOT_SIZE" INTEGER, "SHARE" INTEGER, "IND_CODE" VARCHAR(64), "CODE_NAME" VARCHAR(255)); CREATE TABLE OD_VALUES ( "ID" INTEGER, "SYSNAME" VARCHAR(64), "NAME" VARCHAR(255), "V_TYPE" INTEGER, "B_DATE" TIMESTAMP, "ISIN" VARCHAR(12), "MFU" SMALLINT, "IS_IN" SMALLINT, "CFI" CHAR(6), "BASE_VAL" INTEGER); CREATE TABLE OD_WIRING ( "ID" INTEGER, "PLAN_ID" INTEGER, "WIRDATE" TIMESTAMP, "NAME" VARCHAR(255), "COMMENT" VARCHAR(255), "D_REST" INTEGER, "K_REST" INTEGER, "EQ_" NUMERIC(18,7), "O_STEP" INTEGER, "CHANGED_BY" INTEGER, "IS_PLAN" CHAR(1), "BLANKS" BLOB SUB_TYPE TEXT, "DOL" INTEGER, "LINK" INTEGER, "TAG" INTEGER, "D_SUMMA" NUMERIC(18,7), "K_SUMMA" NUMERIC(18,7), "D_AMOUNT" NUMERIC(18,7), "K_AMOUNT" NUMERIC(18,7)); CREATE TABLE OD_OPERATORS ( "ID" INTEGER, "USER_ID" VARCHAR(24), "NAME" VARCHAR(128), "DEP" INTEGER, "COMM" BLOB SUB_TYPE TEXT, "U_FACE" INTEGER, "PLAN_ID" INTEGER, "F_FACE" INTEGER, "IS_ENCRYPT" SMALLINT, "IS_DISPERS" SMALLINT, "IS_MONITOR" SMALLINT, "USER_DOL" VARCHAR(255), "USER_CODE" VARCHAR(64), "SMTP_PARAM" VARCHAR(255), "QUIK_CODE" VARCHAR(255), "PROXY_PARAM" VARCHAR(255), "EVENT_MAIL" VARCHAR(255), "IS_ONE" SMALLINT, "BLOCK_DATE" TIMESTAMP, "PASS_DAYS" INTEGER, "LOGIO_DATE" TIMESTAMP, "B_DATE" TIMESTAMP, "E_DATE" TIMESTAMP, "IS_ROBOT" SMALLINT, "EMAIL" VARCHAR(255)); CREATE TABLE OD_SETS ( "WHOS" INTEGER, "PROFIT_TYPE" INTEGER, "PROFIT_MODE" INTEGER, "WIRING_MODE" INTEGER, "IS_RED_SALDO" SMALLINT, "SAVE_MODE" INTEGER, "IS_PLACED" SMALLINT, "TAX_CODE" VARCHAR(9), "CASHIER" VARCHAR(64), "REPORTER" VARCHAR(255), "DOL_REPORTER" VARCHAR(255), "LABEL_FILENAME" VARCHAR(255), "TAX_ORG" VARCHAR(255), "NDS_RATE" NUMERIC(18,7), "IS_NDS" SMALLINT, "IS_BOOK" SMALLINT, "A_MODE" SMALLINT, "O_MODE" SMALLINT, "STOP_DATE" TIMESTAMP, "A_RATER" INTEGER, "O_RATER" INTEGER, "IS_RED_STORNO" SMALLINT, "IS_TEST" SMALLINT); CREATE TABLE U_OP_INV_SPIS ( "DOC" INTEGER, "DEPO" INTEGER, "AMOUNT" NUMERIC(18,7), "BLANKS" VARCHAR(255), "B_TYPE" INTEGER, "B_DATE" TIMESTAMP, "B_NUM" VARCHAR(255), "DD_DATE" TIMESTAMP, "DD_NUM" VARCHAR(255), "MARKET" INTEGER, "D_NUM" INTEGER, "K_NUM" INTEGER, "PLACE" INTEGER, "SHARE" INTEGER, "DD_TYPE" INTEGER, "TAX_R" NUMERIC(18,7), "IS_98053" SMALLINT, "IS_REG" SMALLINT, "IS_BLOCK" SMALLINT, "COMMENT" VARCHAR(255), "FROM_FACE" INTEGER, "WIR_DATE" TIMESTAMP, "REG_DATE" TIMESTAMP, "NOTIFY_DATE" TIMESTAMP, "REJECT_REASON" VARCHAR(255), "REESTR" INTEGER, "OLD_CONDITIONS" INTEGER); CREATE TABLE U_OP_INV_ZACH ( "DOC" INTEGER, "DEPO" INTEGER, "SHARE" INTEGER, "AMOUNT" NUMERIC(18,7), "BLANKS" VARCHAR(255), "B_TYPE" INTEGER, "B_DATE" TIMESTAMP, "B_NUM" VARCHAR(255), "DD_TYPE" INTEGER, "DD_DATE" TIMESTAMP, "DD_NUM" VARCHAR(255), "MARKET" INTEGER, "D_NUM" INTEGER, "K_NUM" INTEGER, "PLACE" INTEGER, "TAX_R" NUMERIC(18,7), "IS_98053" SMALLINT, "IS_REG" SMALLINT, "IS_BLOCK" SMALLINT, "COMMENT" VARCHAR(255), "FROM_FACE" INTEGER, "WIR_DATE" TIMESTAMP, "REG_DATE" TIMESTAMP, "NOTIFY_DATE" TIMESTAMP, "REJECT_REASON" VARCHAR(255), "REESTR" INTEGER, "CONDITION" INTEGER); CREATE GENERATOR OD_DOCS_ID_GEN; SET GENERATOR OD_DOCS_ID_GEN TO 1000; CREATE GENERATOR OD_DOLS_ID_GEN; SET GENERATOR OD_DOLS_ID_GEN TO 1000; CREATE GENERATOR OD_STEPS_ID_GEN; SET GENERATOR OD_STEPS_ID_GEN TO 1000; CREATE GENERATOR OD_FACES_ID_GEN; SET GENERATOR OD_FACES_ID_GEN TO 1000; SET TERM ^ ; CREATE PROCEDURE FU_NEXT_DOC_NUM (CAT_SYS_NAME VARCHAR(64), D_DATE TIMESTAMP, DIRECTION SMALLINT, FOR_DOC INTEGER) RETURNS (NUM VARCHAR(255), NEW_DATE TIMESTAMP) AS BEGIN NUM = 'N' || COALESCE(FOR_DOC, 0); NEW_DATE = D_DATE; END^ CREATE PROCEDURE OD_PR_INS_WIRS (WIR_ID INTEGER, PLAN_ID INTEGER, WIRDATE TIMESTAMP, NAME VARCHAR(255), "COMMENT" VARCHAR(255), D_SUMMA DOUBLE PRECISION, K_SUMMA DOUBLE PRECISION, EQ_ DOUBLE PRECISION, D_AMOUNT DOUBLE PRECISION, K_AMOUNT DOUBLE PRECISION, BLANKS VARCHAR(2000), O_STEP INTEGER, DOL INTEGER, CHANGED_BY INTEGER, IS_PLAN CHAR(1), D_BAL_ACC INTEGER, D_VALUE INTEGER, D_REG_1 INTEGER, D_REG_2 INTEGER, D_REG_3 INTEGER, D_REG_4 INTEGER, D_REG_5 INTEGER, D_REG_6 INTEGER, K_BAL_ACC INTEGER, K_VALUE INTEGER, K_REG_1 INTEGER, K_REG_2 INTEGER, K_REG_3 INTEGER, K_REG_4 INTEGER, K_REG_5 INTEGER, K_REG_6 INTEGER) RETURNS (NEW_ID INTEGER, WIR_LIST VARCHAR(255), DEB_ID INTEGER, KRD_ID INTEGER) AS DECLARE VARIABLE R INTEGER; BEGIN NEW_ID = 1; WIR_LIST = ''; DEB_ID = 0; KRD_ID = 0; R = RDB$SET_CONTEXT('USER_TRANSACTION', 'STUB_WIRS', 'D' || D_BAL_ACC || ' K' || K_BAL_ACC || ' ' || D_SUMMA || ' ' || NAME || ' / ' || "COMMENT"); END^ SET TERM ; ^ SET TERM ^ ; /* как Fancy OD_DOCS_BU: ID = 0 в UPDATE — служебное изменение, ID остаётся прежним */ CREATE TRIGGER OD_DOCS_BU FOR OD_DOCS ACTIVE BEFORE UPDATE AS BEGIN IF (NEW.ID = 0 OR NEW.ID IS NULL) THEN NEW.ID = OLD.ID; END^ /* версия юрлица: SELF_ID = ID, действующая */ CREATE TRIGGER OD_FACES_BI FOR OD_FACES ACTIVE BEFORE INSERT AS BEGIN IF (NEW.SELF_ID IS NULL) THEN NEW.SELF_ID = NEW.ID; IF (NEW.LAST_FLAG IS NULL) THEN NEW.LAST_FLAG = 1; IF (NEW.E_DATE IS NULL) THEN NEW.E_DATE = '9999-01-01'; END^ SET TERM ; ^