• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Dialogbox

Eugen

Green Team
22.03.2012
210
1
BIT
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
 
D

doka

Ну у тебя наверное на querysave формы или что-нибудь подобное код прописан и в нем ошибка. Вот его бы посмотреть
 

Eugen

Green Team
22.03.2012
210
1
BIT
1
Все что есть на 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
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Попробуй в отладке все же посмотреть... на какую строку ругается?
Что такое
Код:
GetCredentials.AssignNum
 
D

doka

+1
через дебагер прогонишь и все сам поймешь
 
N

nvyush

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

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Если ошибка в коде формы/подформы диалога "NewCalling", в дебагере ошибку не увидишь. В этом случае может помочь вывод в строку состояния номеров строк кода и отлеживание, после какой строки вылетела ошибка.
Ну в общем суть понятна!
А вопросы глупые... может имеет смысл как-то это все фильтровать? ;)
 

Eugen

Green Team
22.03.2012
210
1
BIT
1
Это для нумерации заявок.

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

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

NickProstoNick

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!