CftClub.ru
Клуб специалистов ЦФТ-Банк

Представление платёжные документы (КПП)

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
Truelogin
Участник со стажем


Вступление в Клуб: 05.04.2016
СообщениеЧт Авг 25, 2016 17:21   Представление платёжные документы (КПП) Ответить с цитатой
Полезность: Нет оценки
Добрый день!

Товарищи, помогите, пожалуйста, с проблемой очередной.
У нас в представлении "Платёжные документы" есть данные:
Счёт Кт, Счёт Дб, Счёт отправителя, Счёт получателя, ИНН отправителя, ИНН получателя (ну или как то так называются Smile) и т.д.

Но нет КПП отправителя и получателя. А когда просматриваешь конкретное "Платёжное поручение" - они там есть.

Откуда и к чему подтягиваются данные КПП? Возможно ли как то придумать запрос, что бы их тоже можно было вытягивать?
Матвеев Евгений
Профи


Вступление в Клуб: 31.01.2012
СообщениеЧт Авг 25, 2016 17:46   Re: Представление платёжные документы (КПП) Ответить с цитатой
Полезность: 1
Truelogin пишет:
Добрый день!

Товарищи, помогите, пожалуйста, с проблемой очередной.
У нас в представлении "Платёжные документы" есть данные:
Счёт Кт, Счёт Дб, Счёт отправителя, Счёт получателя, ИНН отправителя, ИНН получателя (ну или как то так называются Smile) и т.д.

Но нет КПП отправителя и получателя. А когда просматриваешь конкретное "Платёжное поручение" - они там есть.

Откуда и к чему подтягиваются данные КПП? Возможно ли как то придумать запрос, что бы их тоже можно было вытягивать?


Не нашел такой вьюхи, это ты наверное ТБП имеешь в виду...
Вьюха как то по другому называется

KPP - функциональный реквизит в базового ТБП Клиенты ::[CLIENT], соответственно он наследуется всеми дочерними типами Физ Юр и Нац.банки и прочие

Если вьха ЦФТ, сделай расширение, добавь поле КПП
Если локал, в ней добавь
...по аналогии со всеми другими реквизитами, от ТБП Клиенты

Для примера посмотри вьюхи
VW_CRIT_VND_DOC
VW_CRIT_PRINT_DOC_ENROLMENT
VW_CRIT_STREAM_MD
Там есть КПП


[code]

pragma macro(kpp_cond, 'case when (d.[BUDGET_PAYMENT] = true or d.[BUD_REQS].[TAXPAYER_STR] is not null)');

pragma include(::[MAIN_DOCUM].[PRINT_SRV_N]);
pragma include(::[RUNTIME].[PRINTFUN]);


