Index: AAPClient/WS/Agent.pas =================================================================== diff -u -r218 -r258 --- AAPClient/WS/Agent.pas (.../Agent.pas) (revision 218) +++ AAPClient/WS/Agent.pas (.../Agent.pas) (revision 258) @@ -3,7 +3,7 @@ interface uses - DnaCodeService, GebruikerService, System.SysUtils, Vcl.Forms, UiContext; + DnaCodeService, GebruikerService, System.SysUtils, Vcl.Forms, UiContext, System.Classes; type TAgent = class @@ -26,6 +26,7 @@ function ToeleveringBijwerken(Toelevering: string; Status: DnaCodeStatus; IsDirecteLevering: boolean): ToeleveringBijwerkenResponse; function GeefVolgendeTbpCode(): GeefVolgendeTbpCodeResponse; function ZoekViaDnaCode(DnaCode: string): ZoekViaDnaCodeResponse; + function ProboxEtiketAfdrukken(DnaCodesStringList: TStringList): ProboxEtiketAfdrukkenResponse; end; implementation @@ -322,6 +323,40 @@ end; end; +function TAgent.ProboxEtiketAfdrukken(DnaCodesStringList: TStringList): ProboxEtiketAfdrukkenResponse; +var + Service: DnaCodeServiceSoap; + Header: DnaCodeService.RequestHeader; + fProboxEtiketAfdrukkenRequest: ProboxEtiketAfdrukkenRequest; + DnaCodesArray: ArrayOfStringString; + ii: integer; +begin + Service := DnaCodeService.GetDnaCodeServiceSoap(); + + fProboxEtiketAfdrukkenRequest := ProboxEtiketAfdrukkenRequest.Create; + Header := DnaCodeService.RequestHeader.Create; + try + Header.Initialen := fUiContext.Initialen; + Header.ComputerNaam := FullName(); + fProboxEtiketAfdrukkenRequest.Header := Header; + + DnaCodesArray := ArrayOfStringString.Create(); + SetLength(DnaCodesArray, DnaCodesStringList.Count); + + ii := 0; + while ii < DnaCodesStringList.Count do begin + DnaCodesArray[ii] := DnaCodesStringList[ii]; + ii := ii + 1; + end; + + fProboxEtiketAfdrukkenRequest.DnaCodes := DnaCodesArray; + + result := Service.ProboxEtiketAfdrukken(fProboxEtiketAfdrukkenRequest); + finally + fProboxEtiketAfdrukkenRequest.Free; + end; +end; + function TAgent.ComputerName: String; var buffer: array[0..255] of char;