There is a ready base to which documents are entered in certain forms. In this form there is a field in which an entry from the list is added, after which this form is added (registered) to the database.

The bottom line is that this field should be made text (instead of choosing from the list) - done, now you make an entry in this field and have to add (register) the document to the database, but at this stage an error occurs that this field is not filled, although, again, it has data.

Actually the question: how to fix it? Where to pick? If in the code, it is lower:

Sub Click(Source As Button) Dim ws As New NotesUIWorkspace, cdoc As NotesDocument Set cdoc = ws.CurrentDocument.Document If ( cdoc.Form(0) = "edit_master" ) Then cdoc.Form = cdoc.source_form(0) Dim sc As Variant, Document As Variant, mxSenders As MixCollection Set sc = createServiceControl() Set Document = sc.getService( "DocumentManager" ).getDocObject( cdoc ) Select Case Lcase( cdoc.Form(0)) Case "doc_og", "doc_exp", "doc_in_ext", "search_exp", "search_in_ext" ,"search_og": Set mxSenders = sc.getService( "CorrespondentsManager" ).dialogSelectCorrespondent( False, cdoc.specialization (0) ) If ( mxSenders.Count = 0 ) Then Dim answer As Integer answer = Messagebox( "Внешний адресат не выбран. Желаете произвести ввести вручную?", 1 + 32, "" ) If ( answer = 1 ) Then Dim s As New NotesSession Dim dlg As New NotesDocument( s.CurrentDatabase ) dlg_point: If ( ws.DialogBox( "dlg_senders_handmade", True, True, False, False, False, False, "Ручной ввод данных", dlg, True, False, True )) Then If ( dlg.full_name(0) = "" ) Then Beep : Goto dlg_point cdoc.DocSenders = dlg.full_name(0) cdoc.DocSendersID = CORRESPONDENT_ID_HAND_MADE Exit Sub End If End If End If Case Else : '"doc_ord", "doc_in_int", "doc_out_ext", "doc_out_int": Set mxSenders = sc.getService( "StaffManager" ).dialogSelectPerson( True ) End Select If ( mxSenders.Count = 0 ) Then Call cdoc.RemoveItem ("DocSenders") Call cdoc.RemoveItem ("DocSendersID") Exit Sub End If Dim mxVal As New MixCollection, mxID As New MixCollection, mxSpec As New MixCollection Dim mxAddreses As New MixCollection Forall elm In mxSenders.Array Call mxID.Append( elm.id ) Select Case Lcase( cdoc.Form(0)) Case "doc_og", "doc_exp", "doc_in_ext": Call mxVal.Append( elm.title ) Call mxSpec.AppendCollection( elm.specializations ) If cdoc.Form(0) = "doc_og" Then Call mxAddreses.Append( elm.legal.full ) End If Case Else: Call mxVal.Append( elm.displayName ) End Select End Forall cdoc.DocSenders = mxVal.Array cdoc.DocSendersID = mxID.Array 'If cdoc.Form(0) = "doc_og" And mxAddreses.Count > 0 Then cdoc.replyTo_Address = Join(mxAddreses.Array, Chr(13)) ' bug RR3000007033 ' Формируем список специализаций Select Case Lcase( cdoc.Form(0)) Case "doc_og", "doc_exp", "doc_in_ext": If ( mxSpec.Count = 1 ) Then cdoc.specialization = mxSpec.Element(1) Elseif ( mxSpec.Count > 1 ) Then Dim choiceSpec As Variant choiceSpec = ws.Prompt( 4, "", "", mxSpec.Element(1), mxSpec.Array ) If Not Isempty( choiceSpec ) Then cdoc.specialization = choiceSpec End If End Select Call ws.CurrentDocument.Refresh End Sub 

As I understand it, you need to add a parameter here that says that manual data entry is possible!

  • one
    Are you sure this is javascript? more like the basic looks like. - FLK
  • @FLK, duck is what he is, VBS / BS in person - Dex
  • LotusScript, but it isn’t in the tags: (but since Lotus uses javascript, it was necessary to deliver it. PySy: really, by its logic, it looks like basic :) - KaZuS

1 answer 1

Lotus Notes itself cannot tell you that you have not filled out any field. It is necessary to look for the field verification code. Most likely this should be on a form in QuerySave or QueryClose. May be in the field itself in InputTranslation, InputValidation. Search by message text. Then deal with this verification algorithm. The code given by you is useless, since there is no error message about which you speak, and the more it is not understood which field is being discussed. How to match the text of your message with the code? What is the name of the field?