5ef2bfcd78
Логика процедур Фонтвьель (22.10.2026) на PSQL; привязки к справочникам клиента — FTV_M2M_SETTINGS; текст ошибки — в COMMENT через контекст транзакции. README — что проверить на базе клиента. Проверено на встроенном Firebird 2.5.9 (test/run.sh): все ветки событий, операция с проводкой, справочник, ошибки. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
636 lines
15 KiB
SQL
636 lines
15 KiB
SQL
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_DOC_ID_GEN;
|
|
|
|
SET GENERATOR OD_DOC_ID_GEN TO 1000;
|
|
|
|
CREATE GENERATOR OD_DOL_ID_GEN;
|
|
|
|
SET GENERATOR OD_DOL_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 ; ^
|