| 
 
  
	| Данные добавляется повторно На страницу 1, 2  След.
 
 |  
	
		| Предыдущая тема :: Следующая тема |  
		| Автор | Сообщение |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Чт Авг 27, 2015 15:39   Данные добавляется повторно |   |  
				| Полезность: Нет оценки 
 |  
				| Добрый день . Написал процедуру такую. 
 
  	  | Код: |  	  | PROCEDURE GET_ZLG_HOME_PROP_DATA(P_ZALOG REF [ZALOG]) IS ZAYAVKA REF [DECL_ON_GET_CRED];
 ANKET   REF [VTA_CARDLOAN_APP];
 rec          rec_tab;
 C_ZALOG VARCHAR;
 BEGIN
 BEGIN SELECT C(C.PART_TO_LOAN.PRODUCT : PRD) IN ::[ZALOG] WHERE C%ID = P_ZALOG%ID INTO C_ZALOG;
 EXCEPTION WHEN OTHERS THEN NULL;
 END;
 
 BEGIN
 LOCATE ZAYAVKA IN ::[DECL_ON_GET_CRED]  WHERE ZAYAVKA.[DECL_PRD] = C_ZALOG;
 LOCATE ANKET IN ::[VTA_CARDLOAN_APP] WHERE ANKET.[APP_REF] = ZAYAVKA%ID;--'300110049';
 EXCEPTION WHEN OTHERS THEN
 NULL;
 END;
 C := 0;
 FOR (SELECT Z(Z.[NAME_PROP]  : NAME_PR,
 Z.[AMT_PROP]   : CNT_PROP,
 Z.[PRICE_PROP] : PRC_PROP,
 Z.[SUM_PROP]   : SUM_PROP) IN  ANKET.[HOME_PROP] ALL
 )
 LOOP
 C := C + 1;
 rec(C).name := Z.NAME_PR;
 rec(C).cnt := Z.CNT_PROP;
 rec(C).price := Z.PRC_PROP;
 rec(C).summ := Z.SUM_PROP;
 
 FOR C IN REC.first..REC.last
 LOOP
 V_HOME_PR_NAME := rec(C).name;
 V_HOME_PR_CNT := rec(C).cnt;
 V_HOME_PR_PRC := rec(C).price;
 V_HOME_PR_SUM := rec(C).summ;
 END LOOP;
 
 --word.add_tabrow(2);
 --word.Set_CellValue (2, 1, C);
 --word.Set_CellValue (2, 2, V_HOME_PR_NAME);
 --word.Set_CellValue (2, 3, V_HOME_PR_CNT);
 --word.Set_CellValue (2, 4, V_HOME_PR_PRC);
 --word.Set_CellValue (2, 5, V_HOME_PR_SUM);
 
 END LOOP;
 END;
 | 
 
 Так как не заработал добавление строк , закомментировал и в клиент-скрипте кое-что добавил.
 
 
  	  | Код: |  	  | '#include ::[RUNTIME].[MSWORD_SCRIPT] 
 Public Function Main(LastControl)
 On Error Resume Next
 If LastControl is OK then
 cnt = GetData("COUNT")
 
 if cnt > 0 then
 i = 1
 
 for i = 1 to cnt
 if PrintWordDoc = False then
 Main = False
 Exit Function
 end if
 next
 
 MsgBox "Kolichestvo raspechatannix dogovorov: " + cnt, vbOKOnly & vbInformation, "Pechat uspeshno zakonchena"
 else
 MsgBox "Net informacii o poruchitelyax!", vbOKOnly & vbInformation, "Danniye otsutstvuyut"
 end if
 End If
 
 Main = True ' Rezul`tiruyushhee znachenie validatora (True ili False)
 End Function
 
 Public function PrintWordDoc
 if not OpenWordDoc(WrdApp, WrdDoc, GetData("REPORTFILE")) then
 'MsgBox "Can not open file!"
 PrintWordDoc = False
 Exit Function
 end if
 
 dim FieldsColl
 set FieldsColl = WrdApp.ActiveDocument.FormFields
 if FieldsColl.Count >= 1 then
 for Each aField in FieldsColl
 Text4Setting = GetData(aField.Name)
 if Text4Setting = "" then
 Text4Setting = " "
 end if
 if Len(Text4Setting) > 255 _
 or instr(1, Text4Setting, vbLF, vbBinaryCompare) > 0 _
 then
 WrdDoc.FormFields(aField.Name).Select
 Call WrdApp.Selection.TypeText(Text4Setting)
 else
 aField.Result = Text4Setting
 end if
 next
 end If
 
 if CRED_CODE = "RC6007" then
 for row = 1 to GetData("CNT")
 WrdDoc.Tables(2).Rows.Add
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 1).Range.InsertAfter(GetData("CNT"))
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 2).Range.InsertAfter(GetData("HOME_PR_NAME"))
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 3).Range.InsertAfter(GetData("HOME_PR_CNT"))
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 4).Range.InsertAfter(GetData("HOME_PR_PRC"))
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 5).Range.InsertAfter(GetData("HOME_PR_SUM"))
 next
 end if
 
 'call SetWordVisible(WrdApp, WrdDoc)' pokazat` dokument
 'WrdDoc.ExportAsFixedFormat "C:\Temp\main_doc.pdf",  17, true, 0, 0,1, 1, 0, True,True, 0, True, True, False
 if CRED_CODE = "SM1001" then
 WrdDoc.ExportAsFixedFormat "C:\Temp\main_doc.pdf",  17, true, 0, 0,1, 1, 0, True,True, 0, True, True, False
 else
 call SetWordVisible(WrdApp, WrdDoc)' pokazat` dokument
 end If
 PrintWordDoc = True
 End function
 | 
 
 и в проверке вызываю процедуру и
 
 
  	  | Код: |  	  | elsif p_info = 'HOME_PR_NAME' then P_DATA := V_HOME_PR_NAME;
 V_HOME_PR_NAME := '';
 elsif p_info = 'HOME_PR_CNT' then
 P_DATA := V_HOME_PR_CNT;
 V_HOME_PR_CNT := '';
 elsif p_info = 'HOME_PR_PRC' then
 P_DATA := V_HOME_PR_PRC;
 V_HOME_PR_PRC := '';
 elsif p_info = 'HOME_PR_SUM' then
 P_DATA := V_HOME_PR_SUM;
 V_HOME_PR_SUM := '';
 elsif p_info = 'CNT' then
 P_DATA := C;
 C := '';
 | 
 
 Но у меня данные добавляется повторно в строках.Просьба помочь решить проблему.За ранее благодарен.
 |  |  
		|  |  
		| Матвеев Евгений Профи
 
 
 Вступление в Клуб: 31.01.2012
 
 | 
			
				|  Чт Авг 27, 2015 16:36    |   |  
				| Полезность: 1 
 |  
				| mdb можешь прислать? или в текстовом виде то что у тебя выводится?
 
 Есть мнение что у тебя не перевызывается
 PROCEDURE GET_ZLG_HOME_PROP_DATA(P_ZALOG REF [ZALOG]) IS,
 так как с клиент скрипте нет
 Call Runtime.ServerValidate(nothing, "%VAR%.V_REFRESHVARIABLE"),
 который у тебя мог бы вызвать GET_ZLG_HOME_PROP_DATA, которая в свою очередь вызывала бы
 V_HOME_PR_NAME := rec(C).name;
 V_HOME_PR_CNT := rec(C).cnt;
 V_HOME_PR_PRC := rec(C).price;
 V_HOME_PR_SUM := rec(C).summ;
 как новый комплект значений
 Как то так...
 |  |  
		|  |  
		| Матвеев Евгений Профи
 
 
 Вступление в Клуб: 31.01.2012
 
 | 
			
				|  Чт Авг 27, 2015 16:39    |   |  
				| Полезность: 1 
 |  
				| Соответственно в секции проверка разместить GET_ZLG_HOME_PROP_DATA 
 У меня вот так формировалось... (сейчас уже эту технологию не использую)
 
 elsif P_INFO = '%VAR%.V_REFRESHVARIABLE' then
 
 F1 := curcred.[CLIENT].[NAME]||' - '||ProperNumDog(curcred.[NUM_DOG])||' - '||curcred%id;--V_REFRESHVARIABLE;--V_REFRESHVARIABLE;
 F2 := curcred.[CLIENT].[NAME];-- ФИО клиента
 F3 := GetAddrClientByCred(curcred);--curcred.[CLIENT].[NAME];-- Адрес регистрации;
 F4 := StdLib.Fio(curcred.[CLIENT].[NAME], 'И О');--curcred.[CLIENT].[NAME];--||V_REFRESHVARIABLE;
 F5 := curcred.[NUM_DOG];--||V_REFRESHVARIABLE;
 F6 := to_char(curcred.[DATE_BEGIN],'dd');--curcred.[CLIENT].[NAME];--||V_REFRESHVARIABLE;
 F7 := ::[RUNTIME].[TMC_REPORTS].get_month_str(curcred.[DATE_BEGIN]);--curcred.[CLIENT].[NAME];--||V_REFRESHVARIABLE;
 F8 := to_char(curcred.[DATE_BEGIN],'yyyy');--curcred.[CLIENT].[NAME];--||V_REFRESHVARIABLE;
 |  |  
		|  |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Пт Авг 28, 2015 07:25    |   |  
				| Полезность: Нет оценки 
 |  
				| mdb файл . |  |  
		|  |  
		| vtar Эксперт
 
 
 Вступление в Клуб: 20.03.2009
 
 | 
			
				|  Пт Авг 28, 2015 09:30    |   |  
				| Полезность: Нет оценки 
 |  
				| Бро, возможно стоит сделать так
 
 
  	  | Код: |  	  | PROCEDURE GET_ZLG_HOME_PROP_DATA(P_ZALOG REF [ZALOG]) IS
 ZAYAVKA REF [DECL_ON_GET_CRED];
 ANKET   REF [VTA_CARDLOAN_APP];
 rec          rec_tab;
 C_ZALOG VARCHAR;
 BEGIN
 
 | 
 rec.Delete;
 |  |  
		|  |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Пт Авг 28, 2015 09:43    |   |  
				| Полезность: Нет оценки 
 |  
				| Я не врубился, можно по точнее ? А то я уже сегодня тоже несколько вариантов пробовал, не получился. |  |  
		|  |  
		| vtar Эксперт
 
 
 Вступление в Клуб: 20.03.2009
 
 | 
			
				|  Пт Авг 28, 2015 09:56    |   |  
				| Полезность: 1 
 |  
				|  	  | брат666 пишет: |  	  | Я не врубился, можно по точнее ? А то я уже сегодня тоже несколько вариантов пробовал, не получился. | 
 завязывай с травой, Бро
   
 Временную табличку rec очистить в начале процедуры.
 |  |  
		|  |  
		| Матвеев Евгений Профи
 
 
 Вступление в Клуб: 31.01.2012
 
 | 
			
				|  Пт Авг 28, 2015 12:28    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | брат666 пишет: |  	  | mdb файл . | 
 
 Можешь так же  выслать
 
  	  | Цитата: |  	  | PRAGMA INCLUDE([VTA_AZ_SYMBOLS].[CH]);
 | 
 ?
 |  |  
		|  |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Пт Авг 28, 2015 12:39    |   |  
				| Полезность: Нет оценки 
 |  
				| Это для использование латинских символов,точнее наших букв. Думаю что, это не нужен тебе. А так все понятно там? |  |  
		|  |  
		| Матвеев Евгений Профи
 
 
 Вступление в Клуб: 31.01.2012
 
 | 
			
				|  Пт Авг 28, 2015 13:03    |   |  
				| Полезность: 1 
 |  
				| Забодался твои макроподстановки комментировать Процесс продолжается в текущий момент
 
 Шаблон документа еще нужен...с полями
 ...
 
 Или у тебя здесь повторы?
 
  	  | Код: |  	  | if CRED_CODE = "RC6007" then
 for row = 1 to GetData("CNT")
 WrdDoc.Tables(2).Rows.Add
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 1).Range.InsertAfter(GetData("CNT"))
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 2).Range.InsertAfter(GetData("HOME_PR_NAME"))
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 3).Range.InsertAfter(GetData("HOME_PR_CNT"))
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 4).Range.InsertAfter(GetData("HOME_PR_PRC"))
 WrdDoc.Tables(2).Cell(WrdDoc.Tables(2).Rows.Last.Index, 5).Range.InsertAfter(GetData("HOME_PR_SUM"))
 next
 end if
 
 | 
 |  |  
		|  |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Пт Авг 28, 2015 13:25    |   |  
				| Полезность: Нет оценки 
 |  
				| Ты реально меня выручаешь , благодарен очень заранее . |  |  
		|  |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Пт Авг 28, 2015 15:50    |   |  
				| Полезность: Нет оценки 
 |  
				| [code]begin if P_MESSAGE = 'DEFAULT' then
 V_ADR_MASK	:= '$POST_CODE $CITY $STREET $HOUSE $KORPUS $FLAT';
 V_GRAPH_XLS	:= (nvl(::[SYSTEM_PARAMS].[GET]('CRED_GRAPH_XLS'), '0') = '1');
 V_DEFAULT	:= nvl(V_DEFAULT, true);
 V_DATE_ON	:= Oper_Day;
 P_ZAL	:= this;
 
 --GET_ZLG_HOME_PROP_DATA(THIS); -- !VTB Orkhan Huseynov 26/08/2015 11:33:27 !! |
 
 elsif P_MESSAGE = 'VALIDATE' then
 GET_ZLG_HOME_PROP_DATA(THIS);
 P_DATA := ' ';
 -- dlya obrabotki neskol`kix odinakovyx polei
 if substr(p_info, -1) in ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
 and instr(p_info, 'PRC_DEBT_CR_112') = 0 then-- Isklyuchaem kodiki okanchivayushhiesya na cifru
 p_info	:= substr(p_info, 1, length(p_info) - 1);
 end if;
 if	p_info in ('P_FILE_NAME', 'P_FILE_NAME.NAME') then
 V_DEFAULT	:= false;
 IniFileManager(P_ZAL, P_FILE_NAME, V_DEFAULT, V_FILE_MANAGER);
 elsif	p_info = '%VAR%.V_DEFAULT'
 and		V_DEFAULT then
 IniFileManager(P_ZAL, P_FILE_NAME, V_DEFAULT, V_FILE_MANAGER);
 elsif	p_info in
 ('%VAR%.V_FILE_MANAGER.SRC_MASK'
 ,'%VAR%.V_FILE_MANAGER.SRC_PATH'
 ,'%VAR%.V_FILE_MANAGER.SRC_NAME'
 )then
 if 	V_FILE_MANAGER.[SRC_NAME] != P_FILE_NAME.[NAME] then
 P_FILE_NAME	:= null;
 end if;
 V_DEFAULT	:= false;
 end if;
 
 if	p_info = 'REPORTFILE' then
 P_DATA := V_FILE_MANAGER.[SRC_NAME];--&ReportFile;--V_FILE_MANAGER.[SRC_PATH]||;
 elsif	p_info = 'REPORTPATH' then
 P_DATA := 'Z:\Doc\Credit_Card_Action_girov_mug.doc';--V_FILE_MANAGER.[SRC_PATH];--[MSLIB].GetReportPath;--'D:\DVZ\docum.dot'
 elsif p_info = 'OSN' then
 p_DATA := ::[VTA_REKV_F].[VTA_PRINTLIB].get_osn([stdlib].userid.[DEPART],nvl([stdlib].userid.[DEPART].[FILIAL_V],::[BRANCH]([CODE]='001')), [stdlib].userid,nvl(this.[DATE_BEGIN],::[SYSTEM].[OP_DATE]));
 elsif p_info = 'FIO_DIR' then
 p_DATA := ::[VTA_REKV_F].[VTA_PRINTLIB].get_fio_dir([stdlib].userid.[DEPART],nvl([stdlib].userid.[DEPART].[FILIAL_V],::[BRANCH]([CODE]='001')), [stdlib].userid,nvl(this.[DATE_BEGIN],::[SYSTEM].[OP_DATE]));
 elsif p_info = 'BANK_NAME' then
 p_DATA := ::[VTA_REKV_F].[VTA_PRINTLIB].get_bname([stdlib].userid.[DEPART],nvl([stdlib].userid.[DEPART].[FILIAL_V],::[BRANCH]([CODE]='001')), [stdlib].userid,nvl(this.[DATE_BEGIN],::[SYSTEM].[OP_DATE]));
 elsif p_info = 'BANK_ADDRES' then
 p_DATA := ::[VTA_REKV_F].[VTA_PRINTLIB].get_baddr([stdlib].userid.[DEPART],nvl([stdlib].userid.[DEPART].[FILIAL_V],::[BRANCH]([CODE]='001')), [stdlib].userid,nvl(this.[DATE_BEGIN],::[SYSTEM].[OP_DATE]));
 elsif p_info = 'BANK_VOEN' then
 p_DATA := ::[VTA_REKV_F].[VTA_PRINTLIB].get_bvoen([stdlib].userid.[DEPART],nvl([stdlib].userid.[DEPART].[FILIAL_V],::[BRANCH]([CODE]='001')), [stdlib].userid,nvl(this.[DATE_BEGIN],::[SYSTEM].[OP_DATE]));
 elsif p_info = 'BANK_FADMH' then
 p_DATA := ::[VTA_REKV_F].[VTA_PRINTLIB].get_bbik([stdlib].userid.[DEPART],nvl([stdlib].userid.[DEPART].[FILIAL_V],::[BRANCH]([CODE]='001')), [stdlib].userid,nvl(this.[DATE_BEGIN],::[SYSTEM].[OP_DATE]));
 elsif p_info = 'BANK_SWIFT' then
 p_DATA := ::[VTA_REKV_F].[VTA_PRINTLIB].get_bsw([stdlib].userid.[DEPART],nvl([stdlib].userid.[DEPART].[FILIAL_V],::[BRANCH]([CODE]='001')), [stdlib].userid,nvl(this.[DATE_BEGIN],::[SYSTEM].[OP_DATE]));
 elsif p_info = 'DOLJ' then
 p_DATA := ::[VTA_REKV_F].[VTA_PRINTLIB].get_dolj([stdlib].userid.[DEPART],nvl([stdlib].userid.[DEPART].[FILIAL_V],::[BRANCH]([code]='001')), [stdlib].userid,nvl(this.[DATE_BEGIN],::[SYSTEM].[OP_DATE]));
 
 elsif p_info = 'HOME_PR_NAME' then
 P_DATA := V_HOME_PR_NAME;
 --V_HOME_PR_NAME := '';
 elsif p_info = 'HOME_PR_CNT' then
 P_DATA := V_HOME_PR_CNT;
 --V_HOME_PR_CNT := '';
 elsif p_info = 'HOME_PR_PRC' then
 P_DATA := V_HOME_PR_PRC;
 --V_HOME_PR_PRC := '';
 elsif p_info = 'HOME_PR_SUM' then
 P_DATA := V_HOME_PR_SUM;
 --V_HOME_PR_SUM := '';
 elsif p_info = 'CNT' then
 P_DATA := C;
 --	C := '';
 --END IF;
 end if;
 end if;
 end;[/code]
 
 вот сокращенный код, не надо с лишними разобраться.пока что у меня не хляет
  |  |  
		|  |  
		| Матвеев Евгений Профи
 
 
 Вступление в Клуб: 31.01.2012
 
 | 
			
				|  Пт Авг 28, 2015 15:53    |   |  
				| Полезность: 1 
 |  
				| Я правильно понимаю в таблице у тебя повтор всегда по последнему элементу массива 
 V_HOME_PR_NAME := rec(rec.last).name;
 V_HOME_PR_CNT := rec(rec.last).cnt;
 V_HOME_PR_PRC := rec(rec.last).price;
 V_HOME_PR_SUM := rec(rec.last).summ;
 
 ???
 
 
  	  | Код: |  	  | FOR (SELECT Z(Z.[NAME_PROP]  : NAME_PR,
 Z.[AMT_PROP]   : CNT_PROP,
 Z.[PRICE_PROP] : PRC_PROP,
 Z.[SUM_PROP]   : SUM_PROP) IN  ANKET.[HOME_PROP] ALL
 )
 LOOP
 C := C + 1;
 rec(C).name := Z.NAME_PR;
 rec(C).cnt := Z.CNT_PROP;
 rec(C).price := Z.PRC_PROP;
 rec(C).summ := Z.SUM_PROP;
 
 FOR C IN REC.first..REC.last
 LOOP
 V_HOME_PR_NAME := rec(C).name;
 V_HOME_PR_CNT := rec(C).cnt;
 V_HOME_PR_PRC := rec(C).price;
 V_HOME_PR_SUM := rec(C).summ;
 END LOOP;
 
 --word.add_tabrow(2);
 --word.Set_CellValue (2, 1, C);
 --word.Set_CellValue (2, 2, V_HOME_PR_NAME);
 --word.Set_CellValue (2, 3, V_HOME_PR_CNT);
 --word.Set_CellValue (2, 4, V_HOME_PR_PRC);
 --word.Set_CellValue (2, 5, V_HOME_PR_SUM);
 
 END LOOP;
 END;
 | 
 |  |  
		|  |  
		| Матвеев Евгений Профи
 
 
 Вступление в Клуб: 31.01.2012
 
 | 
			
				|  Пт Авг 28, 2015 20:03    |   |  
				| Полезность: 1 
 |  
				| Дабы сильно не менять структуру кода, можно сделать следующее: 
 1. Индексированный массив rec rec_tab; перемести из функции GET_ZLG_HOME_PROP_DATA просто в глобальные описания... например вот так:
 
 
  	  | Код: |  	  | type rec_tab is table of TRepLine;
 rec          rec_tab;
 
 V_HOME_PR_NAME  VARCHAR;
 V_HOME_PR_CNT   VARCHAR;
 V_HOME_PR_PRC   VARCHAR;
 V_HOME_PR_SUM   VARCHAR;
 C             INTEGER;
 
 | 
 
 2. В начале функции GET_ZLG_HOME_PROP_DATA чисть массив rec, дабы при повторных вызовах не было путаницы
 
 
  	  | Код: |  	  | 
 PROCEDURE GET_ZLG_HOME_PROP_DATA(P_ZALOG REF [ZALOG]) IS
 ZAYAVKA REF [DECL_ON_GET_CRED];
 ANKET   REF [VTA_CARDLOAN_APP];
 C_ZALOG VARCHAR;
 BEGIN
 rec.delete;
 
 | 
 
 3. Там же (см.п.1) заведи переменную, текущий указатель элемента индексированного массива
 
  	  | Код: |  	  | type rec_tab is table of TRepLine;
 rec          rec_tab;
 cur_rec_num number := 1;
 
 | 
 
 4. Конечно не очень хорошо по каждому обращению вызывать GET_ZLG_HOME_PROP_DATA, я бы перенес ... но ладно, можно оставить
 
  	  | Код: |  	  | elsif P_MESSAGE = 'VALIDATE' then
 GET_ZLG_HOME_PROP_DATA(THIS);
 P_DATA := ' ';
 
 | 
 
 5. В секцию проверка добавить
 
  	  | Код: |  	  | if   p_info = 'OK' then
 cur_rec_num := 1;
 end if;
 
 | 
 
 6. Код
 
 
  	  | Код: |  	  | elsif p_info = 'HOME_PR_NAME' then
 P_DATA := V_HOME_PR_NAME;
 V_HOME_PR_NAME := '';
 elsif p_info = 'HOME_PR_CNT' then
 P_DATA := V_HOME_PR_CNT;
 V_HOME_PR_CNT := '';
 elsif p_info = 'HOME_PR_PRC' then
 P_DATA := V_HOME_PR_PRC;
 V_HOME_PR_PRC := '';
 elsif p_info = 'HOME_PR_SUM' then
 
 P_DATA := V_HOME_PR_SUM;
 V_HOME_PR_SUM := '';
 elsif p_info = 'CNT' then
 P_DATA := C;
 C := '';
 
 end if;
 
 | 
 
 Поменять на такой
 
 
  	  | Код: |  	  | elsif p_info = 'HOME_PR_NAME' then
 if cur_rec_num <= rec.count rhen
 P_DATA := rec(cur_rec_num).name;--V_HOME_PR_NAME;
 end if;
 V_HOME_PR_NAME := '';
 elsif p_info = 'HOME_PR_CNT' then
 if cur_rec_num <= rec.count rhen
 P_DATA := rec(cur_rec_num).cnt;--V_HOME_PR_CNT;
 end if;
 V_HOME_PR_CNT := '';
 elsif p_info = 'HOME_PR_PRC' then
 if cur_rec_num <= rec.count rhen
 P_DATA := rec(cur_rec_num).price;--V_HOME_PR_PRC;
 end if;
 V_HOME_PR_PRC := '';
 elsif p_info = 'HOME_PR_SUM' then
 if cur_rec_num <= rec.count rhen
 P_DATA := rec(cur_rec_num).summ;--V_HOME_PR_SUM;
 end if;
 V_HOME_PR_SUM := '';
 cur_rec_num := cur_rec_num + 1;
 elsif p_info = 'CNT' then
 P_DATA := C;
 C := '';
 end if;
 
 | 
 
 Должно заработать
 |  |  
		|  |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Пн Авг 31, 2015 08:21    |   |  
				| Полезность: Нет оценки 
 |  
				| Спасибо большое, заработал. |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |