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

Переполнение строки валидации.Списочная печать в word

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


Вступление в Клуб: 06.10.2014
СообщениеПн Окт 06, 2014 15:24   Переполнение строки валидации.Списочная печать в word Ответить с цитатой
Полезность: Нет оценки
Товарищи,доброго времени суток! Столкнулся с проблемой при печати документов в ворд. В строку валидации длиной 32000 входит мало данных, поэтому печатается не все

Проверка
if P_MESSAGE = 'DEFAULT' then
Init_WRD;
V_DEST := '';
p_info:= 'OK';
end if;

if P_MESSAGE = 'VALIDATE' then


if P_INFO = 'OK' Then
P_info := 'Печать в ворд';
end if;
if P_INFO = 'Печать в ворд' then
if f_click then
dol_ruk := RUK_PODP.[CASTA].[VALUE];
fio_ruk := RUK_PODP.[NAME];
fio_isp := stdlib.userid.[NAME];
tel_isp := P_TEL_ISP;
depart := dep_ref.[NAME];
oper_day := to_char(P_DATE_OP, 'DD.MM.YYYY');

Draw(this);

f_click := false;
if Exec_Script(V_DEST) = 'DONE' then
&debug('Вывод данных завершен',0);
end if;
end if;
--WORD.row_out:=1;
end if;
end if;

Локальные описания

procedure Draw(Tab TTable) is
CachAtm ref [BILL_DOCUM];
cnt_all number:=0;
begin
open_file ('c:\Локальные документы\templateDV.dot' ,false);

for I in Tab.first .. Tab.last loop
CachAtm:=Tab(I);
cnt_all:=cnt_all+1;
Add_TabRow(2);
Set_CellValue(2,1,to_char(I));
Set_CellValue(2,2, CachAtm.[sum_dt]);
Set_CellValue(2,3,to_char(CachAtm.[ORIG_DOC].[DATA_OP], 'DD.MM.YYYY'));
Set_CellValue(2,4,CachAtm.[FILE_IN].[FILE_REQ].[NUM]);
Set_CellValue(2,5,to_char(CachAtm.[ORIG_DOC].[DATA_OP], 'DD.MM.YYYY'));
Set_CellValue(2,6,to_char(CachAtm.[NAZN]));


end loop;
Saveas('c:\Локальные документы\1.doc');
visible;
release;
stdio.put_line_buf('Выполнено '||cnt_all||' из '||Tab.count);

--WORD.End_Work_With_Table;
end;

клиент-скрипт

Public Sub Exe
Do
execute V_DEST.Text
V_DEST.Text =""
Call Runtime.ServerValidate(PrintWord, "Печать в ворд")
loop While V_DEST.Text <> ""
end sub

Public Function Main(LastControl)
' if LastControl is nothing then

if LastControl is OK then
Do
MsgBox(V_DEST)
Execute V_DEST.text
V_DEST.Text = ""

loop While V_DEST.Text <> ""
end If
Main = True 'Результат валидатора (True, False, NULL)
End Function

Подскажите, пожалуйста, как справиться! заранее спасибо


Последний раз редактировалось: Oleg001 (Вт Окт 07, 2014 07:36), всего редактировалось 1 раз
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Окт 07, 2014 06:14   Re: Переполнение строки валидации.Списочная печать в word Ответить с цитатой
Полезность: Нет оценки
Oleg001 пишет:
Товарищи,доброго времени суток! Столкнулся с проблемой при печати документов в ворд. В строку валидации длиной 32000 входит мало данных, поэтому печатается не все
...
Подскажите, пожалуйста, как справиться! заранее спасибо


Справиться можно, выполняя (формируя) скрипт частями.
У Вас в коде зачем-то тут цикл, не так ли? Но чего-то в нём не хватает:
Do
MsgBox(V_DEST)
Execute V_DEST.text
V_DEST.Text = ""

loop While V_DEST.Text <> ""
Oleg001
Участник


Вступление в Клуб: 06.10.2014
СообщениеВт Окт 07, 2014 06:29   Re: Переполнение строки валидации.Списочная печать в word Ответить с цитатой
Полезность: Нет оценки
Random пишет:

Справиться можно, выполняя (формируя) скрипт частями.
У Вас в коде зачем-то тут цикл, не так ли? Но чего-то в нём не хватает:
Do
MsgBox(V_DEST)
Execute V_DEST.text
V_DEST.Text = ""

loop While V_DEST.Text <> ""


То есть нужно в VALIDATE отправлять данные в V_DEST частями? Как это сделать? Помогите, пожалуйста, а то я с этим впервые имею дело
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Окт 07, 2014 09:54   Re: Переполнение строки валидации.Списочная печать в word Ответить с цитатой
Полезность: Нет оценки
Oleg001 пишет:
То есть нужно в VALIDATE отправлять данные в V_DEST частями? Как это сделать? Помогите, пожалуйста, а то я с этим впервые имею дело

Вообще говоря, всё уже давно написано за вас. Есть операции для вывода данных в word, excel - ::[RUNTIME].[WORD_RUN] и
::[RUNTIME].[EXCEL_RUN].

Может быть, проще операцией WORD_RUN и воспользоваться?

Тогда для примера можно посмотреть INTEGR_FORMS.F_901, только там EXCEL_RUN используется, но принцип один.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
Страница 1 из 1

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