Учусь. Печать в Word
На страницу Пред. 1, 2
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пн Фев 18, 2013 16:08   |
|
Полезность: Нет оценки
|
да, так получится 2 расширения. Да, это увеличит локальные объекты. С печатью из продукта - да не вопрос, забрать права на дистрибутивную печаталку - пользователь будет видеть только локальную операцию.
p.s. Метод через хук , конечно, самый правильный. |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Пн Фев 18, 2013 16:26   |
|
Полезность: Нет оценки
|
vtar пишет: | да, так получится 2 расширения. Да, это увеличит локальные объекты. С печатью из продукта - да не вопрос, забрать права на дистрибутивную печаталку - пользователь будет видеть только локальную операцию.
p.s. Метод через хук , конечно, самый правильный. |
Ну а можно же сделать свою печать - забрать права из дистрибутивной. В итоге +1 локальный объект, а не 2 и так в каждом продукте где нужно покромсать стандартную печать. В общем конечно есть варианты. Соглашусь что хук более правильно - накидать своих кодеков. Но не все вопросы можно решить, особенно если нужен какой то продвинутый анализ перед началом печати. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пн Фев 18, 2013 16:32   |
|
Полезность: Нет оценки
|
Gobur пишет: | Ну а можно же сделать свою печать - забрать права из дистрибутивной. В итоге +1 локальный объект, а не 2 |
ну так ему же очень хочеццо
Toe пишет: | Просто хочется как "по умолчанию" при регистрации доверенности поставить в форме галочку "Печать" и она печатается, а так придется просто выбирать операцию. |
|
|
 |
Toe Участник
Вступление в Клуб: 14.02.2013
|
Вт Фев 19, 2013 08:59   |
|
Полезность: Нет оценки
|
vtar пишет: | Если нужно перехватить вызов стандартной печаталки и подставить свою (PRINT_WRD_1) , например, из "Добавить" - сделать раширение, в теле :
[code]
begin
if V_PRINT_WRD then
V_PRINT_WRD :=FALSE;
V_PRINT_LOC := TRUE;
end if;
&BASE$SETVARS;
&BASE$EXECUTE;
if nvl(V_PRINT_LOC, false) then
var PrnOper ref [VID_OPER_DOG];
begin
locate PrnOper in ::[VID_OPER_DOG] all where PrnOper.[code] = 'PRN_TRUST_FOR_PROD';
exception when others then
PrnOper := null;
end;
stdio.put_line_buf('<% PLPCALL %THIS%.[PRINT_WRD_1](P_PRN_OPER => '''||PrnOper||''')%>');
end if;
end;
[/code] |
Спасибо
Получилось. Когда до конца сделаю, сообщу.
Мне интересно, что за хуки. Если уж учиться, то учиться. |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Чт Мар 28, 2013 06:01   |
|
Полезность: Нет оценки
|
Чтоб не начинать новую тему спрошу здесь.
Как все таки правильно пользоваться filltables при заполнении в Word. На стороне Оракл взял код из векселей. единственно не могу понять какой объект все же должен быть в самом word. |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Чт Мар 28, 2013 16:59   |
|
Полезность: Нет оценки
|
возможно кто то предложит сови варианты по выводу табличной информации с переменным кол-вом строк в word |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Пт Мар 29, 2013 10:02   |
|
Полезность: Нет оценки
|
да, спасибо. Уже реализовал и стандартным ЦФТ и тупо в клиент скрипте (правда для этого пришлось на форму закинуть строковую переменную, в которую сохранять таблицу значений).
Код: |
Call SetBracketsFields(WrdApp, W,"TABLE" )
i = 0
rowscount=3
rr = 0
dim a(61,6) 'неуниверсальная фишка))
d = split(Text20.Value,"&")
for i= 0 to ubound(d)
ee = split(d(i),";")
' a(i,0) =i
a(i,1) =ee(0)
a(i,2) =ee(1)
a(i,3) =ee(2)'formatnumber(ee(5),2)
a(i,4) =ee(3)'formatnumber(ee(3),2)
a(i,5) =ee(4)'formatnumber(ee(4),2)
a(i,6) =ee(5)'formatnumber(ee(2),2)
'sum4 = sum4 + ccur(a(i,4))
'sum5 = sum5 + ccur(a(i,5) )
'sum6 = sum6 + ccur(a(i,6))
next
For i = 2 To ubound(d) + 1
W.Tables(table_start_num).Rows.Add
columnsCount = W.Tables(table_start_num).Columns.Count
For j=1 to columnsCount
W.Tables(table_start_num).Cell(i, j).Range.InsertBefore(a(i-2,j))
Next
rr = rr + 1
Next
|
|
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Пт Мар 29, 2013 18:24   |
|
Полезность: Нет оценки
|
Для большей универсальности можно использовать массив EE, который создается динамически . А вывод в таблицу можно также перенести в свою библиотеку работы с Вордом (у нас пока нет). |
|
 |
Bens Участник со стажем
Вступление в Клуб: 19.04.2013
|
Вт Фев 10, 2015 12:19   |
|
Полезность: Нет оценки
|
Всем доброго времени суток.
Подыму ка я тему, т.к. не все понял про хуки.
Вопросы:
1. Не понятен механизм вызова хуков. В предыдущих постах написано что для Печати доверенностей расширением является TRUST_GET, Для печати в Word из депозитов DEPN_GET. По каким признакам это видно???
У меня проблема такая как и топикстартера: добавление кодиков при "Печати документа в WORD" из РКО.
2. Что за справочник "Расширения и перекрытия. Точки вызова" и как с ним работать? |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Вт Фев 10, 2015 13:14   |
|
Полезность: Нет оценки
|
Bens пишет: | Всем доброго времени суток.
Подыму ка я тему, т.к. не все понял про хуки.
Вопросы:
1. Не понятен механизм вызова хуков. В предыдущих постах написано что для Печати доверенностей расширением является TRUST_GET, Для печати в Word из депозитов DEPN_GET. По каким признакам это видно???
У меня проблема такая как и топикстартера: добавление кодиков при "Печати документа в WORD" из РКО.
2. Что за справочник "Расширения и перекрытия. Точки вызова" и как с ним работать? |
Код: |
&debug('Получение значения тэга из Точки Расширения', 1)
RetVal := [HOOK]::[DEPN_PRINT]
|
В справочнике "Расширения и перекрытия ..." уже по этому коду указан метод (операция) |
|
 |
Bens Участник со стажем
Вступление в Клуб: 19.04.2013
|
Вт Фев 10, 2015 15:14   |
|
Полезность: Нет оценки
|
Выше говорилось что операция расширение для печати в Word из депазитов это DEPN_GET . А вы пишите про DEPN_PRINT. Теперь я совсем запутался(( |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|