代理方式示例 实现同步领用明细以及固定资产的借出状态同步
触发事件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 条评论