| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		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 )
 
 | 	  
 
 
Очень интересная реализация - искать конкретную переменную     | 	  
 
 
Мне лично тож не нравится постоянно дергать сервер, требуя точечное значение.
 
 
Можешь, как вариант, формировать массив параметров, передавать его на клиента, и уже больше не обращаться к серверу..
 
 
Но тут уже нужен творческий подход.. А стандартная технология формирования вордовских отчетов в ЦФТ ВОТ ТАКАЯ! | 
			 
		  | 
	
	
		  | 
	
	
		 |