Помогите с скриптиком:)

Тема в разделе "Lotus - Программирование", создана пользователем Cleric-Lviv, 24 мар 2009.

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Всем привет
    вобщем дело обстоит так.

    В базе есть справочник в котором заполняются следующие поля:

    1. unittype - принимает занчения либо "U" либо "Р"
    2. UnitNameUA - Название обєкта
    3. UnitLocationUA - место нахождение обєкта
    4. EOD - если "1" то имеет право
    5. RegionOp - оператори региона

    таких записей много будет

    дальше пробую скриптом забацать документи ссилаясь на записи из справочника
    но не сохраняет вискакивает Msgbox "Помилка збереження документа!"
    ах да чуть не забил как мне запихнуть "RegionOp" из справочника в ново созданий документ и сделать ето поле "editors"


    Sub Initialize
    Dim ses As New NotesSession
    Dim db As NotesDatabase
    Dim hrdb As NotesDatabase
    Dim doc As NotesDocument
    Dim rep As NotesDocument
    Dim success As Variant

    Set db = ses.CurrentDatabase

    Set hrdb = ses.CurrentDatabase
    If Not (hrdb Is Nothing) Then
    Dim dc As NotesDocumentCollection
    Set dc = hrdb.search(|form="region" & EOD="1"|, Nothing,0)
    Print Cstr(dc.Count) & " документів відібрано для COB."
    If dc.Count>0 Then
    Set doc = dc.GetFirstDocument
    While Not (doc Is Nothing)
    Set rep = db.CreateDocument
    rep.form = "CloseDay" --по етой форме хочу сделать документи

    If doc.unittype(0) = "U" Then
    rep.unitnameUA = doc.unitnameua(0) --вот так должен именоватся документ
    Else
    rep.unitnameUA = doc.PositionNameUA(0) --или так
    End If

    rep.unitRef = doc.UniversalID
    success = rep.ComputeWithForm( False, False )
    If success Then
    Call rep.Save(True,False)
    Else
    Msgbox "Помилка збереження документа!"
    End If
    Set doc = dc.GetNextDocument(doc)
    Wend
    End If
    End If

    End Sub
     
  2. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    Ошибка вылетает из-за computewithform.
    Насколько я понимаю - все равно сейчас идет отладка.
    Сохрани документ несмотря на ошибку, открой его в клиенте. С высокой вероятностью он не откроется( скажет почему ). Если откроется - пересохрани, посмотри что скажет.
     
  3. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Cleric-Lviv, WTF? RTFM!

    дивися свою форму CloseDay, на ній якісь ValidationFormula не спрацьовують, тому твій success = FALSE

    Гарі Поттер?! О_о

    он не откроется только если будет ошибка вычисления формул в полях на форме, на логическую ошибку это врядли укажет.
    а если сохранится, то что и кто должен сказать? :rolleyes:
     
  4. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Dim doc As NotesDocument
    Dim item As NotesItem
    ' ...set value of doc...
    Set item = doc.GetFirstItem( "From" )
    If item.IsAuthors Then
    Call item.AppendToTextList( "Jeffrey Kinnamon" )
    Call doc.Save( False, True )
    End If
     
  5. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Ого как бистро:rolleyes:
    Akupaka

    я думаю лутше на руском писать все таки много украинского не понимает(ну и извиняюсь сразу за свой руский никогда не учил:()

    так спасибки за ответи щас буду пробовать
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    не позбавляй мене приємного :rolleyes:
     
  7. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Akupaka

    ок !!!!

    а що нема з ким побалакати на рідній мові ;) ?????


    Так уже почучуть виходит:) уже документи создаются но вот с добавлением в права едитора ступор (сильно не пинайте я только-только начал програмировать)
     
  8. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Ну я там намудрил немного) Вот так нужно делать:

    Dim item As NotesItem
    Set item = rep.GetFirstItem( "RegionOp" )
    item.IsAuthors = true
    Call item.AppendToTextList( doc.GetItemvalue("RegionOp") )
     
  9. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Я тоже украинец (Деражня).
    А вот мови не знаю.
    Только из рекламы: шкира, процюю, космодиск :)
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    то-то у меня к тебе какая-то скрытая симпатия )))

    че за проблемы-то? я так понял, что doc у тебя справочник?
    тогда одной строкой
    Код (Text):
    rep.ReplaceItemValue("RegionOp", doc.GetItemValue("RegionOp")).IsAuthors = True
    если надо из нескольких документов, то
    Код (Text):
    rep.ReplaceItemValue("RegionOp", ArrayAppend(rep.GetItemValue("RegionOp"), doc.GetItemValue("RegionOp"))).IsAuthors = True
    вроде все, а то, что-то я не внимательный, с первого раза не получилось )
    зы: нету поля "editors" есть "authors"
     
  11. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    kizarek

    почему намудрили??? дали мне правильний путь, куда смотреть:)
    на If item.IsAuthors Then ошибка "object variable not set"
    я вот пробую следующее

    Set rep = db.CreateDocument
    rep.form = "CloseDay"

    If doc.unittype(0) = "U" Then
    rep.unitnameUA = doc.unitnameua(0)
    Else
    rep.unitnameUA = doc.PositionNameUA(0)
    End If

    Set item = rep.GetFirstItem( "RegionOp" )
    If item.IsAuthors Then
    Call item.AppendToTextList( doc.GetItemvalue("RegionOp") )
    End If

    rep.unitRef = doc.UniversalID
    success = rep.ComputeWithForm( False, False )
    If success Then
    Call rep.Save(True,False)


    Omh

    еще все впереди виучиш!!!!!!
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    в новом документе rep итема RegionOp нету, не будет работать

    еще на форме CloseDay должно быть поле RegionOp типа Authors!
    иначе компутвизформ наделает каку
     
  13. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Akupaka

    Не повіриш але в мене є таке поле!!!!:) на форме CloseDay и оно Authors!!!!!!!!!
     
  14. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    я мав на увазі, якщо воно не авторс, то треба зробити, інакше при збереженні з ЮІ або компутвізформ ітем перестане бути авторс
     
  15. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    інакше при збереженні з ЮІ або компутвізформ ітем перестане бути авторс

    не понял.......


    Akupaka
    якщо ти не заперечуєш давай через аську.......349011758
     
  16. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Глаза сломал вас читать))
     
  17. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    ты вон почитай наших коллег из Алматы :) где-то они на родном как понеслись, как понеслись ;)
     
  18. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    kizarek
    не переживай ми чуть-чуть:)

    а кстати все работает благодаря вашим бистрим коментам :)
    Но вот такой глюк есть

    to run this agent you must have at lest one document selected

    такая ошибка вискакивает когда на вю нету документов вобще...........а вот если я на вю справочника стою и запускаю агента тогда все ок!
     
  19. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    усе верно! у тебя агент Target стоит Selected Documents
    если твоему агенту все-равно, что выделено в виде, т.е. нужные документы он сам находит, то поставь там None
     
Загрузка...
Похожие Темы - Помогите скриптиком
  1. limbra
    Ответов:
    3
    Просмотров:
    43
  2. NylevoiChelovek
    Ответов:
    4
    Просмотров:
    93
  3. Ruska132
    Ответов:
    34
    Просмотров:
    255
  4. gURaBA_N
    Ответов:
    7
    Просмотров:
    141
  5. uxbmw3w
    Ответов:
    0
    Просмотров:
    60

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