type main is
SELECT d
(

/*!* ВНИМАНИЕ ! Названия колонок представления должны корреллировать в VW_RPT_POTOK_RC и VW_RPT_STREAM_MD*!*/

&get_number_form(d) : C_FORMA
, ::[CL_BANK_N].[LIB].GetBankReqOnDate(d.[FILIAL].[BANK], 'BIC', d.[DATE_DOC]) : C_OUR_BIC
, ::[CL_BANK_N].[LIB].GetBankReqOnDate(d.[FILIAL].[BANK], 'NAME', d.[DATE_DOC]) : C_OUR_NAME
, (select x(x.[CUR_SHORT]) in ::[FT_MONEY] where x%id = SYS_CONTEXT(user_context, 'NatCur')): C_CUR_SHORT_NT
, d.[DOCUMENT_NUM] : C_NUMBER_DOC
, d.[DATE_DOC] : C_DATE_DOC
, &get_datepl(d) : C_DATE_PL
, d.[PRIORITET] : C_PRIORITET
, &dpp_for_print(d.[DPP]) : C_DPP
--, d.[NAZN] : C_NAZN -- так про НДС не печатается с новой строки
, ::[DOCUMENT_INT].[SQL_DOCUM_RC_001].NDS(d.[NAZN]) : C_NAZN

, d.[ACC_DT] : C_ACC_DT_ID
, d.[ACC_KT] : C_ACC_KT_ID

, d.[ACC_DT].[OTV]->[NAME] : C_OTV_DT
, d.[ACC_KT].[OTV]->[NAME] : C_OTV_KT

, d.[ACC_DT].[FINTOOL] : C_FINTOOL
, d.[ACC_KT].[FINTOOL] : C_FINTOOL_PO

, d.[ACC_DT].[FINTOOL].[CUR_SHORT] : C_CUR_SHORT_DT
, d.[ACC_KT].[FINTOOL].[CUR_SHORT] : C_CUR_SHORT_KT

, d.[VID_DOC].[NAME] : C_NAME_DOC
, d.[VID_DOC].[CODE] : C_CODE_DOC

, d.[KL_DT].[2].[INN] : C_INN_DT
, d.[KL_KT].[2].[INN] : C_INN_KT

, d.[ACC_DT].[MAIN_V_ID] : C_MAIN_V_ID

, decode(d.[KL_DT].[0]
, 2, decode(d.[KL_KT].[0]
, 1, d.[KL_DT].[2].[1]
, d.[ACC_DT].[MAIN_V_ID])
, d.[KL_DT].[1].[2].[MAIN_V_ID]) : C_ACC_DT

, nvl(d.[KL_KT].[2].[1], d.[KL_KT].[1].[2].[MAIN_V_ID]) : C_ACC_KT

-- Номер аб. ящика клиента
-- , ::[MAIN_DOCUM].[POTOK_DOC].GET_NUM_BOX( d.[KL_KT].[1].[2] ) : C_NUM_BOX
, null : C_NUM_BOX -- c 13.9 не выводится

--
, ::[CL_BANK_N].[LIB].GetBankReqOnDate(decode(d.[KL_DT].[0],1,d.[KL_DT].[1].[2].[FILIAL].[BANK], d.[KL_DT].[2].[3]), 'BIC', d.[DATE_DOC]) : C_BIC_DT
, ::[CL_BANK_N].[LIB].GetBankReqOnDate(decode(d.[KL_KT].[0],1,d.[KL_KT].[1].[2].[FILIAL].[BANK], d.[KL_KT].[2].[3]), 'BIC', d.[DATE_DOC]) : C_BIC_KT

, ::[CL_BANK_N].[LIB].GetBankReqOnDate(decode(d.[KL_DT].[0],1,d.[KL_DT].[1].[2].[FILIAL].[BANK], d.[KL_DT].[2].[3]), 'KS', d.[DATE_DOC]) : C_KS_DT
, ::[CL_BANK_N].[LIB].GetBankReqOnDate(decode(d.[KL_KT].[0],1,d.[KL_KT].[1].[2].[FILIAL].[BANK], d.[KL_KT].[2].[3]), 'KS', d.[DATE_DOC]) : C_KS_KT

, &kpp_cond and d.[KL_DT].[2].[KPP] is null and d.[KL_DT].[0] = 1 then
d.[KL_DT].[1].[1].[KPP] -- Клиент Банка
else
d.[KL_DT].[2].[KPP] -- НЕ Клиент Банка
end : C_PAYER#KPP
, &kpp_cond and d.[KL_KT].[2].[KPP] is null and d.[KL_KT].[0] = 1 then
d.[KL_KT].[1].[1].[KPP] -- Клиент Банка
else
d.[KL_KT].[2].[KPP] -- НЕ Клиент Банка
end : C_RECEIVER#KPP

, ::[CL_BANK_N].[LIB].GetBankReqOnDate(d.[KL_DT].[1].[1]->[FILIAL]->[BANK], 'NAME', d.[DATE_DOC]) : C_PAYER#BRANCH
, ::[CL_BANK_N].[LIB].GetBankReqOnDate(d.[KL_KT].[1].[1]->[FILIAL]->[BANK], 'NAME', d.[DATE_DOC]) : C_RECEIVER#BRANCH
, d.[ACC_DT]->[MAIN_V_ID] : C_ACC_PROV_DT
, d.[ACC_KT]->[MAIN_V_ID] : C_ACC_PROV_KT
, d.[ACC_OPER]->[CODE] : C_VID_OPER

, d.[COND_PAY_MEMO] : C_VALUE

, decode(d.[VID_DOC].[CODE]
, 'БЕЗН_ПЛ_ТРЕБ','Без акцепта. '||d.[COND_PAY_MEMO]
, 'П_Т_С_АКЦ', 'С акцептом.'
, 'БЕЗН_АККРЕД', d.[COND_PAY_MEMO]
, '') : C_YSL_OPL

, d.[DOC_SEND_REF].[VID_SEND] : C_VID_SEND

, stdlib.n2str(nvl(d.[SUM_PO]
, nvl(d.[SUM_NT]
, d.[SUM]*[DOCUMENT].[LIB_CUR].GET_RATE(d.[ACC_DT].[FINTOOL]
, nvl(d.[DATE_PROV], d.[DATE_VAL])))
/ [DOCUMENT].[LIB_CUR].GET_RATE(d.[ACC_KT].[FINTOOL]
, nvl(d.[DATE_PROV], d.[DATE_VAL]))), d.[ACC_KT].[FINTOOL].[CUR_SHORT]) : C_SUM_PO_STR

, stdlib.n2str( nvl(d.[SUM_NT]
, d.[SUM]*[DOCUMENT].[LIB_CUR].GET_RATE(d.[ACC_DT].[FINTOOL]
, nvl(d.[DATE_PROV], d.[DATE_VAL])))
, ::[SYSTEM].[VARIABLES].GetNatCur.[CUR_SHORT]) : C_SUM_NT_STR

, stdlib.n2str(d.[SUM], d.[ACC_DT].[FINTOOL].[CUR_SHORT]) : C_SUM_STR


, nvl(d.[CODE_DOC].[CODE], d.[VID_DOC].[SHORT_CODE]) : C_VID

-- Ф-ии GetBankName и PrintNumSumm пакета ::[RUNTIME].[PRINTFUN]
, ::[RUNTIME].[PRINTFUN].GetBankName( nvl(d.[KL_DT].[2].[3], d.[KL_DT].[1].[2].[FILIAL].[BANK]), d.[DATE_DOC]) : C_BANK_DT
, ::[RUNTIME].[PRINTFUN].GetBankName( nvl(d.[KL_KT].[2].[3], d.[KL_KT].[1].[2].[FILIAL].[BANK]), d.[DATE_DOC]) : C_BANK_KT

, d.[SUM] : C_SUMMA
, &PrintNumSumm(d.[SUM]) : C_SUM

, &PrintNumSumm(
nvl(d.[SUM_NT], d.[SUM]*[DOCUMENT].[LIB_CUR].GET_RATE(d.[ACC_DT].[FINTOOL]
,nvl(d.[DATE_PROV], d.[DATE_VAL])))) : C_SUM_NT
, &PrintNumSumm(
nvl(d.[SUM_PO]
,nvl(d.[SUM_NT], d.[SUM]*[DOCUMENT].[LIB_CUR].GET_RATE(d.[ACC_DT].[FINTOOL]
,nvl(d.[DATE_PROV], d.[DATE_VAL])))
/[DOCUMENT].[LIB_CUR].GET_RATE(d.[ACC_KT].[FINTOOL]
,nvl(d.[DATE_PROV],d.[DATE_VAL])))) : C_SUM_PO

-- Ф-ия Get_Print_Prop пакета ::[MAIN_DOCUM].[PRINT_SRV]
-- , ::[MAIN_DOCUM].[PRINT_SRV].Get_Print_Prop(d%id, 'DATE_INP', '1') : C_POSTUP
, d.[DATE_INP] : C_POSTUP
, ::[DOCUMENT_INT].[SQL_PRINT_001].Get_Print_Prop(d, 'PAYER', '1') : C_NAME_DT
, ::[DOCUMENT_INT].[SQL_PRINT_001].Get_Print_Prop(d, 'RECIPIENT', '1') : C_NAME_KT

--??? , ::[MAIN_DOCUM].[PRINT_SRV].get_document_uno(d%id, 'TEST') : С_PRINT_BY_36P

, d.[KL_DT].[2].[PART].[CODE] : C_CODE

, d.[PROV_USER].[NAME] : C_PROV_USER
, d.[KOD_NAZN_PAY].[KOD_NAZN] : C_KOD_NAZN

-- реквизиты в соотв. с требованиями Инструкции № 1256-У

, d.[DATE_NOTE] : C_DATE_BANK_POL
, d.[DATE_CARD] : C_DATE_TO_CARD
, d.[DATE_INP] : C_DATE_BANK_PL
, d.[DATE_DEBET] : C_DATE_DT

, case when trim(d.[BUD_REQS].[DATE_EXP]) = '0' /* если указан 0, его и печатаем */ or instr(d.[BUD_REQS].[DATE_EXP], '.') > 0 or d.[BUD_REQS].[DATE_EXP] is Null then
d.[BUD_REQS].[DATE_EXP]
else
substr(d.[BUD_REQS].[DATE_EXP],1,2)||'.'||substr(d.[BUD_REQS].[DATE_EXP],3,2)||'.'||substr(d.[BUD_REQS].[DATE_EXP],5)
end : C_BUD_REQ#DATE_EXP
, d.[BUD_REQS].[KBK_STR] : C_BUD_REQ#KBK
, d.[BUD_REQS].[DATE_NU] : C_BUD_REQ#DATE_NU
, d.[BUD_REQS].[NUM_EXP] : C_BUD_REQ#NUM_EXP
, d.[BUD_REQS].[OKATO_STR] : C_BUD_REQ#OKATO
, d.[BUD_REQS].[KOD_NAZN_PAY_STR] : C_BUD_REQ#KOD_NAZN_PAY
, d.[BUD_REQS].[TAXPAYER_STR] : C_BUD_REQ#TAXPAYER
, d.[BUD_REQS].[TYPE_EXP_STR] : C_BUD_REQ#TYPE_EXP
, d.[CORRECTION_DOC] : C_CORRECTION_DOC
-- Для совместимости с представлением из документов РЦ

, '' : C_ELDOCNUM
, '' : C_ORIGINAL_UNICUM_CODE
, ::[DOCUMENT_INT].[PRS_ACCREDITIV].Get_AccredType_MD(d) : C_CREDIT_TYPE
, ::[DOCUMENT_INT].[PRS_ACCREDITIV].Get_MEMO(d, 'PAY_COND') : C_PAY_COND
, ::[RUNTIME].[FIN].get_format(::[DOCUMENT_INT].[PRS_ACCREDITIV].Get_MEMO(d, 'NEED_DOC'),1,300) : C_NEED_DOC
, ::[RUNTIME].[FIN].get_format(::[DOCUMENT_INT].[PRS_ACCREDITIV].Get_MEMO(d, 'ADD_COND'),1,300) : C_ADD_COND
, ::[DOCUMENT_INT].[SQL_PRINT_001].get_req_po_varchar(d, 'CIPHER') : C_PO_SHIFR
, ::[DOCUMENT_INT].[SQL_PRINT_001].get_req_po_number(d, 'HALF_PRICE_NUMBER'): C_PO_NUM_PP
, ::[DOCUMENT_INT].[SQL_PRINT_001].get_req_po_number(d, 'OUTGOING_NUMBER') : C_PO_NUM_ISHOD
, ::[DOCUMENT_INT].[SQL_PRINT_001].get_req_po_date(d, 'OUTGOING_DATE') : C_PO_DATA_ISHOD
, '' : C_ORDER_SORT
, 0 : C_TO_RKC
, 0 : C_FROM_RKC
, ::[DOCUMENT_INT].[SQL_PRINT_001].get_req_po_number(d, 'UNPAYED_SALDO') : C_PO_NEOPL_SALDO
, '' : C_UNIQUE_NUM
, '0' : C_ADD1
, '0' : C_ADD2
, '' : C_LET_OF_CRED_NAME
, '' : C_LET_OF_CR_ACC
, '' : C_ADD_CONDIT
, to_date(null) : C_DOC_SEND_TIME -- d.[DOC_SEND_TIME]
, to_date(null) : C_CRDATE
, to_date(null) : C_DATE_CLOSE
-- Для объединения stream_doc_rc.rdf и print_doc_enrolm.rdf
, d.[ACC_KT]->[OTV]->[NAME] : C_USER_NAME
, d.[KL_KT].[1].[1]->[NAME] || decode(d.[KL_KT].[1].[1]->[REGISTR_NUM], Null, Null, ' Рег.N' || d.[KL_KT].[1].[1]->[REGISTR_NUM]) : C_KL_DT_1_1_NAME
, d.[ACC_KT]->[FILIAL] : C_FILIAL
--Если документ переоценки, то печатаем и его
, decode(d.[KOD_NAZN_PAY], ::[KOD_N_PAY]([KOD_NAZN]='RECONT'), decode(d.[ACC_DT]->[TO_PRODUCT],
::[ACC_PRODUCT]([CODE]= 'RKO_CUR'), d.[ACC_DT]->[OTV],
::[ACC_PRODUCT]([CODE]= 'RKO_CUR_LOCK'), d.[ACC_DT]->[OTV],
::[ACC_PRODUCT]([CODE]= 'RKO_CUR_SPEC'), d.[ACC_DT]->[OTV],
d.[ACC_KT]->[OTV]), d.[ACC_KT]->[OTV]) : C_USER
, d.[ACC_KT]->[OTV]->[DEPART]->[CODE] : C_DEPART_CODE
, d.[ACC_KT]->[OTV]->[DEPART]->[PART] : C_RECEIVER_PART
, d.[ASTR_DATE_PROV] : C_ASTR_DATE_PROV
, d.[DATE_PROV] : C_DATE_PROV
, d.[DATE_CARD] : C_DATE_CARD
, ::[DOCUMENT_INT].[SQL_PRINT_001].GetSubscribe(d) : C_USER_SUBSCRIBE
, ::[DOCUMENT_INT].[SQL_PRINT_001].prn_el_sign(d, 'REPORT') : C_PODPIS
, d.[DEPART].[NAME] : C_DOC_DEPART_NAME
, d.[ACC_DT].[NAME] : C_ACC_DT_NAME
, d.[ACC_KT].[NAME] : C_ACC_KT_NAME
, decode(d.[ACC_DT].[CLIENT_V], d.[FILIAL].[BANK], decode(d.[ACC_KT].[CLIENT_V], d.[FILIAL].[BANK], 'DT', 'KT'), 'DT') : C_CL_SIDE
, nvl(d.[KL_KT].[0], 1)*decode(d.[KL_DT].[0], 2, -1, 1) : C_IN_PAY
, d%state : C_MD_STATE
, d.[NUMB_BASE_DOC] : C_NUMB_BASE_DOC
, d.[LIST_BASE_DOC] : C_LIST_BASE_DOC
, d%id : C_MD_ID
, ::[DOCUMENT_INT].[SQL_PRINT_001].get_req_po_varchar(d, 'TRANS_CONTENT') : C_PO_TRANS_CONTENT
, d.[FILIAL].[OP_DATE] : C_FILIAL_OP_DATE
, '' : C_ACPT_TERM
, d.[CODE] : C_MD_CODE
)
in ::[MAIN_DOCUM]
where
(Trim(d%State) = 'PROV') -- Оборачиваем в функционал, дабы сменить индекс
and ((d.[KL_DT].[0] = 2) or d.[PRODUCT_DT].[ACC_PROD]%class = 'TRC') -- Не клиент банка --SNedov
and (d.[VID_DOC] in (::[NAME_PAYDOC]([CODE]='БЕЗН_ПЛ_ПОРУЧ'), ::[NAME_PAYDOC]([CODE]='БЕЗН_ПЛ_ОР'), ::[NAME_PAYDOC]([code]='БЕЗН_ИНКАСС_ПОР')));
[/code]


