Агент По Расписанию Не Может Сохранить Объект Word

Тема в разделе "Lotus - Программирование", создана пользователем Sanchel, 8 апр 2014.

  1. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    Всем привет!
    Есть агент по расписанию который, правит вложения (MS Word):
    1. детачит вложение на диск (работает)
    2. изменяет выгруженный файл (работает)
    3. сохраняет файл .saveAs(путь_к_выгруженному_файлу) (не работает: Automation object error)
    4. аттачит обратно в документ(из-за предыдущей ошибки до этого не доходит)
    Может кто сталкивался?
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    1 - служба домино работает не под админом
    2 - нету ворда на сервере
     
  3. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    Ворд на сервере установлен
    Служба домино работает под LocalSystem account

    Почему тогда позволяет делать ExtractFile из вложения на диск?
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    ну вот еще один кандидат на пересмотр своего отношения к КОМе :(
    варианты:
    -больше не использовать КОМу ворда, использовать POI, docxreport
    -спросить на сайта МСО любителей - как с этим гагном работать
    -не сохранять файл SaveAs в сучность ФС с тем же именем (добавить символы по вкусу)
    -изменить УЗ сервера
    -тупо делать Save

    по факту - КОМа от МСО блокирует файл на перезапись, возможно требует интерактива, коего на сервере нет

    Добавлено:
    вот это сильно может мешать всяким КОМам

    Добавлено: самый правильный вариант - java (POI... по списку)
     
  5. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    больше не буду )) но в данном случае отказаться не получится
    Пробовал - тоже самое
    Пробовал - тоже самое
    Есть какие-то предложения?
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    -изменить УЗ сервера
    каковы причины, если не секрет :(

    Добавлено: а еще - делал бы вот так http://codeby.net/forum/threads/51696.html
     
  7. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    Что такое УЗ сервера и как его надо изменить?
    Много логики написано на LS, придется все переписывать.

    Просто не понятно: на клиенте все отрабатывает отлично, а на сервере почему не может?
     
  8. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    пишется рапер (под МСО интерфейсы), код переписывать не нужно (я такое делал для Эхель вызовов).
    ЛС->джава бридж никто не отменял - писать можно на ЛС
     
  9. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    Есть другой способ? без java
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    очевидно - аккаунт "нормальный" и есть интерактив

    Добавлено:
    не понял вопроса...
    код переписывать не нужно будет ваще (почти :( - CreateObject заменить надо будет) просто подключается др. либа (с оберткой)
    java и не увидите http://codeby.net/forum/threads/41201.html
     
  11. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    Вы можете подсказать где что поправить?
    За java спасибо, но она мне не подходит.
     
  12. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    я уже предложил - сменить аккаунт запускаемого сервиса домины
    если прочитали ссылку - не понятно чем?

    Добавлено: ЗЫЖ у меня есть стойкое ощущение, что бороться с КОМ вы будете долго и шедульные агенты начнут падать пачками :(
     
  13. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    А на кого лучше заменить? Есть только Local service, Network service и локальный администратор? чем это чревато?
    Очень много логики написано именно для КОМ. Возможно некоторые функции (свойства) даже не реализованы в джава классе.

    Добавлено:
    пока проблема только с сохранением
     
  14. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    лучше создать юзера notes, и дать ему права на запись/чтение каталогов, кот. необх. для работы домины и сопутствующих (типа хранилище доков и т.п.)
    если планируете сетевые ресурсы юзать - то на файлопомойках д.б. соответ. юзер, с правами (если он не доменный)
    доменного юзера ябы не заводил (для домины) - могут быть нюансы

    Добавлено:
    интересно какие :( ?
    базовая работа с заменой и шаблонизацией, в т.ч., уже решена в указанной либе, даже динамические таблицы генерить может
     
  15. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    Запустил сервис под локальным администратором, но не помогло. Тоже самое: Automation object error
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    ошибка-то какая?
    и где код, кот. не пущается?
     
  17. Sanchel

    Sanchel Active Member

    Регистрация:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    0
    Set oWord= CreateObject("Word.Application")
    oWord.Documents.Add path 'path - путь к файлу на диске
    .....' работаю с объектом, затем сохраняю чтобы вложить в RichTextItem документа
    Call oWord.ActiveDocument.Save(true) ' тут валится "Automation object error".
    'Call oWord.ActiveDocument.SaveAs(path) ' тоже вылится
     
  18. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    из того что вижу - минимум визибилити не установлен в фалс

    Добавлено: надо понимать, что МСО КОМ активно дергает отрисовку (из-за чего дико тормозит), если пытаться отрисовать в контексе сервиса, без галочки intaraction with desktop (или как оно там щаз в виндятке) - будет шванец
    а если её поставить - то надо логиницо :(
     
  19. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    собсно подтверждение от создателя этого глюкодрома

    Добавлено:
    Добавлено: вероятно есть к-л вокэраунды - но они чреваты падениями и отжорами памяти
     
  20. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    и вот еще чего я не заметил Set worddoc = word.activedocument 'Get a handle for the active document
    а это вполне может мешать сохранению
     
Загрузка...
Похожие Темы - Агент По Расписанию
  1. TAPAKAHATOP
    Ответов:
    18
    Просмотров:
    1.500
  2. Sanchel
    Ответов:
    26
    Просмотров:
    2.869
  3. beloff
    Ответов:
    6
    Просмотров:
    1.986
  4. iivvnn
    Ответов:
    7
    Просмотров:
    2.817
  5. Gandliar
    Ответов:
    2
    Просмотров:
    1.830

Поделиться этой страницей