| 
 
  
	| Урок 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 года
 
 Может наоборот, ЦФТ что то новое запилил в области нано технологий клиентской валидации
  |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |