Dialogbox

Eugen

Well-known member
22.03.2012
177
0
#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
 

doka

Well-known member
18.02.2010
118
0
#2
Ну у тебя наверное на querysave формы или что-нибудь подобное код прописан и в нем ошибка. Вот его бы посмотреть
 

Eugen

Well-known member
22.03.2012
177
0
#3
Все что есть на 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 809
21
#4
Попробуй в отладке все же посмотреть... на какую строку ругается?
Что такое
Код:
GetCredentials.AssignNum
 

doka

Well-known member
18.02.2010
118
0
#5
+1
через дебагер прогонишь и все сам поймешь
 

nvyush

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

NickProstoNick

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

Eugen

Well-known member
22.03.2012
177
0
#8
Это для нумерации заявок.

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

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

NickProstoNick

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

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