Последний раз редактировалось: Матвеев Евгений (Чт Авг 25, 2016 18:00), всего редактировалось 4 раз(а)
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Авг 25, 2016 17:51    Ответить с цитатой
Полезность: 1
да, ТС по видимому имеет в виду Список документов из Платежных документов



SELECT a1_1.c_kl_dt#2#kpp, a1_1.c_kl_kt#2#kpp FROM z#main_docum a1_1 WHERE a1_1.id = 1741818078
Truelogin
Участник со стажем


Вступление в Клуб: 05.04.2016
СообщениеЧт Авг 25, 2016 18:45    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
да, ТС по видимому имеет в виду Список документов из Платежных документов



SELECT a1_1.c_kl_dt#2#kpp, a1_1.c_kl_kt#2#kpp FROM z#main_docum a1_1 WHERE a1_1.id = 1741818078


Совершенно верно. Я простой пользователь)
Поясните, пожалуйста подробнее скрипт, а то я так понимаю мне придётся его под себя подстраивать.
Truelogin
Участник со стажем


Вступление в Клуб: 05.04.2016
СообщениеЧт Авг 25, 2016 18:48   Re: Представление платёжные документы (КПП) Ответить с цитатой
Полезность: Нет оценки
Матвеев Евгений пишет:

Для примера посмотри вьюхи
VW_CRIT_VND_DOC
VW_CRIT_PRINT_DOC_ENROLMENT
VW_CRIT_STREAM_MD
Там есть КПП
[code]


Завтра посмотрю данные вьюхи, но я так понимаю, что они у нас в ПО не выведены, буду через "СУБД" их искать.

А что Ваш скрипт делает Smile
KhrushchevAV
Участник со стажем


Вступление в Клуб: 17.10.2014
СообщениеПт Авг 26, 2016 08:35    Ответить с цитатой
Полезность: Нет оценки
Цитата:
Совершенно верно. Я простой пользователь.

