| Предыдущая тема :: Следующая тема | 
	
	
		| Автор | Сообщение | 
	
		| yaffil Профи
 
 
 Вступление в Клуб: 18.08.2011
 
 | 
			
				|  Вт Ноя 08, 2011 13:00   Печать Word |   |  
				| Полезность: Нет оценки 
 |  
				| Убился уже искать ошибку, все галочки уже перепроверил со штатными ЦФТ шными отчётами Word - всё совпадает, но на моей операции выдается ошибка "Не могу открыть файл", я уже в лоб прописал его и на C:\ выложил, все равно не видит. Где может собака порыться ещё?
 Текст Клиент-Скрипта:
 
 
  	  | Код: |  	  | '#include ::[RUNTIME].[MSWORD_SCRIPT]
 Public Function Main(LastControl)
 On Error Resume Next
 
 If LastControl is OK then
 f = "c:\KAV_KL_VS.doc"
 if not OpenWordDoc(WrdApp, WrdDoc, f ) then '--GetData("REPORTFILE")
 MsgBox "Не могу открыть файл!" & f
 Main = 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
 Call aField.TypeText(Text4Setting)
 else
 aField.Result = Text4Setting
 end if
 next
 end If
 
 call SetWordVisible(WrdApp, WrdDoc)
 End If
 Main = True
 End Function
 
 | 
 |  | 
	
		|  | 
	
		| markoff Участник - экстремал
 
 
 Вступление в Клуб: 09.06.2009
 
 | 
			
				|  Вт Ноя 08, 2011 13:11    |   |  
				| Полезность: Нет оценки 
 |  
				| Зайдите на в форму операций и проставте кнопке OK значение CheckValidate равным true |  | 
	
		|  | 
	
		| vtar Эксперт
 
 
 Вступление в Клуб: 20.03.2009
 
 | 
			
				|  Вт Ноя 08, 2011 13:25   Re: Печать Word |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Код: |  	  | 
 Public Function Main(LastControl)
 On Error Resume Next
 
 If LastControl is OK then
 
 f = "c:\!\KAV_KL_VS.doc"
 Set W = GetObject(f)
 If Err.Number = 440 Or Err.Number = 432 Then
 Msg = "Проверьте правильность указания пути и имени файла"
 MsgBox Msg, , "Не удается открыть файл"
 Err.Clear
 Main = False
 Exit Function
 
 End If
 W.Application.Visible = True
 
 MsgBox "OK!"
 
 End If
 Main = True
 End Function
 | 
 |  | 
	
		|  | 
	
		| yaffil Профи
 
 
 Вступление в Клуб: 18.08.2011
 
 | 
			
				|  Вт Ноя 08, 2011 15:16    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | markoff пишет: |  	  | Зайдите на в форму операций и проставте кнопке OK значение CheckValidate равным true | 
 
 Галка стоит. С точки зрения галок и крыжиков я всё проверил с ЦФТ шными.
 
 
 Вставил Ваш код, получил ошибку:
 Проверьте правильность указания пути и имени файла
 
 Исправил f = "c:\!\KAV_KL_VS.doc" на f = "c:\KAV_KL_VS.doc" написал: OK!
 Но  шаблон поднялся шаблоном, без заполнения.
 
 П.С. может ещё кто знает есть ли фукнция преобразования даты прописью. Надо "ВОСЬМОЕ НОЯБРЯ ДВЕ ТЫСЯЧИ ОДИННАДЦАТОГО ГОДА"
 |  | 
	
		|  | 
	
		| pas Профи
 
 
 Вступление в Клуб: 20.11.2007
 
 | 
			
				|  Вт Ноя 08, 2011 16:31    |   |  
				| Полезность: 1 
 |  
				|  	  | yaffil пишет: |  	  | П.С. может ещё кто знает есть ли фукнция преобразования даты прописью. Надо "ВОСЬМОЕ НОЯБРЯ ДВЕ ТЫСЯЧИ ОДИННАДЦАТОГО ГОДА" | 
 ::[RUNTIME].[TMC_REPORTS].get_month_str есть что то подобное.
 На основе этого можно свое накатать.
 
 или разбить дату на три переменных DD, MM, YYYY и сравнивать
 если DD=01 то первое
 ...
 если MM=01 то января
 ...
 |  | 
	
		|  | 
	
		| yaffil Профи
 
 
 Вступление в Клуб: 18.08.2011
 
 | 
			
				|  Вт Ноя 08, 2011 17:46    |   |  
				| Полезность: Нет оценки 
 |  
				| Всем спасибо, Word заработал. Проблема была на форме в ValidateName, назвал данную переменную для вывода данных как в другой форме TextData. Хотя так и не понял почему заработало, ведь в клиент скрипте такой переменной вообще нет, почему она именно к тому названию прилипла.
 
 ::[RUNTIME].[TMC_REPORTS].get_month_str  - посмотрю завтра.
 |  | 
	
		|  | 
	
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Ср Ноя 09, 2011 08:26    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | yaffil пишет: |  	  | назвал данную переменную для вывода данных как в другой форме TextData. Хотя так и не понял почему заработало, ведь в клиент скрипте такой переменной вообще нет, почему она именно к тому названию прилипла.
 
 | 
 
 MSWORD_SCRIPT
 |  | 
	
		|  | 
	
		| yaffil Профи
 
 
 Вступление в Клуб: 18.08.2011
 
 | 
			
				|  Ср Ноя 09, 2011 15:25    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Volod пишет: |  	  | MSWORD_SCRIPT | 
 
 Спасибо. Там нашел
 
  	  | Код: |  	  | Call Form1.ScriptServerValidate( TextData, ReqvName )
 
 | 
 
 Очень интересная реализация - искать конкретную переменную
  |  | 
	
		|  | 
	
		| maestro Профи
 
 
 Вступление в Клуб: 12.10.2010
 
 | 
			
				|  Ср Ноя 09, 2011 15:45    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | yaffil пишет: |  	  |  	  | Volod пишет: |  	  | MSWORD_SCRIPT | 
 
 Спасибо. Там нашел
 
  	  | Код: |  	  | Call Form1.ScriptServerValidate( TextData, ReqvName )
 
 | 
 
 Очень интересная реализация - искать конкретную переменную
  | 
 
 Мне лично тож не нравится постоянно дергать сервер, требуя точечное значение.
 
 Можешь, как вариант, формировать массив параметров, передавать его на клиента, и уже больше не обращаться к серверу..
 
 Но тут уже нужен творческий подход.. А стандартная технология формирования вордовских отчетов в ЦФТ ВОТ ТАКАЯ!
 |  | 
	
		|  | 
	
		|  |