Урок PL/PLUS. Печать в Word
На страницу Пред. 1, 2
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
omela Участник со стажем
Вступление в Клуб: 01.07.2008
|
Пт Авг 19, 2011 15:04  Re: Урок PL/PLUS. Печать в Word |
|
Полезность: Нет оценки
|
Много примеров, как печатать в Word, а вот как сделать элементарные вещи при печати текста - нигде примеров не нашла
Например, надо цвет, размер и формат написания (жирный, курсив) шрифта поменять при выводе в таблицу Word.
Может кто-то подобное делал ))) _________________ Трехглазый передает привет банкирам, и желает им долгого здравия (:. |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Пт Авг 19, 2011 16:47   |
|
Полезность: Нет оценки
|
Штатно, жирный:
Код: | table(i).COLUMN1 := '[BOLD]~'||'Жирный'; |
Все остальное на VBA. |
|
 |
Mourinjo Участник со стажем
Вступление в Клуб: 21.12.2010
|
Вт Сен 10, 2013 16:10   |
|
Полезность: Нет оценки
|
А почему в секции Валидейт ? Я думаю, что бизнес-код лучше перемести в DEFAULT |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Вт Сен 10, 2013 16:16   |
|
Полезность: Нет оценки
|
Mourinjo пишет: | А почему в секции Валидейт ? Я думаю, что бизнес-код лучше перемести в DEFAULT | Потому что только при валидации в операциях запускается на исполнение клиентская часть. Причем в серверной она заполняется в некую переменную, в клиентской может быть дополнена и исполнена.
В принципе заполнение VBScript в переменную можно внести и в теле, но для исполнения придется через PLPCALL запустить операцию EXCEL_RUN с передачей ей значения в параметр P_VBS
На мой взгляд в секции валидация реализовать проще. _________________ всегда есть как минимум 2 выхода |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Вт Сен 10, 2013 16:41   |
|
Полезность: Нет оценки
|
Alexsey пишет: | придется через PLPCALL запустить операцию EXCEL_RUN |
тема про WORD, казалось бы ...
Интересно, а для WORD аналогичный способ пуска из тела операции не реализован великой корпорацией добра из трех букв ? |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Ср Сен 11, 2013 06:20   |
|
Полезность: Нет оценки
|
Alexsey пишет: | Mourinjo пишет: | А почему в секции Валидейт ? Я думаю, что бизнес-код лучше перемести в DEFAULT | Потому что только при валидации в операциях запускается на исполнение клиентская часть. Причем в серверной она заполняется в некую переменную, в клиентской может быть дополнена и исполнена.
В принципе заполнение VBScript в переменную можно внести и в теле, но для исполнения придется через PLPCALL запустить операцию EXCEL_RUN с передачей ей значения в параметр P_VBS
На мой взгляд в секции валидация реализовать проще. |
По-моему, ты путаешь секцию валидации, часть DEFAULT, секцию валидации, часть VALIDATE и тело операции.
Секция валидации выполняется:
- со значением P_MESSAGE = 'DEFAULT' - в случае, если операция стартуется из АРМ Навигатор пользователем из меню (мне кажется, именно это имела в виду Mourinjo).
- со значениями p_message = 'VALIDATE' and p_info = '%PLPCALL%' - в случае, если операция стартуется в АРМ Навигатор скриптом VB или через stdio.put_line_buf другой операцией (заметьте - не default!!!)
Тело операции выполняется:
- в случае если пользователь на ЭФ нажал кнопку OK
- в случае, если в коде операции есть вызов операции в виде [ТИП].[ИМЯ](параметры); |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Ср Сен 11, 2013 08:43   |
|
Полезность: Нет оценки
|
цитирую документацию
Следует иметь в виду, что, подразумевая возможные вызовы операции через оператор PLPCALL можно реализовать в секции "Проверка" дополнительные эпизоды валидации. В момент такого вызова операции сначала параметр p_message принимает значение 'DEFAULT', а параметр p_info – значение '%PLPCALL%'. Затем происходит присвоение значений параметров, указанных в строке вызова, а затем возникает событие валидации, при котором p_message принимает значение 'VALIDATE', а параметр p_info – так же значение '%PLPCALL%'.
....
Существует возможность вызывать процедуру проверки параметров операции (кода, заданного в секции "Проверка"). Такой вызов осуществляется путем разыменования через синтаксис блокирующего обращения по ссылке (операторы '=>' и '%=>'). При этом следует иметь в виду, что все параметры операции являются универсальными ("IN OUT"), независимо от того, как они описаны в свойствах для исполняемого кода – секции "Тело", и первые два параметра всегда строковые и именуются p_message и p_info. Поэтому перед вызовом кода проверки нужно позаботиться о правильной инициализации значений этих параметров.
Код: |
v_this ref [< текущий ТБП >];
begin
if this is not null then
v_this := this;
v_this=>[NEW#AUTO](p_message, p_info, < параметры операции >);
end if;
end;
|
|
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Ср Сен 11, 2013 11:52   |
|
Полезность: Нет оценки
|
vtar пишет: | цитирую документацию
Следует иметь в виду, что, подразумевая возможные вызовы операции через оператор PLPCALL можно реализовать в секции "Проверка" дополнительные эпизоды валидации. В момент такого вызова операции сначала параметр p_message принимает значение 'DEFAULT', а параметр p_info – значение '%PLPCALL%'. Затем происходит присвоение значений параметров, указанных в строке вызова, а затем возникает событие валидации, при котором p_message принимает значение 'VALIDATE', а параметр p_info – так же значение '%PLPCALL%'.
....
Существует возможность вызывать процедуру проверки параметров операции (кода, заданного в секции "Проверка"). Такой вызов осуществляется путем разыменования через синтаксис блокирующего обращения по ссылке (операторы '=>' и '%=>'). При этом следует иметь в виду, что все параметры операции являются универсальными ("IN OUT"), независимо от того, как они описаны в свойствах для исполняемого кода – секции "Тело", и первые два параметра всегда строковые и именуются p_message и p_info. Поэтому перед вызовом кода проверки нужно позаботиться о правильной инициализации значений этих параметров.
Код: |
v_this ref [< текущий ТБП >];
begin
if this is not null then
v_this := this;
v_this=>[NEW#AUTO](p_message, p_info, < параметры операции >);
end if;
end;
|
|
Документация документацией, а практика практикой. Впрочем, возможно, мои знания уже устарели.
Предлагаю эксперимент - операция с секцией валидации Код: | begin
debug_pipe('p_message = '||p_message, 0);
debug_pipe('p_info = '||p_info, 0);
end; |
и поэкспериментировать с разными вызовами этой операции. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Ср Сен 11, 2013 13:25   |
|
Полезность: Нет оценки
|
Random пишет: | возможно, мои знания уже устарели.
|
документ от 2009 года
Может наоборот, ЦФТ что то новое запилил в области нано технологий клиентской валидации  |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|