Для простого пользователя алгоритм действий чуть чуть другой...
Напишите заявку вашим программистам. Smile
Матвеев Евгений
Профи


Вступление в Клуб: 31.01.2012
СообщениеПт Авг 26, 2016 09:38   Re: Представление платёжные документы (КПП) Ответить с цитатой
Полезность: Нет оценки
Truelogin пишет:
Матвеев Евгений пишет:

Для примера посмотри вьюхи
VW_CRIT_VND_DOC
VW_CRIT_PRINT_DOC_ENROLMENT
VW_CRIT_STREAM_MD
Там есть КПП
[code]


Завтра посмотрю данные вьюхи, но я так понимаю, что они у нас в ПО не выведены, буду через "СУБД" их искать.

А что Ваш скрипт делает Smile


Приветствую, вьюху в СУБД искать нет смысла... она там в нотации pl sql, выглядит не так как здесь

В таком виде она АСД(Администратор словаря данных) живёт

Почему ты(если ты простой пользователь) озадачился этим вопросом? Должны же быть программеры у Вас

Пришли исходный текст вьюхи, посмотрим как туда прикрутить...
Truelogin
Участник со стажем


Вступление в Клуб: 05.04.2016
СообщениеПт Авг 26, 2016 16:17   Re: Представление платёжные документы (КПП) Ответить с цитатой
Полезность: Нет оценки
Матвеев Евгений пишет:
Truelogin пишет:
Матвеев Евгений пишет:

Для примера посмотри вьюхи
VW_CRIT_VND_DOC
VW_CRIT_PRINT_DOC_ENROLMENT
VW_CRIT_STREAM_MD
Там есть КПП
[code]


Завтра посмотрю данные вьюхи, но я так понимаю, что они у нас в ПО не выведены, буду через "СУБД" их искать.

А что Ваш скрипт делает Smile



Приветствую, вьюху в СУБД искать нет смысла... она там в нотации pl sql, выглядит не так как здесь

В таком виде она АСД(Администратор словаря данных) живёт

Почему ты(если ты простой пользователь) озадачился этим вопросом? Должны же быть программеры у Вас

Пришли исходный текст вьюхи, посмотрим как туда прикрутить...


Вот вьюха:
[code]

Create View VW_CRIT_MAIN_DOCUM As

