|
работа c COM-объектами в фоновом задании(клиент-сервер) | ☑ | ||
---|---|---|---|---|
0
xantimans
14.08.14
✎
13:56
|
MSWord = Новый COMОбъект("Word.Application");
Шаблон = ПолучитьОбщийМакет("кор_УведомлениеОтпуск"); ИмяФайла = ПолучитьИмяВременногоФайла(".doc"); Шаблон.Записать(ИмяФайла); Документ = MSWord.Documents.Open(ИмяФайла); Документ.SaveAs("C:\temp\УведомлениеОбОтпуске.doc"); регламентное задание вываливается на ошибке: "Значение не является значением объектного типа (SaveAs)" Понимаю что проблема скорее всего с правами, но смущает факт того что следующий код при этом выполняется на ура в этом же регламентном задании: КомандаАДО = Новый COMОбъект("ADODB.Command"); СоединениеАДО = Новый COMОбъект("ADODB.Connection"); СоединениеАДО.Provider = "ADsDSOObject"; СоединениеАДО.Open("Active Directory Provider"); КомандаАДО.ActiveConnection = СоединениеАДО; Попытка RootDSE = ПолучитьCOMОбъект("LDAP://RootDSE"); НашДомен = RootDSE.Get("defaultNamingContext"); База = "<LDAP://" + НашДомен + ">"; Исключение Сообщить("Не удалось подключиться к домену :( "); КонецПопытки; тСтрокаПоиска = СтрЗаменить(СокрЛП(Наставник), " ", " |"); СтрокаФильтра = ""; Для инд = 1 по СтрЧислоСтрок(тСтрокаПоиска) Цикл СтрокаФильтра = СтрокаФильтра + "(extensionAttribute4=*"+СтрПолучитьСтроку(тСтрокаПоиска, инд)+"*)"; КонецЦикла; Фильтр = "(&(objectCategory=person)(objectClass=user)"+СтрокаФильтра+")"; ТекстЗапроса = База + ";" + Фильтр + ";mail;subtree"; КомандаАДО.CommandText = ТекстЗапроса; КомандаАДО.Properties("Page Size").Value = 100; КомандаАДО.Properties("Timeout").Value = 30; КомандаАДО.Properties("Cache Results").Value = Ложь; ВыборкаАДО = КомандаАДО.Execute(); Пока НЕ ВыборкаАДО.EOF Цикл Email = СокрЛП(ВыборкаАДО.Fields("mail").Value); ВыборкаАДО.MoveNext(); КонецЦикла; ВыборкаАДО.Close(); СоединениеАДО.Close(); Возврат Email; Есть у кого идеи как победить сей недуг? |
|||
1
hhhh
14.08.14
✎
14:22
|
(0) ну дать права на папку C:\temp сервера пользователю usr1crихренегознаетещечеготамr. Уже сто раз обсуждалось.
|
|||
2
Apokalipsec
14.08.14
✎
14:33
|
(1) Щито? У человека в предыдущей строке получается неопределено, а у неопределено нет метода сейв эз.))
Смотри, что вы там пытаетесь открыть.) |
|||
3
xantimans
14.08.14
✎
16:45
|
(2) блииинн, подкинь идею как на сервере Active document обработать, а то очень надо письмо с вложением отправить :)
|
|||
4
hhhh
14.08.14
✎
16:51
|
(3) если срочно, то зачем в эти дебри влезать. Сделайте на клиенте. Можно даже на толстом.
|
|||
5
xantimans
14.08.14
✎
16:54
|
(4) на клиенте и так все работает, хочу в фоновое задание повесить.
|
|||
6
Serginio1
14.08.14
✎
17:11
|
||||
7
xantimans
14.08.14
✎
18:07
|
(6) в (2) уже выяснили что проблем с открытием COM у меня нет, есть проблема с использованием методов, которые на сервере не работают)))
|
|||
8
Serginio1
14.08.14
✎
18:44
|
У тебя проблема с настройками DCOM
|
|||
9
Serginio1
14.08.14
✎
18:47
|
Плюс в настройках в ворде посмотри в центре безопасности надежные рсположения.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |