Makeresponse

Тема в разделе "Lotus - Программирование", создана пользователем LIGHT, 9 янв 2008.

  1. LIGHT

    LIGHT Гость

    Приветствую!

    Ситуевина:

    Есть много баз данных, с одним дизайном, и есть одна база которая являеется административной.

    В Административной базе создаются документы по форме "Document", создаются при клике по кнопке из любой другой базы открытого документа. Т.е. часть полей копируются в новый документ, документ сохраняется.

    Все бы не чего, но потребовалось создавать не просто документы но еще и в некоторых случаях респонсы. Разрулил это довольно просто, юзеру который давит кнопку выдается запрос что делалть, если респонс, выдают пиклист выбора документа родителя. И все бы ни чего, документ создается, только не респонсом :) при этом нужно создать докмент по тойже форме что и родитель "Document"

    Код (суть)
    Код (Text):
    Set doc = collection.GetFirstDocument
    Set NewDoc = dbNewDoc.CreateDocument
    Call NewDoc.MakeResponse( doc )
    NewDoc.Form = "Document"
    ....
    Call ws.EditDocument(True,NewDoc)
    Помогите победить.
     
  2. D!m@n

    D!m@n Гость

    Две одинаковых формы, только у одной в свойствах Type - Document, у другой - Response - не подойдет?
     
  3. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Set NewDoc = dbNewDoc.CreateDocument - Документы должны быть в одной БД... создавайте его от NotesDatabase.CreateDocument
    и не забудте сохранить
     
  4. LIGHT

    LIGHT Гость

    <!--QuoteBegin-Morpheus+9:01:2008, 17:13 -->
    <span class="vbquote">(Morpheus @ 9:01:2008, 17:13 )</span><!--QuoteEBegin-->Set NewDoc = dbNewDoc.CreateDocument - Документы должны быть в одной БД... создавайте его от NotesDatabase.CreateDocument
    и не забудте сохранить
    [snapback]92723" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Документы в одной базе в смысле.

    Родитель и создаваемый к нему ребенок разумеется в одной, но ребенок создается по документу из другой базы.
    NotesDatabase.CreateDocument - так и есть
    Dim dbNewDoc as NotesDatabase
    dbNewDoc.CreateDocument
    + MakeResponse создает обычный документ.


    Получилось!!!
     
  5. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: LIGHT
    поток букаф...
    так что получилось то?
     
  6. LIGHT

    LIGHT Гость

    Да просто 2 поста форум слепил в один.
    Получилось создать респонс, сохранить скриптов надо было, а я ручками сохранял.
     
  7. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Смотри, если респонс сделан на той же форме что и документ (у формы Type = Document), то после пересохранения респонса через UI он отвалится и перестанет быть респонсом.

    А, ну как я понял ты сохранял через UI сначала и получал именно то, о чём я говорил выше...
     
  8. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Ну собственно да, об єтом еще Для: D!m@n сказал
     
  9. Sandr

    Sandr Гость

    Учтите, что NotesDatabase.CreateDocument сразу создает документ в базе, тоесть если пользователь потом передумает - документ останется... это неправильно... прийдется чистить потом агентом по расписанию...

    Используйте композ, а при сохранении документа делайте его респонсом к кому надо...


    нифга... гониво... ща проверю...
     
  10. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Sandr
    Давай!
    Я тоже перепроверю на всяк случай...

    Отвалился :)
     
  11. Sandr

    Sandr Гость

    таки ты прав... не гониво :)
     
  12. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Sandr, ты хочешь сказать, что при пересохранении реcпонса c формой у которой Type = Document через UI из него не пропадает поле $REF?
     
  13. Sandr

    Sandr Гость

    нет, ты что, я же исправился :)

    ЗЫ: Кинулся проверять везде, где я это юзал... скока глюков моджет быть из-за этого...
     
  14. Mihal

    Mihal Гость

    $RefOptions всех спасёт!

    И будет вам счастие. $RefOptions="1" позволяет пустить побоку настройки форму в плане Document, Response и всё такое.

    Для: Sandr
    Заведи привычку использовать $RefOptions если хочешь вечного счастия :).
     
  15. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Mihal
    Гениально!

    В принципе, отпадает надобность делать формы с каким-либо типом кроме Document.
    Кстати, именно необходимость указывать тип в форме бесила меня в использовании респонсов.
     
  16. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-Sandr+9:01:2008, 18:40 -->
    <span class="vbquote">(Sandr @ 9:01:2008, 18:40 )</span><!--QuoteEBegin-->Учтите, что NotesDatabase.CreateDocument сразу создает документ в базе, тоесть если пользователь потом передумает - документ останется... это неправильно... прийдется чистить потом агентом по расписанию...
    [snapback]92732" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Это не так. Даже хелп говорит:
     
  17. Sandr

    Sandr Гость

    Для: Medevic

    согласен.. туплю...
     

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