Представление платёжные документы (КПП) 
	   
	     | 
   
 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		Truelogin Участник со стажем
 
  Вступление в Клуб: 05.04.2016
  | 
		
			
				 Чт Авг 25, 2016 17:21   Представление платёжные документы (КПП) | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Добрый день!
 
 
Товарищи, помогите, пожалуйста, с проблемой очередной.
 
У нас в представлении "Платёжные документы" есть данные:
 
Счёт Кт, Счёт Дб, Счёт отправителя, Счёт получателя, ИНН отправителя, ИНН получателя (ну или как то так называются  ) и т.д.
 
 
Но нет КПП отправителя и получателя. А когда просматриваешь конкретное "Платёжное поручение" - они там есть.
 
 
Откуда и к чему подтягиваются данные КПП? Возможно ли как то придумать запрос, что бы их тоже можно было вытягивать? | 
			 
		  | 
	 
	
		  | 
	 
	
		Матвеев Евгений Профи
 
  Вступление в Клуб: 31.01.2012
  | 
		
			
				 Чт Авг 25, 2016 17:46   Re: Представление платёжные документы (КПП) | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				 	  | Truelogin пишет: | 	 		  Добрый день!
 
 
Товарищи, помогите, пожалуйста, с проблемой очередной.
 
У нас в представлении "Платёжные документы" есть данные:
 
Счёт Кт, Счёт Дб, Счёт отправителя, Счёт получателя, ИНН отправителя, ИНН получателя (ну или как то так называются  ) и т.д.
 
 
Но нет КПП отправителя и получателя. А когда просматриваешь конкретное "Платёжное поручение" - они там есть.
 
 
Откуда и к чему подтягиваются данные КПП? Возможно ли как то придумать запрос, что бы их тоже можно было вытягивать? | 	  
 
 
Не нашел такой вьюхи, это ты наверное ТБП имеешь в виду...
 
Вьюха как то по другому называется
 
 
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]
 
 | 	  
 
 
Завтра посмотрю данные вьюхи, но я так понимаю, что они у нас в ПО не выведены, буду через "СУБД" их искать.
 
 
А что Ваш скрипт делает   | 
			 
		  | 
	 
	
		  | 
	 
	
		KhrushchevAV Участник со стажем
 
  Вступление в Клуб: 17.10.2014
  | 
		
			
				 Пт Авг 26, 2016 08:35    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | Цитата: | 	 		  | Совершенно верно. Я простой пользователь. | 	   
 
Для простого пользователя алгоритм действий чуть чуть другой...
 
Напишите заявку вашим программистам.   | 
			 
		  | 
	 
	
		  | 
	 
	
		Матвеев Евгений Профи
 
  Вступление в Клуб: 31.01.2012
  | 
		
			
				 Пт Авг 26, 2016 09:38   Re: Представление платёжные документы (КПП) | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | Truelogin пишет: | 	 		   	  | Матвеев Евгений пишет: | 	 		  
 
Для примера посмотри вьюхи 
 
VW_CRIT_VND_DOC 
 
VW_CRIT_PRINT_DOC_ENROLMENT
 
VW_CRIT_STREAM_MD
 
Там есть КПП
 
[code]
 
 | 	  
 
 
Завтра посмотрю данные вьюхи, но я так понимаю, что они у нас в ПО не выведены, буду через "СУБД" их искать.
 
 
А что Ваш скрипт делает   | 	  
 
 
Приветствую, вьюху в СУБД искать нет смысла... она там в нотации 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]
 
 | 	  
 
 
Завтра посмотрю данные вьюхи, но я так понимаю, что они у нас в ПО не выведены, буду через "СУБД" их искать.
 
 
А что Ваш скрипт делает   | 	  
 
 
 
Приветствую, вьюху в СУБД искать нет смысла... она там в нотации 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,   || '_' || substr(A1_1.C_NUM_DT, 10) C_67, A1_1.C_ACC_DT REF67,
 
substr(A1_1.C_NUM_KT, 1,   || '_' || 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 пишет: | 	 		   	  | Цитата: | 	 		  | Совершенно верно. Я простой пользователь. | 	   
 
Для простого пользователя алгоритм действий чуть чуть другой...
 
Напишите заявку вашим программистам.   | 	  
 
 
Они скрываются от всех)) А если серьёзно - то это долгий процесс согласования и т.д. может пол года занять)) | 
			 
		  | 
	 
	
		  | 
	 
	
		Матвеев Евгений Профи
 
  Вступление в Клуб: 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    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| А как мне его исполнить? у меня прав нет! или  поможет? | 
			 
		  | 
	 
	
		  | 
	 
	
		Матвеев Евгений Профи
 
  Вступление в Клуб: 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, с осознанными целями... как то правки закрытого от редактирования кода ЦФТ | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |