东城西邪
作者东城西邪·2013-04-18 15:12
软件开发工程师·YES-SOFT

代理方式示例

字数 4890阅读 2248评论 0赞 2

代理方式示例 实现同步领用明细以及固定资产的借出状态同步

触发事件Postsave的代码:

Sub Postsave(Source As Notesuidocument)

       If source.FieldGetText("sfCurrentNode")="NT072" Then

              Dim f_server As Variant

              f_server = Evaluate({@Subset(@DbColumn("":"";"":"";"sf_config";5);1)},doc)

              Dim url As String

              url ="http://"+f_server(0)+"/yessoft2_xhd/Equipment.nsf/changEq?openagent&docNumber="+Source.FieldGetText("sfDocNumber")

              Messagebox url

              Set xmlHttp = CreateObject("Msxml2.XMLHTTP")

              Call xmlHttp.open("POST",url,False)

              Call xmlHttp.send()

              Messagebox xmlHttp.responseText

       End If

End Sub

 

代理代码:

%REM

    Agent changEq

    Created 2013-4-16 by WS120 YES/YESSOFT.ORG

    Description: Comments for Agent

%END REM

Option Public

Option Declare

Sub Initialize()

    Print "Content-type: text/xml"

    Dim ss As New NotesSession

    Dim db As NotesDatabase

    Set db = ss.CurrentDatabase

    Dim context As NotesDocument

    Set context = ss.Documentcontext

    Dim queryStr As String

    queryStr = context.Query_String_Decoded(0)

    Dim docNumber As String

    docNumber = getParaString(queryStr,"docNumber")

    Dim vv As NotesView

    Dim doc As NotesDocument

    Dim doc1 As NotesDocument

    Dim docs As NotesDocumentCollection

    Set vv = db.GetView("detail")

    Set docs = vv.GetAllDocumentsByKey(docNumber)

    Set doc = docs.GetFirstDocument

    Set vv = db.GetView("assetsByAll")

    While Not doc Is Nothing

       If doc.isEq(0)="" Then

           doc.isEq="Y"

           doc.isReturn=""

           Call doc.Save(True,True)

           Set doc1 = vv.GetDocumentByKey(doc.adocNumber(0))

           If Not doc1 Is Nothing Then

              doc1.isEq= "Y"

              doc1.isReturn= ""

              Print doc1.estateNumber(0)

              Call doc1.Save(True,True)  

              Print "资产save"

           End If

       End If

       Set doc = docs.GetNextDocument(doc)

    Wend

   

End Sub

 

 

 

Function getParaString(requestString As String, paraName As String) As String

    Dim result As String

    result = ""

   

    Dim paras As Variant

    paras = Split(requestString,"&")

   

    Dim paraList List As String

    Dim i As Integer

    While i<=UBound(paras) And result=""

       Dim para As Variant

       para = Split(paras(i),"=")

       If para(0)=paraName Then

           result = para(1)

       End If

       i = i + 1

    Wend

 

    getParaString = result

End Function


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

相关文章

相关问题

相关资料

X社区推广