Агентом создать документ в Лотусе на основе внешнего файла

Тема в разделе "Готовые продукты, вопросы, обсуждения", создана пользователем StasTr, 9 июл 2007.

  1. StasTr

    StasTr Гость

    Есть такая задача:
    Из КИС выгружают документы в виде файлов, на основе этих файлов нужно программным путем создавать докусенты в Lotus.

    Возможное решение:
    Создал список шаблонов документов в Lotus. Агентом читаю имя файла (имя файла должно совпадать с именем соответствующего шаблона), создаю на основе шаблона документ, прикрепляю исходный файл как содержание, отправляю на согласование (опять же на основе шаблона), регистрирую. Все должен выполнить агент, без участия пользователя.

    У меня пока только одна загвоздка:
    Как прочитать имя файла, находящегося в определенной папке с помощью LotusScript?
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Dir.
    Пример в хелпе есть.
     
  3. StasTr

    StasTr Гость

    В каком хелпе?
    Плохо наверно искал
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В хелпе дизайнера.
    Код (Text):
    ' List the contents of the c:\ directory, one entry per line.
    Dim pathName As String, fileName As String
    pathName$ = "c:\*.*"
    fileName$ = Dir$(pathName$, 0)
    Do While fileName$ <> ""
    Print fileName$
    fileName$ = Dir$()
    Loop
     
  5. StasTr

    StasTr Гость

    Благодарю
     
  6. StasTr

    StasTr Гость

    Еще два вопроса:
    как узнать в каком виде хранятся шаблоны документов? (через какое имя обращаться к ним)
    как прикрепить файл (содержимое) к документу?
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-StasTr+9:07:2007, 09:46 -->
    <span class="vbquote">(StasTr @ 9:07:2007, 09:46 )</span><!--QuoteEBegin-->как узнать в каком виде хранятся шаблоны документов? (через какое имя обращаться к ним)
    [snapback]71710" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Не понятно.

    <!--QuoteBegin-StasTr+9:07:2007, 09:46 -->
    <span class="vbquote">(StasTr @ 9:07:2007, 09:46 )</span><!--QuoteEBegin-->как прикрепить файл (содержимое) к документу?
    [snapback]71710" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Создаешь RichText поле. Потом NotesRichTextItem.EmbedObject
     
  8. StasTr

    StasTr Гость

    Мне нужно написать классификатор имен шаблонов для выгрузки документов из КИС, чтобы в итоге загружать их в Lotus.
    На форме он выглядит примерно так: "Приказ об увольнении", а индентификатор у него как узнать?
     
  9. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-StasTr+9:07:2007, 09:05 -->
    <span class="vbquote">(StasTr @ 9:07:2007, 09:05 )</span><!--QuoteEBegin-->Мне нужно написать классификатор имен шаблонов для выгрузки документов из КИС, чтобы в итоге загружать их в Lotus.
    На форме он выглядит примерно так: "Приказ об увольнении", а индентификатор у него как узнать?
    [snapback]71715" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А можно поподробнее что за форма что такое КИС , что откуда выгружаеться..

    телепатов нет!
     
  10. johny

    johny Гость

    Так указывай явно в агенте, примерно так...

    if str$="Приказ об увольнении" then
    создаешь один документ
    end if

    И шлепай так по всему выгруженному файлу
     
  11. StasTr

    StasTr Гость

    Есть система (КИС) на SQL Server 2005. В этой системе подготавливаются приказы, которые нужно отправить на согласование в Lotus Notes/Domino. Из КИС выгружаются эти приказы в виде pdf файла. Имя файла должно сопрадать с именем шаблона соответствующего документа в Lotus. В Lotus я создал шаблоны:
    (Например:
    Приказ о приеме
    Приказ об увольнении)

    Чтобы агент создал документ в Lotus, ему необходимо знать имя шаблона (оно будет в имени файла). Можно ли напрямую указывать ("Приказ о приеме") или у шаблонов есть идентификаторы?
     
  12. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-StasTr+9:07:2007, 10:27 -->
    <span class="vbquote">(StasTr @ 9:07:2007, 10:27 )</span><!--QuoteEBegin-->шаблонов
    [snapback]71734" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Исчо встречніій вапрос - что Вы подрузамеваете под шаблонами?
     
  13. StasTr

    StasTr Гость

    Шаблон документа-это частично заполненный документ (некоторые поля уже заполнены)
     
  14. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: StasTr
    Ну тут такой вариант на вскидлку - хотите делайте по индефикаторам , как хотите
    в любом случае какойто указатель на "шаблон" должен быть. Слово шаблон тут не совсем подходит, ну ладно.
    Создаёте свой пдф файл - где угодно указываете имя/унид шаблона. в процедурах записи в лотус , как писал johny делает проверку

    Код (Text):
    if str$="Приказ об увольнении" then
    создаешь один документ
    дальше зделать исходя из имени шаблона заполнение нужных полей нужной информацией
    end if
    Но перед этим Вам в лотусе необходимо будет создать словарик где будут содержаться "шаблоны" какие поля заполнять по какой форме создавать документы и т..д.
     
  15. StasTr

    StasTr Гость

    У нас стоит CompanyMedia. Приходится дорабатывать БД существующие.
     
  16. Yakov

    Yakov Гость

    Для: StasTr
    Документы шаблонов в CM созданы по форме RKKTemplate. Имя шаблона (его идентификатор) хранится в поле TemplName. Есть видимое представление "Шаблоны", содержащее все неудаленные шаблоны. Документы в этом представлении отсортированы и сгруппированы как раз по имени шаблона. То есть можно использовать метод NotesView.GetDocumentByKey() примерно таким образом:
    Код (Text):
    Dim templateView As NotesView
    Dim templateDoc As NotesDocument
    Dim templateName as String
    'далее получаешь имя шаблона по имени файла, обрезая расширение
    Set templateView = db.GetView("Шаблоны")
    Set templateDoc = templateView.GetDocumentByKey(templateName)
    If Not templateDoc Is Nothing Then
    'далее делаешь с этим шаблоном что нужно
    End If
    Я сам занимаюсь сопровождением и модификацией Company Media. Если есть еще вопросы - обращайся в личку.
     
  17. StasTr

    StasTr Гость

    Для: Yakov
    Отлично!
    Спасибо большое! Я решил переписать библиотеку Template-Missions. Или лучше с нуля написать агент?
     
  18. LIGHT

    LIGHT Гость

    Несовсем понятно, если доки уже лежат в SQL нафиг их дергать еще и в домино? Только что бы согласовать???? ну тогда из домино прямо и конектится с NotesSQL а там уже и читать по полям что это за док, и на основе него брать форму для согласования. Кажется это возможно, сам не делал, но читал.
    И как мне кажется это в сто раз правильнее.
     
  19. StasTr

    StasTr Гость

    Возможно так и лучше. А можно источник указать где это описано? Буду признателен.
     
  20. LIGHT

    LIGHT Гость

    Попробуй так http://www.yandex.ru/yandsearch?text=NotesSQL
    Ищи в общем Драйверы NotesSQL и Lotus Domino Driver for JDBC которые позволяют работать с Domino, как с реляционной базой данных, используя SQL. Там же и материалы как это поедать.
     
Загрузка...

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