Dialogbox

Тема в разделе "Lotus - Программирование", создана пользователем Eugen, 16 июл 2012.

  1. Eugen

    Eugen Well-Known Member

    Регистрация:
    22 мар 2012
    Сообщения:
    172
    Симпатии:
    0
    Добрый день. Кто знает, подскажите пожалуйста...
    Проблема в следующем:
    Есть экшен, который вызывает скриптовую библиотеку с методом dialogbox. Там пользователь должен будет выбрать 1 вариант ответа(radio button), который потом пропишется в скрытое поле (text) в underlying document. При выборе ответа, после нажатия ОК вылезает ошибка "Notes Error - cannot locate field". Причем выбранный ответ сохраняется в поле документа(в свойствах видно), но вот откуда ошибка не пойму...
    На всякий, выкладываю код вызова dialogbox`a:
    Код (LotusScript):
    Sub ShowDialog
    Dim w As New NotesUIWorkspace
    Dim s As New notessession
    Dim claim As NotesDocument
    Dim calldialog As notesdocument
    Set claim=w.Currentdocument.Document   

    Set calldialog=s.currentdatabase.Createdocument()
    Call w.Dialogbox("NewCalling", True, True, False, False, False, False, "Текст", claim)
    Call claim.Save(True, False,)
    End Sub
     
  2. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    Ну у тебя наверное на querysave формы или что-нибудь подобное код прописан и в нем ошибка. Вот его бы посмотреть
     
  3. Eugen

    Eugen Well-Known Member

    Регистрация:
    22 мар 2012
    Сообщения:
    172
    Симпатии:
    0
    Все что есть на QuerySave:
    Код (LotusScript):
    Sub Querysave(Source As Notesuidocument, Continue As Variant)
    'Присвоение уникального номера заявке
    If source.IsNewDoc Then
    Call GetCredentials.AssignNum  
    End If

    'Если перевносили сумму, то обеспечение почистилосью
    'Заставить его снова выбрать обеспечение
    If Not Source.Document.Status(0)="Новая" Then
    If Source.Document.CreditProvision(0)="" Then
    Messagebox("Необходимо указать обеспечение по кредиту.")
    Continue=False
    End If
    End If

    End Sub
     
  4. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Попробуй в отладке все же посмотреть... на какую строку ругается?
    Что такое
    Код (Text):
    GetCredentials.AssignNum
     
  5. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    +1
    через дебагер прогонишь и все сам поймешь
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Если ошибка в коде формы/подформы диалога "NewCalling", в дебагере ошибку не увидишь. В этом случае может помочь вывод в строку состояния номеров строк кода и отлеживание, после какой строки вылетела ошибка.
     
  7. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Ну в общем суть понятна!
    А вопросы глупые... может имеет смысл как-то это все фильтровать? ;)
     
  8. Eugen

    Eugen Well-Known Member

    Регистрация:
    22 мар 2012
    Сообщения:
    172
    Симпатии:
    0
    Это для нумерации заявок.

    Все именно так - в дебагере не увидишь.

    А как же без них в процессе обучения? Если бы я все знал, я бы сюда и не заглядывал бы за советами.
     
  9. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Код (LotusScript):
    uidoc.GotoField
    где-то есть?
    Ищи ;)
     
  10. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Это я так понимаю класс? или что?
    Если класс - где его инициализация?
    Ну а немного подумать? Если нельзя отладить, то может как-то отследить где вываливается ошибка?
    Например методы Print, Messagebox. Это же элементарные действия.
    Ну и ко всему... то что форма используется в диалоге - никто не запрещает ее просто открыть в клиенте и отследить ... Судя по коду, который ты привел в первом посте - форму можно открыть просто в клиенте и отладить.
    Ты уж прости... ничего личного... просто реально простой вопрос... ладно там разбор таблиц, DXL.
    Но уж никак не вопрос по отсутствию декларации переменной или обращение к несуществующему полю.

    скорее всего ошибка тут
    Код (LotusScript):
    Call GetCredentials.AssignNum
    Если это конечно весь код который есть.
     
Загрузка...

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