SELECT
A1_1.Id ID, A1_1.CLASS_ID Class_Id, A1_1.STATE_ID State_Id,
A1_1.C_DATE_DOC C_1,
A6_1.C_SHORT_NAME C_2, A1_1.C_VID_DOC REF2,
A1_1.C_DOCUMENT_NUM C_3,
decode(A1_1.C_SUM, null, A1_1.C_SUM_PO, 0, A1_1.C_SUM_PO, A1_1.C_SUM) C_4,
A1_1.C_SUM_NT C_5,
decode(nvl(A1_1.C_SUM, 0), 0, decode(A1_1.C_VALUTA_PO, SYS_CONTEXT('IBS_USER', 'NATCUR'), 'RUR', A56_1.C_CUR_SHORT), decode(A1_1.C_VALUTA, SYS_CONTEXT('IBS_USER', 'NATCUR'), 'RUR', A7_1.C_CUR_SHORT)) C_6, A1_1.C_VALUTA REF6,
A1_1.C_NUM_DT C_7, A1_1.C_ACC_DT REF7,
A1_1.C_NUM_KT C_8, A1_1.C_ACC_KT REF8,
A1_1.STATE_ID REF9,
A1_1_S.NAME C_9,
A1_1.C_DATE_PROV C_10,
A1_1.C_NAZN C_11,
decode(A1_1.C_KL_DT#0,2,' '||A15_1.C_BIC||' =>',decode(A1_1.C_KL_KT#0,2,'-> '||A10_1.C_BIC,null)) C_12, A1_1.C_KL_KT#2#3 REF12,
A11_1.C_VID_SEND C_13, A1_1.C_DOC_SEND_REF REF13,
A30_1.C_CODE C_14, A1_1.C_TYPE_MESS REF14,
A1_1.C_NUM_KS REF15,
DECODE(A1_1.C_NUM_KS,null,null,'(***)') C_15,
A1_1.C_NUM_KS1 REF16,
DECODE(A1_1.C_NUM_KS1,null,null,'(***)') C_16,
A1_1.C_PRIORITET C_17,
A1_1.C_DOCUMENT_DATE C_18,
A2_1.C_NAME C_19, A1_1.C_DOCUMENT_USER REF19,
A20_1.C_NAME C_20, A1_1.C_PROV_USER REF20,
A22_1.C_CODE C_21, A1_1.C_KL_DT#2#PART REF21,
Z$LEGAL_321P_SBP_LIB.PRESENT_RC(A1_1.ID) C_22,
A23_1.C_CODE C_23, A1_1.C_KL_KT#2#PART REF23,
/*nvl(A1_1.C_KL_DT#2#1, A1_1.C_NUM_DT)*/decode(A1_1.C_KL_DT#2#1, null, decode(A1_1.C_KL_DT#1#2, A1_1.C_ACC_DT, A1_1.C_NUM_DT, (select c_main_v_id from z#ac_fin where id = A1_1.C_KL_DT#1#2)), A1_1.C_KL_DT#2#1) C_24,
/*nvl(A1_1.C_KL_KT#2#1, A1_1.C_NUM_KT)*/decode(A1_1.C_KL_KT#2#1, null, decode(A1_1.C_KL_KT#1#2, A1_1.C_ACC_KT, A1_1.C_NUM_KT, (select c_main_v_id from z#ac_fin where id =A1_1.C_KL_KT#1#2)), A1_1.C_KL_KT#2#1) C_25,
nvl(A1_1.C_KL_DT#2#INN,A19_1.C_INN) C_26,
nvl(A1_1.C_KL_KT#2#INN,A34_1.C_INN) C_27,
NVL(A1_1.C_KL_DT#2#2, A19_1.C_NAME) C_28,
NVL(A1_1.C_KL_KT#2#2, A34_1.C_NAME) C_29,
A1_1.C_DOCUMENT_UNO C_30,
A1_1.C_ASTR_DATE_PROV C_31,
A1_1.C_DATE_VAL C_32,
A1_1.C_IN_FOLDER REF33,
DECODE(A1_1.C_IN_FOLDER,null,null,'(***)') C_33,
A21_1.C_KOD_NAZN C_34, A1_1.C_KOD_NAZN_PAY REF34,
A1_1.C_PACHKA C_35,
A1_1.C_SUM_PO C_36,
A1_1.C_TEXT_VOZV C_37,
A33_1.C_NAME C_38, A1_1.C_USER_EXEC REF38,
A1_1.C_QUIT_DOC REF39,
DECODE(A1_1.C_QUIT_DOC,null,null,'(***)') C_39,
A44_1.C_CODE C_40, A1_1.C_DEPART REF40,
Z$DEPART_MB_LIB.GET_OSB(A44_1.C_CODE,A44_1.ID) C_41,
Z$DEPART_MB_LIB.GET_VSP(A44_1.C_CODE,A44_1.ID) C_42,
A44_1.C_DEPART_GROUP C_43, A1_1.C_DEPART REF43,
A53_1.C_CHAPTER C_44, A52_1.C_CHAPTER REF44,
A1_1.ID C_45,
A12_1.C_CODE C_46, A1_1.C_DT_SEND REF46,
A13_1.C_CODE C_47, A1_1.C_KT_SEND REF47,
A48_2.C_NUM_DOG C_48, A1_1.C_PRODUCT_DT#ACC_PROD REF48,
A1_1.C_HISTORY_STATE REF49,
DECODE((select count(1) from Z#HISTORY_STATES tc where tc.collection_id=A1_1.C_HISTORY_STATE and rownum=1),0,'{...}','{***}') C_49,
A1_1.C_SUM_KSPL REF50,
DECODE((select count(1) from Z#SUM_SYMKS tc where tc.collection_id=A1_1.C_SUM_KSPL and rownum=1),0,'{...}','{***}') C_50,
A1_1.C_CORRECTION_DOC REF51,
DECODE(A1_1.C_CORRECTION_DOC,null,null,'(***)') C_51,
A1_1.C_STORNO_DOC REF52,
DECODE(A1_1.C_STORNO_DOC,null,null,'(***)') C_52,
A1_1.C_SBP_ARCHIVE C_53,
A1_1.C_SUBDOCUMENTS REF54,
DECODE((select count(1) from Z#DOCUMENT_REF tc where tc.collection_id=A1_1.C_SUBDOCUMENTS and rownum=1),0,'{...}','{***}') C_54,
A1_1.C_MAIN_SMART REF55,
DECODE(A1_1.C_MAIN_SMART,null,null,'(***)') C_55,
A1_1.C_EDITION_UNO C_56,
A1_1.C_PRODUCT_DT#ACC_PROD REF57,
DECODE(A1_1.C_PRODUCT_DT#ACC_PROD,null,null,'(***)') C_57,
A1_1.C_PRODUCT_CT#ACC_PROD REF58,
DECODE(A1_1.C_PRODUCT_CT#ACC_PROD,null,null,'(***)') C_58,
A1_1.C_DPP C_59,
decode(A1_1.C_FILIAL, 119062844, '101', 20717289815, '105', 14011982143, '106', 66119062844, '201', A57_1.C_CODE) C_60, A1_1.C_FILIAL REF60,
A58_1.C_NAME C_61, A1_1.C_VID_OBOROTA REF61,
A1_1.C_DATE_PL C_62,
A1_1.C_COND_PAY_MEMO C_63,
A1_1.C_VTO_MARKER C_64,
A1_1.C_COMMENT C_65,
A1_1.C_PAYMENT_UNO C_66,
substr(A1_1.C_NUM_DT, 1, Cool || '_' || substr(A1_1.C_NUM_DT, 10) C_67, A1_1.C_ACC_DT REF67,
substr(A1_1.C_NUM_KT, 1, Cool || '_' || substr(A1_1.C_NUM_KT, 10) C_68, A1_1.C_ACC_KT REF68,
A59_1.C_COUNT_DOCS C_69, A1_1.C_VAL_DOC_REQS REF69,
A59_1.C_COUNT_PAGES C_70, A1_1.C_VAL_DOC_REQS REF70,
decode(nvl(A60_1.C_DOC_OUT,A60_1.C_DOC_IN), A60_1.C_DOC_OUT, A60_1.ID, A62_1.C_DOC_IN, A62_1.ID) C_71,
decode(nvl(A60_1.C_DOC_OUT,A60_1.C_DOC_IN), A60_1.C_DOC_OUT, A60_1.ID, A62_1.C_DOC_IN, A62_1.ID) REF72,
DECODE(decode(nvl(A60_1.C_DOC_OUT,A60_1.C_DOC_IN), A60_1.C_DOC_OUT, A60_1.ID, A62_1.C_DOC_IN, A62_1.ID),null,null,'(***)') C_72,
A63_1.ID C_73,
A63_1.C_HISTORY REF74,
DECODE((select count(1) from Z#FM_NOTIFY_HIST tc where tc.collection_id=A63_1.C_HISTORY and rownum=1),0,'{...}','{***}') C_74,
A1_1.C_PRODUCT_CT#ACC_PROD U_1,
A4_2.C_DEPART U_2,
A5_2.C_DEPART U_3,
A1_1.C_DEPART U_4
FROM Z#MAIN_DOCUM A1_1,
Z#ACCOUNT A4_2,
Z#ACCOUNT A5_2,
Z#DEPART A44_1,
Z#VID_SEND_DOCUM A11_1,
Z#RKC_DOC_STATES A12_1,
Z#BRANCH A57_1,
Z#CLIENT A19_1,
Z#CL_BANK_N A15_1,
Z#CL_PART A22_1,
Z#CLIENT A34_1,
Z#CL_BANK_N A10_1,
Z#CL_PART A23_1,
Z#KOD_N_PAY A21_1,
Z#RKC_DOC_STATES A13_1,
Z#PRODUCT A48_2,
Z#USER A20_1,
Z#SBRF_TYPE_MESS A30_1,
Z#USER A33_1,
Z#FT_MONEY A7_1,
Z#FT_MONEY A56_1,
Z#VAL_DOC_REQS A59_1,
Z#USER A2_1,
Z#NAME_PAYDOC A6_1,
Z#VID_OBOROT A58_1,
Z#CHAPTERS A53_1,
Z#NEW_RASD A52_1,
Z#NEW_BS1 A51_1,
Z#PL_US A50_1,
Z#PL_USV A49_1,
Z#AC_FIN A4_1,
Z#MFIL_DOCS A60_1,
Z#MFIL_DOCS A62_1,
Z#FM_NOTIFY A63_1, STATES A1_1_S
WHERE A1_1.C_ACC_DT = A4_2.ID(+)
AND A1_1.C_ACC_KT = A5_2.ID(+)
AND A1_1.C_DEPART = A44_1.ID(+)
AND A1_1.C_DOC_SEND_REF = A11_1.ID(+)
AND A1_1.C_DT_SEND = A12_1.ID(+)
AND A1_1.C_FILIAL = A57_1.ID(+)
AND A1_1.C_KL_DT#1#1 = A19_1.ID(+)
AND A1_1.C_KL_DT#2#3 = A15_1.ID(+)
AND A1_1.C_KL_DT#2#PART = A22_1.ID(+)
AND A1_1.C_KL_KT#1#1 = A34_1.ID(+)
AND A1_1.C_KL_KT#2#3 = A10_1.ID(+)
AND A1_1.C_KL_KT#2#PART = A23_1.ID(+)
AND A1_1.C_KOD_NAZN_PAY = A21_1.ID(+)
AND A1_1.C_KT_SEND = A13_1.ID(+)
AND A1_1.C_PRODUCT_DT#ACC_PROD = A48_2.ID(+)
AND A1_1.C_PROV_USER = A20_1.ID(+)
AND A1_1.C_TYPE_MESS = A30_1.ID(+)
AND A1_1.C_USER_EXEC = A33_1.ID(+)
AND A1_1.C_VALUTA = A7_1.ID(+)
AND A1_1.C_VALUTA_PO = A56_1.ID(+)
AND A1_1.C_VAL_DOC_REQS = A59_1.ID(+)
AND A1_1.C_DOCUMENT_USER = A2_1.ID(+)
AND A1_1.C_VID_DOC = A6_1.ID(+)
AND A1_1.C_VID_OBOROTA = A58_1.ID(+)
AND A52_1.C_CHAPTER = A53_1.ID(+)
AND A51_1.C_RASD = A52_1.ID(+)
AND A50_1.C_NEW_BS1 = A51_1.ID(+)
AND A49_1.C_USV_US = A50_1.ID(+)
AND A4_1.C_MAIN_USV = A49_1.ID(+)
AND A1_1.C_ACC_DT = A4_1.ID(+)
AND A1_1.STATE_ID = A1_1_S.ID(+) AND A1_1.CLASS_ID = A1_1_S.CLASS_ID(+)
AND (a1_1.c_filial = to_number(sys_context('IBS_USER', 'OURBRANCH'))
and a1_1.c_date_doc >= TO_DATE(SYS_CONTEXT('IBS_USER', 'SYS_DATE'), 'DD/MM/YYYY') - Z$MAIN_DOCUM_LIB_VIEW.days_in_past
and a1_1.c_document_date >= TO_DATE(SYS_CONTEXT('IBS_USER', 'SYS_DATE'), 'DD/MM/YYYY') - Z$MAIN_DOCUM_LIB_VIEW.days_in_past
-- sbt-mandrygin-vn RFC#286182 Прямые расчеты. Документ в филиале получателя
and A1_1.ID = A60_1.C_DOC_OUT(+)
and A60_1.STATE_ID(+) = 'AKTIV'
and A60_1.C_TYPE_REC(+) = 'DIRECT'
and A1_1.ID = A62_1.C_DOC_IN(+)
and A62_1.STATE_ID(+) = 'AKTIV'
and A62_1.C_TYPE_REC(+) = 'DIRECT'
and A63_1.c_obj_id(+)=A1_1.id
and A63_1.c_obj_class(+)=A1_1.class_id)
AND
( SYS_CONTEXT('IBS_SYSTEM','ADMIN')='1' OR EXISTS
(
SELECT 1 FROM Criteria_Rights M_R, Subj_Equal SE
WHERE M_R.Obj_Id ='4139'
AND M_R.Subj_Id=SE.Equal_Id AND SE.Subj_Id=SYS_CONTEXT('IBS_SYSTEM','USER')
)
AND
( EXISTS
(
SELECT 1 FROM Class_Rights C_R, Subj_Equal SE
WHERE C_R.Obj_Id=A1_1.CLASS_ID AND C_R.Subj_Id=SE.Equal_Id AND SE.Subj_Id=SYS_CONTEXT('IBS_SYSTEM','USER')
)
)
AND (EXISTS
( SELECT 1 FROM Object_Rights_EX O_E, Subj_Equal SE
WHERE O_E.Class_Id='DEPART' AND O_E.Right_Class_Id=A1_1.CLASS_ID AND O_E.Obj_Id=TO_CHAR(A1_1.C_DEPART)
AND O_E.Subj_Id=SE.Equal_Id AND SE.Subj_Id=SYS_CONTEXT('IBS_SYSTEM','USER')
)
AND EXISTS
( SELECT 1 FROM Object_Rights_EX O_E, Subj_Equal SE
WHERE O_E.Class_Id='BRANCH' AND O_E.Right_Class_Id=A1_1.CLASS_ID AND O_E.Obj_Id=TO_CHAR(A1_1.C_FILIAL)
AND O_E.Subj_Id=SE.Equal_Id AND SE.Subj_Id=SYS_CONTEXT('IBS_SYSTEM','USER')
)
AND /*EXISTS
( SELECT 1 FROM Object_Rights_EX O_E, Subj_Equal SE
WHERE O_E.Class_Id='DEPART' AND O_E.Right_Class_Id=A1_1.CLASS_ID AND O_E.Obj_Id=TO_CHAR(A4_2.C_DEPART)
AND O_E.Subj_Id=SE.Equal_Id AND SE.Subj_Id=SYS_CONTEXT('IBS_SYSTEM','USER')
)
or EXISTS
( SELECT 1 FROM Object_Rights_EX O_E, Subj_Equal SE
WHERE O_E.Class_Id='DEPART' AND O_E.Right_Class_Id=A1_1.CLASS_ID AND O_E.Obj_Id=TO_CHAR(A5_2.C_DEPART)
AND O_E.Subj_Id=SE.Equal_Id AND SE.Subj_Id=SYS_CONTEXT('IBS_SYSTEM','USER')
)
*/1=1
)
)
AND SYS_CONTEXT('IBS_OPTIONS','4139') is null
AND SYS_CONTEXT('USERENV', 'CLIENT_IDENTIFIER') is null
[/code]

Я попробовал изменения сделать и создать свою - Не хватает прав))) А просто запрос не получается сделать - неизвестные команды ошибка (или что то похожее).

Вытягиваю я из этого представления запросом:
[code]
SELECT ID, CLASS_ID, STATE_ID, C_1, C_2, REF2, C_3, C_4, C_5, C_6,
REF6, C_7, REF7, C_8, REF8, REF9, C_9, C_10, C_11, C_12, REF12,
C_13, REF13, C_14, REF14, REF15, C_15, REF16, C_16, C_17, C_18,
C_19, REF19, C_20, REF20, C_21, REF21, C_22, C_23, REF23, C_24,
C_25, C_26, C_27, C_28, C_29, C_30, C_31, C_32, REF33, C_33,
C_34, REF34, C_35, C_36, C_37, C_38, REF38, REF39, C_39, C_40,
REF40, C_41, C_42, C_43, REF43, C_44, REF44, C_45, C_46, REF46,
C_47, REF47, C_48, REF48, REF49, C_49, REF50, C_50, REF51, C_51,
REF52, C_52, C_53, REF54, C_54, REF55, C_55, C_56, REF57, C_57,
REF58, C_58, C_59, C_60, REF60, C_61, REF61, C_62, C_63, C_64,
C_65, C_66, C_67, REF67, C_68, REF68, C_69, REF69, C_70, REF70,
C_71, REF72, C_72, C_73, REF74, C_74, U_1, U_2, U_3, U_4
FROM IBS.VW_CRIT_MAIN_DOCUM

[/code]

Как быть? )) Возможно ли из другой вьюхи вытянуть КПП? Но я такую вьюху не нашёл в ПО, да и в коде тоже..

Что то тег CODE не работает...
Матвеев Евгений
Профи


Вступление в Клуб: 31.01.2012
СообщениеПт Авг 26, 2016 16:33    Ответить с цитатой
Полезность: 1
VW_CRIT_MAIN_DOCUM ЦФТшная вьюха, через расширение рекомендуется(чтобы не было запар с правами и накатами)

Есть поля
26 - плательщик (A19_1)
27 получатель (A34_1)

По аналогии делаешь в KPP из первой и второй
Перекидываешь в правую часть, потом ок

На всё про всё 45 секнуд
Truelogin
Участник со стажем


Вступление в Клуб: 05.04.2016
СообщениеПт Авг 26, 2016 17:25    Ответить с цитатой
Полезность: Нет оценки
Матвеев Евгений пишет:
VW_CRIT_MAIN_DOCUM ЦФТшная вьюха, через расширение рекомендуется(чтобы не было запар с правами и накатами)

Есть поля
26 - плательщик (A19_1)
27 получатель (A34_1)

По аналогии делаешь в KPP из первой и второй
Перекидываешь в правую часть, потом ок

На всё про всё 45 секнуд


Не всё так просто! Я же не Админ - я новую вьюху не могу сделать! Я просто наглый юзер)
Truelogin
Участник со стажем


Вступление в Клуб: 05.04.2016
СообщениеПт Авг 26, 2016 17:36    Ответить с цитатой
Полезность: Нет оценки
KhrushchevAV пишет:
Цитата:
Совершенно верно. Я простой пользователь.

Для простого пользователя алгоритм действий чуть чуть другой...
Напишите заявку вашим программистам. Smile


Они скрываются от всех)) А если серьёзно - то это долгий процесс согласования и т.д. может пол года занять))
Матвеев Евгений
Профи


Вступление в Клуб: 31.01.2012
СообщениеПт Авг 26, 2016 18:51    Ответить с цитатой
Полезность: Нет оценки
Код:

/* CREATE OR REPLACE VIEW VW_CRIT_MAIN_DOCUM AS */
SELECT /*+ first_rows(1) */
A1_1.Id ID, A1_1.CLASS_ID Class_Id, A1_1.STATE_ID State_Id,
A1_1.C_DATE_DOC C_1,
A6_1.C_SHORT_NAME C_2, A1_1.C_VID_DOC REF2,
A1_1.C_DOCUMENT_NUM C_3,
Z$DOCUM_RC_RCI_RUN_PROTOCOL.get_num_run((select r.ID from Z#DOCUM_RC r where A1_1.ID = r.c_main_doc)) C_4,
decode(A1_1.C_SUM, null, A1_1.C_SUM_PO, 0, A1_1.C_SUM_PO, A1_1.C_SUM) C_5,
A1_1.C_SUM_NT C_6,
decode(A1_1.C_SUM, null, A56_1.C_CUR_SHORT, 0, A56_1.C_CUR_SHORT, A7_1.C_CUR_SHORT) C_7, A1_1.C_VALUTA REF7,
A1_1.C_NUM_DT C_8, A1_1.C_ACC_DT REF8,
A1_1.C_NUM_KT C_9, A1_1.C_ACC_KT REF9,
A1_1.STATE_ID REF10,
A1_1_S.NAME C_10,
A1_1.C_DATE_PROV C_11,
A1_1.C_NAZN C_12,
case

when A1_1.C_KL_DT#0 = 2 and A1_1.C_KL_KT#0 = 2 then A15_1.C_BIC || '=>->' || A10_1.C_BIC

when A1_1.C_KL_DT#0 = 1 and A1_1.C_KL_KT#0 = 2 then '-> '||A10_1.C_BIC

when A1_1.C_KL_DT#0 = 2 and A1_1.C_KL_KT#0 = 1 then '    '||A15_1.C_BIC||' =>'

else null

end C_13,
A11_1.C_VID_SEND C_14, A1_1.C_DOC_SEND_REF REF14,
A30_1.C_CODE C_15, A1_1.C_TYPE_MESS REF15,
A1_1.C_NUM_KS REF16,
DECODE(A1_1.C_NUM_KS,null,null,'(***)') C_16,
A1_1.C_NUM_KS1 REF17,
DECODE(A1_1.C_NUM_KS1,null,null,'(***)') C_17,
A1_1.C_PRIORITET C_18,
A1_1.C_DOCUMENT_DATE C_19,
A2_1.C_NAME C_20, A1_1.C_DOCUMENT_USER REF20,
A20_1.C_NAME C_21, A1_1.C_PROV_USER REF21,
A22_1.C_CODE C_22, A1_1.C_KL_DT#2#PART REF22,
A23_1.C_CODE C_23, A1_1.C_KL_KT#2#PART REF23,
trim(nvl(A1_1.C_KL_DT#2#1, A1_1.C_NUM_DT)) C_24,
trim(nvl(A1_1.C_KL_KT#2#1, A1_1.C_NUM_KT)) C_25,
NVL(A1_1.C_KL_DT#2#2, A19_1.C_NAME) C_26,
Z#CLIENT#INTERFACE.get_str(A19_1.ID,'KPP') C_27, A1_1.C_KL_DT#1#1 REF27,
NVL(A1_1.C_KL_KT#2#2, A34_1.C_NAME) C_28,
Z#CLIENT#INTERFACE.get_str(A34_1.ID,'KPP') C_29, A1_1.C_KL_KT#1#1 REF29,
A1_1.C_DOCUMENT_UNO C_30,
A1_1.C_ASTR_DATE_PROV C_31,
A1_1.C_DATE_VAL C_32,
A1_1.C_IN_FOLDER REF33,
DECODE(A1_1.C_IN_FOLDER,null,null,'(***)') C_33,
A21_1.C_KOD_NAZN C_34, A1_1.C_KOD_NAZN_PAY REF34,
A1_1.C_PACHKA C_35,
A1_2.C_TEXT_VOZV C_36,
A33_1.C_NAME C_37, A1_2.C_USER_EXEC REF37,
A1_1.C_QUIT_DOC REF38,
DECODE(A1_1.C_QUIT_DOC,null,null,'(***)') C_38,
A44_1.C_CODE C_39, A1_1.C_DEPART REF39,
A1_1.ID C_40,
A12_1.C_CODE C_41, A1_2.C_DT_SEND REF41,
A13_1.C_CODE C_42, A1_2.C_KT_SEND REF42,
A1_1.C_PRODUCT_DT#ACC_PROD REF43,
DECODE(A1_1.C_PRODUCT_DT#ACC_PROD,null,null,'(***)') C_43,
A1_2.C_HISTORY_STATE REF44,
DECODE((select count(1) from Z#HISTORY_STATES tc where tc.collection_id=A1_2.C_HISTORY_STATE and rownum=1),0,'{...}','{***}') C_44,
A1_1.C_SUM_KSPL REF45,
DECODE((select count(1) from Z#SUM_SYMKS tc where tc.collection_id=A1_1.C_SUM_KSPL and rownum=1),0,'{...}','{***}') C_45,
A1_1.C_PRODUCT_CT#ACC_PROD REF46,
DECODE(A1_1.C_PRODUCT_CT#ACC_PROD,null,null,'(***)') C_46,
A1_2.C_CORRECTION_DOC REF47,
DECODE(A1_2.C_CORRECTION_DOC,null,null,'(***)') C_47,
A1_2.C_STORNO_DOC REF48,
DECODE(A1_2.C_STORNO_DOC,null,null,'(***)') C_48,
decode((select count(z1.id)

          from z#user_type_ref z1

         where z1.collection_id = a1_2.c_user_type

           and z1.c_value in (9361262,

                              9361263,

                              11449244)

        ), 0, 'Нет', 1, 'Да', 'Многострочный') C_49,
A1_2.C_EDITION_UNO C_50,
A57_1.C_DOCUMENT_NUM C_51, A1_1.C_MAIN_SMART REF51,
A1_2.C_SUBDOCUMENTS REF52,
DECODE((select count(1) from Z#SUBDOC_STR tc where tc.collection_id=A1_2.C_SUBDOCUMENTS and rownum=1),0,'{...}','{***}') C_52,
A59_2.C_NAME C_53, A58_1.C_FASE REF53,
decode(E59_1.state_id,'LOAD', 'Выгружен', 'Не выгружен')  C_54,
A60_1.C_VALUE C_55, A58_1.C_RANGE REF55,
E59_1.C_RCI_FILE_NAME C_56,
A61_1.C_CODE C_57, A1_1.C_FILIAL REF57,
A54_1.C_NAME C_58, A1_1.C_VID_OBOROTA REF58,
(select f.C_ANALYTIC from Z#SPOD f where f.C_DOC = A1_1.ID) C_59,
A1_1.C_FILIAL U_1,
NVL(A4_2.C_DEPART,A1_1.C_DEPART) U_2,
NVL(A5_2.C_DEPART,A1_1.C_DEPART) U_3,
A1_1.C_MAIN_SMART U_4,
A1_1.C_DEPART U_5,
A1_1.C_PRODUCT_DT#ACC_DOC U_6,
A1_1.C_PRODUCT_CT#ACC_DOC U_7,
A1_1.C_REP_1ST_SIGN U_8,
A1_1.C_CATEGORY_INFO U_9
 FROM Z#DOCUMENT A1_2,
 Z#MAIN_DOCUM A1_1,
 Z#RCI_EXP_CRRE E59_1,
 Z#ACCOUNT A4_2,
 Z#ACCOUNT A5_2,
 Z#DEPART A44_1,
 Z#USER A2_1,
 Z#VID_SEND_DOCUM A11_1,
 Z#RKC_DOC_STATES A12_1,
 Z#BRANCH A61_1,
 Z#CLIENT A19_1,
 Z#CL_BANK_N A15_1,
 Z#CL_PART A22_1,
 Z#CLIENT A34_1,
 Z#CL_BANK_N A10_1,
 Z#CL_PART A23_1,
 Z#KOD_N_PAY A21_1,
 Z#RKC_DOC_STATES A13_1,
 Z#MAIN_DOCUM A57_1,
 Z#USER A20_1,
 Z#SBRF_TYPE_MESS A30_1,
 Z#USER A33_1,
 Z#FT_MONEY A7_1,
 Z#FT_MONEY A56_1,
 Z#NAME_PAYDOC A6_1,
 Z#VID_OBOROT A54_1,
 Z#CLIENT A59_2,
 Z#PERSONS_POS A58_1,
 Z#CASTA A60_1, STATES A1_1_S
 WHERE A1_1.ID = A1_2.ID
 AND A1_1.C_ACC_DT = A4_2.ID(+)
 AND A1_1.C_ACC_KT = A5_2.ID(+)
 AND A1_1.C_DEPART = A44_1.ID(+)
 AND A1_1.C_DOCUMENT_USER = A2_1.ID(+)
 AND A1_1.C_DOC_SEND_REF = A11_1.ID(+)
 AND A1_2.C_DT_SEND = A12_1.ID(+)
 AND A1_1.C_FILIAL = A61_1.ID(+)
 AND A1_1.C_KL_DT#1#1 = A19_1.ID(+)
 AND A1_1.C_KL_DT#2#3 = A15_1.ID(+)
 AND A1_1.C_KL_DT#2#PART = A22_1.ID(+)
 AND A1_1.C_KL_KT#1#1 = A34_1.ID(+)
 AND A1_1.C_KL_KT#2#3 = A10_1.ID(+)
 AND A1_1.C_KL_KT#2#PART = A23_1.ID(+)
 AND A1_1.C_KOD_NAZN_PAY = A21_1.ID(+)
 AND A1_2.C_KT_SEND = A13_1.ID(+)
 AND A1_1.C_MAIN_SMART = A57_1.ID(+)
 AND A1_1.C_PROV_USER = A20_1.ID(+)
 AND A1_1.C_TYPE_MESS = A30_1.ID(+)
 AND A1_2.C_USER_EXEC = A33_1.ID(+)
 AND A1_1.C_VALUTA = A7_1.ID(+)
 AND A1_1.C_VALUTA_PO = A56_1.ID(+)
 AND A1_1.C_VID_DOC = A6_1.ID
 AND A1_1.C_VID_OBOROTA = A54_1.ID(+)
 AND A58_1.C_FASE = A59_2.ID(+)
 AND A1_1.C_REP_1ST_SIGN = A58_1.ID(+)
 AND A58_1.C_RANGE = A60_1.ID(+)
 AND A1_1.STATE_ID = A1_1_S.ID(+) AND A1_1.CLASS_ID = A1_1_S.CLASS_ID(+)
 AND (E59_1.C_RCI_DOC(+) = A1_1.ID)
 AND
  (
    SYS_CONTEXT('IBS_SYSTEM','USR') = 'IBS'
    OR
    SYS_CONTEXT('IBS_SYSTEM','USR')=SYS_CONTEXT('IBS_SYSTEM','USER') AND SYS_CONTEXT('IBS_SYSTEM','ADMIN')='1'
    OR EXISTS
    (
      SELECT 1 FROM Criteria_Rights M_R, Subj_Equal SE
       WHERE M_R.Obj_Id ='4139' AND M_R.Class_Id=A1_1.CLASS_ID
         AND M_R.Subj_Id=SE.Equal_Id AND SE.Subj_Id=SYS_CONTEXT('IBS_SYSTEM','USR')
    )
  )

 AND SYS_CONTEXT('IBS_OPTIONS','4139') is null
 AND SYS_CONTEXT('USERENV', 'CLIENT_IDENTIFIER') is null


27 поле КПП плательщика
29 поле КПП получателя

Код:

NVL(A1_1.C_KL_DT#2#2, A19_1.C_NAME) C_26,
Z#CLIENT#INTERFACE.get_str(A19_1.ID,'KPP') C_27, A1_1.C_KL_DT#1#1 REF27,
NVL(A1_1.C_KL_KT#2#2, A34_1.C_NAME) C_28,
Z#CLIENT#INTERFACE.get_str(A34_1.ID,'KPP') C_29, A1_1.C_KL_KT#1#1 REF29,
Truelogin
Участник со стажем


Вступление в Клуб: 05.04.2016
СообщениеПт Авг 26, 2016 19:36    Ответить с цитатой
Полезность: Нет оценки
А как мне его исполнить? у меня прав нет! или
Цитата:
OR REPLACE
поможет?
Матвеев Евгений
Профи


Вступление в Клуб: 31.01.2012
СообщениеПт Авг 26, 2016 20:22    Ответить с цитатой
Полезность: Нет оценки
Убери символы комментария /* ... */ в первой строке

Цитата:

VW_CRIT_MAIN_DOCUM ЦФТшная вьюха, через расширение рекомендуется(чтобы не было запар с правами и накатами)

Есть поля
26 - плательщик (A19_1)
27 получатель (A34_1)

По аналогии делаешь в KPP из первой и второй
Перекидываешь в правую часть, потом ок

На всё про всё 45 секнуд


Прав под IBS едва ли хватит изменить ЦФТшные операции

Повторюсь, даже если предположить что это и получится ЦФТ шные операции на PL SQL при перекомпиляции пересоздаются из исходников PL PLUS.

Делать нужно в АСД

В ORACLE как правило меняют исходники, но делается это в sources, с осознанными целями... как то правки закрытого от редактирования кода ЦФТ
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru