Declare Function URLDownloadToFile Lib "urlmon.dll" Alias "URLDownloadToFileA" (Byval pCaller As Long, Byval szURL As String, Byval szFileName As String, Byval dwReserved As Long, Byval lpfnCB As Long) As Long
Queryopen:
'тут всякие проверки на не ньюдок и проч.
...
Dim Doc As NotesDocument
Set Doc = PhoneDB_GetDocumentByLotusName (Source.Document.GetItemValue ("from")(0))
Print GetFoto(Doc)
Dim htmlbody As String
htmlbody = |
<tr class="body">
<td><img src="| & GetFoto(Doc) & |"></td>
<td>тел. | & Doc.GetItemValue("PhoneInt")(0) & | </td>
....
</tr>|
Call Source.Document.ReplaceItemValue ("HTML", htmlbody)
Function GetFoto(Source As Variant) As String
' Ф-ия находит на сервере файл-фото и сохраняет в темпах на локале, возвращает путь к файлу
' Все пути к сохраненым файлам на локале записываются в TMP_FILE_ARRAY
' Source - или карточка сотрудника из тел. справочника или PersonId
On Error Goto errHandler
Const FuncName = {GetFoto}
Dim tabelNumber As String
Dim url As String, d As String
Dim TMP_FILE_ARRAY As Variant
If Typename(Source) = "STRING" Then
tabelNumber = Source
Elseif Typename(Source) = "NOTESDOCUMENT" Then
tabelNumber = Source.GetItemValue("PersonId") (0)
End If
d = Environ ("Temp")
If d = "" Then d = "c:\" Else d = d & "\"
Dim PhotofileName As String
PhotofileName = d & tabelNumber & ".tmp" 'tmp
Dim pathPhotoServer As String
Dim i As Integer
Dim FlagPhotoAccess As Boolean
i = 1
Do
pathPhotoServer = CS_GetVarValue ("PhotoServer" + Cstr(i))
If pathPhotoServer = "" Then Exit Do 'переменные настроек кончились - проверять дальше нет смысла
url = pathPhotoServer & tabelNumber & {&width=100}
If URLDownloadToFile (0, url, Photofilename, 0, 0) = 0 Then
FlagPhotoAccess = True
If Not Isarray (TMP_FILE_ARRAY) Then
TMP_FILE_ARRAY = Arrays_InitArray (Photofilename)
Else
Call Arrays_AppendElement (TMP_FILE_ARRAY, Photofilename)
End If
If i > 1 Then
Call CS_SetVarValue("PhotoServer" + Cstr(i), CS_GetVarValue ("PhotoServer1"))
Call CS_SetVarValue("PhotoServer1", pathPhotoServer)
End If
Exit Do 'фото получили - выходим
End If
i = i + 1
Loop While True
If FlagPhotoAccess Then
GetFoto = {file://} & PhotoFileName
End If
Goto endh
errHandler:
Error Err, FuncName & ", стр. " & Cstr (Erl) & Chr (10) & Error$
endh:
End Function