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