Обновление базы для договоров — различия между версиями
Материал из wiki.standart-n.ru
Agk (обсуждение | вклад) (Новая страница: «==Заменить версию Менеджера== Заменить '''ManagerXP2.exe''' на версию '''2.272.38''' от 29.12.2014 г. или более…») |
Agk (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
==Выполнить скрипт== | ==Выполнить скрипт== | ||
+ | <nowiki> | ||
/******************************************************************************/ | /******************************************************************************/ | ||
/*** Generated by IBExpert 14.01.2015 13:32:09 ***/ | /*** Generated by IBExpert 14.01.2015 13:32:09 ***/ | ||
Строка 223: | Строка 224: | ||
left join agents_contracts_status acs on ac.status = acs.id | left join agents_contracts_status acs on ac.status = acs.id | ||
; | ; | ||
+ | </nowiki> | ||
==Добавить в таблицу DOCS поле == | ==Добавить в таблицу DOCS поле == | ||
+ | <nowiki> | ||
agents_contract_id тип DM_ID_NULL | agents_contract_id тип DM_ID_NULL | ||
+ | </nowiki> | ||
==Добавить в вид VW_DOCS поле == | ==Добавить в вид VW_DOCS поле == | ||
+ | <nowiki> | ||
AGENT_CONTRACT_CAPTION | AGENT_CONTRACT_CAPTION | ||
источник | источник | ||
Строка 233: | Строка 238: | ||
где, ас | где, ас | ||
left join agents_contracts ac on docs.agents_contract_id = ac.id | left join agents_contracts ac on docs.agents_contract_id = ac.id | ||
+ | </nowiki> | ||
==Проверка себя== | ==Проверка себя== |
Версия 14:24, 14 января 2015
Содержание
Заменить версию Менеджера
Заменить ManagerXP2.exe на версию 2.272.38 от 29.12.2014 г. или более новую.
Выполнить скрипт
/******************************************************************************/ /*** Generated by IBExpert 14.01.2015 13:32:09 ***/ /******************************************************************************/ /******************************************************************************/ /*** Following SET SQL DIALECT is just for the Database Comparer ***/ /******************************************************************************/ SET SQL DIALECT 3; /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE GENERATOR GEN_AGENTS_CONTRACTS_STATUS_ID; CREATE TABLE AGENTS_CONTRACTS_STATUS ( ID DM_STATUS NOT NULL /* DM_STATUS = INTEGER */, CAPTION DM_TEXT /* DM_TEXT = VARCHAR(250) */ ); /******************************************************************************/ /*** Triggers ***/ /******************************************************************************/ SET TERM ^ ; /******************************************************************************/ /*** Triggers for tables ***/ /******************************************************************************/ /* Trigger: AGENTS_CONTRACTS_STATUS_BI */ CREATE OR ALTER TRIGGER AGENTS_CONTRACTS_STATUS_BI FOR AGENTS_CONTRACTS_STATUS ACTIVE BEFORE INSERT POSITION 0 as begin if (new.id is null) then new.id = gen_id(gen_agents_contracts_status_id,1); end ^ SET TERM ; ^ /******************************************************************************/ /*** Privileges ***/ /******************************************************************************/ INSERT INTO AGENTS_CONTRACTS_STATUS (ID, CAPTION) VALUES (0, 'Активный'); INSERT INTO AGENTS_CONTRACTS_STATUS (ID, CAPTION) VALUES (-1, 'Удален'); INSERT INTO AGENTS_CONTRACTS_STATUS (ID, CAPTION) VALUES (1, 'Основной'); COMMIT WORK; /******************************************************************************/ /*** Generated by IBExpert 14.01.2015 13:32:54 ***/ /******************************************************************************/ /******************************************************************************/ /*** Following SET SQL DIALECT is just for the Database Comparer ***/ /******************************************************************************/ SET SQL DIALECT 3; /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE GENERATOR GEN_AGENTS_CONTRACTS_ID; CREATE GENERATOR GEN_AGENTS_CONTRACTS_VNUM; CREATE TABLE AGENTS_CONTRACTS ( ID DM_ID NOT NULL /* DM_ID = BIGINT */, PARENT_ID DM_ID_NULL /* DM_ID_NULL = BIGINT */, AGENT_ID DM_ID /* DM_ID = BIGINT */, VNUM DM_ID_NULL /* DM_ID_NULL = BIGINT */, CONTRACT_DATE DM_DATETIME /* DM_DATETIME = TIMESTAMP */, CAPTION DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, STATUS DM_STATUS /* DM_STATUS = INTEGER */, START_DATE DM_DATETIME /* DM_DATETIME = TIMESTAMP */, END_DATE DM_DATETIME /* DM_DATETIME = TIMESTAMP */, BASE_TYPE DM_STATUS /* DM_STATUS = INTEGER */, SUMMA DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, BASE_AGENT_ID DM_ID_NULL /* DM_ID_NULL = BIGINT */, BARCODE DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, DELETEDT DM_DATETIME /* DM_DATETIME = TIMESTAMP */ ); /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE AGENTS_CONTRACTS ADD CONSTRAINT PK_AGENTS_CONTRACTS PRIMARY KEY (ID); /******************************************************************************/ /*** Triggers ***/ /******************************************************************************/ SET TERM ^ ; /******************************************************************************/ /*** Triggers for tables ***/ /******************************************************************************/ /* Trigger: AGENTS_CONTRACTS_BI */ CREATE OR ALTER TRIGGER AGENTS_CONTRACTS_BI FOR AGENTS_CONTRACTS ACTIVE BEFORE INSERT POSITION 0 as begin if (new.id is null) then new.id = gen_id(gen_agents_contracts_id,1); if (new.vnum is null) then new.vnum = gen_id(gen_agents_contracts_vnum,1); if (new.caption is null) then new.caption = 'Договор №'||new.vnum; end ^ /* Trigger: AGENTS_CONTRACTS_BU0 */ CREATE OR ALTER TRIGGER AGENTS_CONTRACTS_BU0 FOR AGENTS_CONTRACTS ACTIVE BEFORE UPDATE POSITION 0 AS begin if (new.status = 1) then update agents_contracts set status = 0 where status = 1; end ^ SET TERM ; ^ /******************************************************************************/ /*** Fields descriptions ***/ /******************************************************************************/ COMMENT ON COLUMN AGENTS_CONTRACTS.STATUS IS '0 активный 1 основной -1 удаленный'; /******************************************************************************/ /*** Privileges ***/ /******************************************************************************/ CREATE OR ALTER VIEW VW_AGENTS_CONTRACTS( ID, PARENT_ID, AGENT_ID, AGENT_CAPTION, VNUM, CONTRACT_DATE, CAPTION, STATUS, STATUS_CAPTION, START_DATE, END_DATE, BASE_TYPE, SUMMA, BASE_AGENT_ID, BARCODE, DELETEDT) AS select ac.id, ac.parent_id, ac.agent_id, a.caption, ac.vnum, ac.contract_date, ac.caption, ac.status, acs.caption, ac.start_date, ac.end_date, ac.base_type, ac.summa, ac.base_agent_id, ac.barcode, ac.deletedt from agents_contracts ac left join agents a on ac.agent_id = a.id left join agents_contracts_status acs on ac.status = acs.id ;
Добавить в таблицу DOCS поле
agents_contract_id тип DM_ID_NULL
Добавить в вид VW_DOCS поле
AGENT_CONTRACT_CAPTION источник ac.caption где, ас left join agents_contracts ac on docs.agents_contract_id = ac.id
Проверка себя
Зайдите в журнал документов, откройте шапку любого документа, если ошибки нет, значит все правильно.
Теги: qWork: Field 'contract_caption' not found, Договора, Менеджер