• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Dialogbox

  • Автор темы Автор темы Eugen
  • Дата начала Дата начала

Eugen

Green Team
22.03.2012
210
1
Добрый день. Кто знает, подскажите пожалуйста...
Проблема в следующем:
Есть экшен, который вызывает скриптовую библиотеку с методом dialogbox. Там пользователь должен будет выбрать 1 вариант ответа(radio button), который потом пропишется в скрытое поле (text) в underlying document. При выборе ответа, после нажатия ОК вылезает ошибка "Notes Error - cannot locate field". Причем выбранный ответ сохраняется в поле документа(в свойствах видно), но вот откуда ошибка не пойму...
На всякий, выкладываю код вызова dialogbox`a:
Код:
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
 
Ну у тебя наверное на querysave формы или что-нибудь подобное код прописан и в нем ошибка. Вот его бы посмотреть
 
Все что есть на QuerySave:
Код:
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
 
Попробуй в отладке все же посмотреть... на какую строку ругается?
Что такое
Код:
GetCredentials.AssignNum
 
+1
через дебагер прогонишь и все сам поймешь
 
Если ошибка в коде формы/подформы диалога "NewCalling", в дебагере ошибку не увидишь. В этом случае может помочь вывод в строку состояния номеров строк кода и отлеживание, после какой строки вылетела ошибка.
 
Если ошибка в коде формы/подформы диалога "NewCalling", в дебагере ошибку не увидишь. В этом случае может помочь вывод в строку состояния номеров строк кода и отлеживание, после какой строки вылетела ошибка.
Ну в общем суть понятна!
А вопросы глупые... может имеет смысл как-то это все фильтровать? ;)
 
Это для нумерации заявок.

Если ошибка в коде формы/подформы диалога "NewCalling", в дебагере ошибку не увидишь.
Все именно так - в дебагере не увидишь.

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

скорее всего ошибка тут
Код:
Call GetCredentials.AssignNum
Если это конечно весь код который есть.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab