OBJECT Codeunit 50105 ISZR Functions { OBJECT-PROPERTIES { Date=14.12.21; Time=[ 9:38:26]; Modified=Yes; Version List=[[L]]{44653}#59#ZPW]; } PROPERTIES { OnRun=VAR QueueData@1100162000 : Record 50129; BEGIN ServiceProbe('robCtiAifo','Test'); END; } CODE { VAR UsefulFunctions@62002 : Codeunit 4053965; HTTPRequestMgt@1100162000 : Codeunit 50070; Text001@1100162001 : TextConst 'CSY=Chyba v komunikaci se Z kladn¡mi registry, zpr va %1.;ENU=Error communicating with Base Registers, message %1.'; ISZRData@1100162002 : Codeunit 50106; Text002@1100162003 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4 je ji§ ztoto§nØn.";ENU="Insured person %1 = %2, %3 = %4 is already identified."'; Text003@1100162004 : TextConst 'CSY="Chyba modifikace z znamu ISZR %1 = %2, %3 = %4.";ENU="Error modification of ISZR record %1 = %2,%3 = %4."'; Text004@1100162005 : TextConst 'CSY="Chyba vlo§en¡ z znamu ISZR %1 = %2, %3 = %4.";ENU="Error entering ISZR record %1 = %2, %3 = %4."'; Text005@1100162006 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4, AIFO=%5 ji§ zaevidov no k notifikaci zmØn v registru obyvatel.";ENU="Insured person %1= %2, %3 = %4, AIFO=%5 already registered for notification of changes in population register."'; Text006@1100162007 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4 nen¡ pýihl çen k notifikaci zmØn v registru obyvatel.";ENU="Insured person %1 = %2, %3 = %4 is not logged in to notification of changes in resident register."'; Text007@1100162008 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4 nem  vçechna potýebn  data k vyhled n¡ podle jm‚na, pý¡jmen¡ a data narozen¡.";ENU="Insured person %1 = %2, %3 = %4 does not have all the necessary data to search for by name, surname, and date of birth."'; Text008@1100162009 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4 nem  vçechna potýebn  data k vyhled n¡ podle typu a Ÿ¡sla dokladu toto§nosti.";ENU="Insured person %1 = %2, %3 = %4 does not have all the necessary data to search for by type and ID card number."'; Text009@1100162010 : TextConst 'CSY=%1 nevyplnØn %2.;ENU=%1 unfilled %2.'; Text010@1100162011 : TextConst 'CSY=PojiçtØnec nem  vçechna potýebn  data k vyhled n¡ podle jm‚na, pý¡jmen¡ a data narozen¡.;ENU=Insured person does not have all the necessary data to search by name, surname, and date of birth.'; Text011@1100162012 : TextConst 'CSY=PojiçtØnec nem  vçechna potýebn  data k vyhled n¡ podle typu a Ÿ¡sla dokladu toto§nosti.;ENU=Insured person does not have all the necessary data to search by type and number of the identity card.'; Text012@1100162013 : TextConst 'CSY="Neni definov n %1, %2=%3.";ENU="Not defined %1, %2=%3."'; Text013@1100162014 : TextConst 'CSY=U§ivatel %1 nem  aplikaŸn¡ pr vo %2.;ENU=User %1 does not have application right %2.'; Text014@1100162015 : TextConst 'CSY="Chyba vlo§en¡ z znamu %1, %2 = %3, %4 = %5, %6 = %7.";ENU="Error recording entry %1, %2 = %3, %4 = %5, %6 = %7."'; Text015@1100162016 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4 je ji§ ztoto§nØn. Pou§ijte funkci ovØýit £daje.";ENU="Insured person %1 = %2, %3 = %4 is already identified. Use the Verify Data function."'; Text016@1100162017 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4 nen¡ pýihl çen k notifikaci zmØn v registru obyvatel. Pou§ijte funkci vyhledat £daje.";ENU="Insured person %1 = %2, %3 = %4 is not logged in to notification of changes in population register. Use the Find Data feature."'; Text017@1100162018 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4. Nelze aktualizovat trvalou adresu, nezad n k¢d adresn¡ho m¡sta adresy pobytu.";ENU="Insured person %1 =%2 , %3 = %4. Unable to update the permanent address, the address code of the residence address."'; Text018@1100162019 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4. Nelze aktualizovat trvalou adresu pro cizince.";ENU="Insured person %1 =%2 , %3 = %4. Unable to update permanent address for foreigners."'; Text019@1100162020 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4. Nelze aktualizovat kontaktn¡ adresu, nezad n k¢d adresn¡ho m¡sta doruŸovac¡ adresy.";ENU="Insured person %1 =%2 , %3 = %4. Unable to update contact address, code of address of delivery address not entered."'; Text020@1100162021 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4. Nelze aktualizovat kontaktn¡ adresu, kter  je zadan  ruŸnØ.";ENU="Insured person %1 =%2 , %3 = %4. Unable to update the contact address that is entered manually."'; Text021@1000000000 : TextConst 'CSY=Sta§en¡ aktualizac¡ ROB;ENU=ROB Updates Download'; ISZRSetup@1100162022 : Record 50111; Text022@1100162023 : TextConst 'CSY=PojiçtØnec nenalezen.;ENU=Insuree not found.'; ISZRLog@1100162024 : Record 50128; Globals@1100162025 : Codeunit 62007; Text023@1100162026 : TextConst 'CSY="Partner Ÿ. %1, ";ENU="Contact No. %1, "'; PathSettings@1100162027 : Record 50170; Text024@62001 : TextConst 'CSY=PojiçtØnec nem  vçechna potýebn  data k vyhled n¡ podle rodn‚ho Ÿ¡sla, jm‚na a pý¡jmen¡.;ENU=Insured person does not have all the necessary data to search by personal identification number, name and surname.'; Text025@62000 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4 nen¡ pýihl çen k notifikaci zmØn v registru cizinc…. Pou§ijte funkci vyhledat £daje.";ENU="Insured person %1 = %2, %3 = %4 is not logged in to notification of changes in aliens register. Use the Find Data function."'; Text026@1000000002 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4. Nelze ukonŸit trvalou adresu, k¢d adresn¡ho m¡sta je nepr zdnì.";ENU="Insured person %1 =%2 , %3 = %4. Unable to end a permanent address, the address of the address is non-empty."'; Text027@1000000003 : TextConst 'CSY="PojiçtØnec %1 = %2, %3 = %4. Nelze ukonŸit kontaktn¡ adresu, k¢d adresn¡ho m¡sta je nepr zdnì.";ENU="Insured person %1 =%2 , %3 = %4. Unable to quit contact address, site address code is non-empty."'; Text028@62004 : TextConst 'CSY=Zaevidov n¡ çatn¡ch l¡stk…: %1, %2;ENU=Register Insured ISZR Ticket %1,%2'; Text029@62003 : TextConst 'CSY=Webov  slu§ba nevr tila çatn¡ l¡stek. \Element UlozkaId je pr dznì.;ENU=The web service did not return the coat-check ticket. \Element UlozkaId is empty'; Text030@62005 : TextConst 'CSY=IszrZadostId je pr zdn‚.;ENU=IszrZadostId is empty.'; Text032@62007 : TextConst 'CSY=PoŸet çatn¡ch l¡stku oznaŸenìch ke zpracov n¡ je vØtç¡ ne§ je omezen¡ v %1, v pol¡Ÿku %2. PoŸet l¡stk… k odesl n¡ je %3, maxim ln¡ poŸet je %4.;ENU=The number of coat-check tickets marked for processing is greater than the limit in %1, in the field %2. The number of tickets to be sent is %3, the maximum is %4.'; TempISZRIdentifyParam@70000 : TEMPORARY Record 50127; Text033@70001 : TextConst 'CSY="Neni definov n %1, %2=%3, %4=%5.";ENU="Not defined %1, %2=%3, %4=%5."'; TempBlobZtotozneni@70003 : TEMPORARY Record 99008535; FindROBAifo@70002 : Text[30]; FromROBDownload@70004 : Boolean; Text034@70005 : TextConst 'CSY=Neztoto§nØn - duplicita'; Text035@70006 : TextConst 'CSY=Ztoto§nØn'; Text036@70007 : TextConst 'CSY=Neztoto§nØn'; IdentifyCode@70008 : Code[10]; Text037@70009 : TextConst 'CSY=Vstupn¡ kombinaci £daj… neodpov¡d  § dnì z znam.'; PROCEDURE AddZadostInfo@62032(VAR XMLDoc@62000 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument";reason@1100162011 : Text[100];KodSluzby@1100162016 : Text[10];Synch@1100162015 : Boolean;AIFO@1100162014 : Text;ContactNo@1100162013 : Code[20]) LogEntry : BigInteger; VAR tmpBlob@1100162004 : TEMPORARY Record 99008535; XMLDoc2@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; Node@62001 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode"; Node2@62004 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode"; NodeParent@62002 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode"; InStr@1100162003 : InStream; OutStr@1100162002 : OutStream; XZadostInfo@1100162001 : XMLport 62401; zadostText@1100162006 : Text[1024]; nullGUID@1100162012 : GUID; BEGIN Node := XMLDoc.SelectSingleNode('/*/*[local-name()=''ZadostInfo'']'); NodeParent := Node.ParentNode; IF ISNULL(Node) THEN //Uzel nen¡ definov n, nen¡ co pýidat. EXIT; IF ISNULL(NodeParent) THEN //Uzel nen¡ definov n, nen¡ co pýidat. EXIT; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XZadostInfo); XZadostInfo.SETDESTINATION(OutStr); // ZPW653.38847-> IF STRLEN(AIFO) > 24 THEN XZadostInfo.NastavParametryNIA(0DT,'','','','','','',reason,nullGUID,nullGUID,nullGUID,KodSluzby,Synch,AIFO,ContactNo) ELSE XZadostInfo.NastavParametry(0DT,'','','','','','',reason,nullGUID,nullGUID,nullGUID,KodSluzby,Synch,AIFO,ContactNo); // ZPW653.38847<- XZadostInfo.EXPORT; LogEntry := XZadostInfo.VratLogId(); tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc2 := XMLDoc2.XmlDocument; XMLDoc2.Load(InStr); Node2 := XMLDoc2.DocumentElement; Node2 := XMLDoc.ImportNode(Node2,TRUE); NodeParent.ReplaceChild(Node2,Node); END; PROCEDURE AddZadostInfoAsync@62033(VAR XMLDoc@62000 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument";reason@1100162011 : Text[100];KodSluzby@1100162016 : Text[10];Synch@1100162015 : Boolean;AIFO@1100162014 : Text[24];ContactNo@1100162013 : Code[20]) LogEntry : BigInteger; VAR tmpBlob@1100162004 : TEMPORARY Record 99008535; XMLDoc2@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; Node@62001 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode"; Node2@62004 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode"; NodeParent@62002 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode"; InStr@1100162003 : InStream; OutStr@1100162002 : OutStream; ISZR_ZadostInfo_Async@1100162001 : XMLport 50104; zadostText@1100162006 : Text[1024]; nullGUID@1100162012 : GUID; BEGIN Node := XMLDoc.SelectSingleNode('/*/*[local-name()=''ZadostInfo'']'); NodeParent := Node.ParentNode; IF ISNULL(Node) THEN //Uzel nen¡ definov n, nen¡ co pýidat. EXIT; IF ISNULL(NodeParent) THEN //Uzel nen¡ definov n, nen¡ co pýidat. EXIT; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(ISZR_ZadostInfo_Async); ISZR_ZadostInfo_Async.SETDESTINATION(OutStr); ISZR_ZadostInfo_Async.NastavParametry(0DT,'','','','','','',reason,nullGUID,nullGUID,nullGUID,KodSluzby,Synch,AIFO,ContactNo); ISZR_ZadostInfo_Async.EXPORT; LogEntry := ISZR_ZadostInfo_Async.VratLogId(); tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc2 := XMLDoc2.XmlDocument; XMLDoc2.Load(InStr); Node2 := XMLDoc2.DocumentElement; Node2 := XMLDoc.ImportNode(Node2,TRUE); NodeParent.ReplaceChild(Node2,Node); END; PROCEDURE TestResponse@62031(filePath@1100162000 : Text[250];XMLPortNo@1100162001 : Integer); VAR FileManagement@62000 : Codeunit 419; inStr@1100162002 : InStream; fil@1100162003 : File; ServerFileName@62002 : Text; ClientFileName@62001 : Text; BEGIN ServerFileName := FileManagement.UploadFileSilent(filePath); fil.OPEN(ServerFileName); fil.CREATEINSTREAM(inStr); XMLPORT.IMPORT(XMLPortNo, inStr); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'ROBCtiPodleUdaju')+'\' + ISZRData.GetResponseMessage()) ELSE MESSAGE('Zpr va probØhla.'); FileManagement.DeleteServerFile(ServerFileName); END; PROCEDURE IsValidStatus@62030(statusCode@1100162000 : Text[30]) : Boolean; VAR BizTalkSetup2@70000 : Record 50111; BEGIN //ZPW923.44653 -> BizTalkSetup2.GET; //pokud mame kontrolovat stavy IF BizTalkSetup2."Check Fields Status" THEN BEGIN //ZPW923.44653 <- IF UPPERCASE(statusCode) = 'SPRAVNY' THEN EXIT(TRUE); IF UPPERCASE(statusCode) = '' THEN EXIT(TRUE); //pr zdnì = ok EXIT(FALSE); //ZPW923.44653 -> END; EXIT(TRUE); //ZPW923.44653 <- END; PROCEDURE ">>>>>ROB<<<<<"@62029(); BEGIN END; PROCEDURE FindPersonByNameOrDocument@62028(ContactNo@1100162006 : Code[20];Reason@1100162004 : Text[100];SearchBy@1100162000 : ' ,Name,Document';AutIdentify@1100162008 : Boolean;Show@1100162007 : ' ,ShowMessage,ShowError') : Boolean; VAR TmpISZR@1100162001 : TEMPORARY Record 50127; ISZR@1100162012 : Record 50127; Contact@1100162002 : Record 5050; ContactSingleType@1100162010 : Record 62010; ISZRROBLoadedDataCard@1100162005 : Page 50207; ISZRROBLoadedDataList@1100162009 : Page 50206; Name@1100162003 : Text[50]; ReturnRobCtiPodleUdaju@1100162011 : Boolean; ReturnAiseoCtiPodleUdaju2@1100162013 : Boolean; ReturnAiscCtiPodleUdaju@1000000000 : Boolean; AllowAiseoQuery@1100162014 : Boolean; AllowAiscQuery@1100162016 : Boolean; ISZRDataMgt@1100162015 : Codeunit 50108; TempBlob2@70000 : TEMPORARY Record 99008535; ISZRIdentifyOption@70002 : Record 70098; ISZRRequestId@70001 : GUID; BEGIN ISZRSetup.GET; Contact.RESET; Contact.GET(ContactNo); IF NOT ISZR.GET(ContactNo) THEN ISZR.INIT; IF ISZR."AIFO Code" <> '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text015, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ReturnRobCtiPodleUdaju := FALSE; ReturnAiseoCtiPodleUdaju2 := FALSE; AllowAiseoQuery := FALSE; AllowAiscQuery := FALSE; // ZPW923.38828-> //IF ISZRSetup."ISZR EO Check" = ISZRSetup."ISZR EO Check"::Always THEN // AllowAiseoQuery := TRUE; //IF ISZRSetup."ISZR EO Check" = ISZRSetup."ISZR EO Check"::"53" THEN BEGIN // AllowAiseoQuery := ISZRDataMgt.CheckLegal53(Contact."No.",FALSE); //END; //IF ISZRSetup."ISZR EC Check" = ISZRSetup."ISZR EC Check"::Always THEN // AllowAiscQuery := TRUE; //IF ISZRSetup."ISZR EC Check" = ISZRSetup."ISZR EC Check"::"53" THEN BEGIN // AllowAiscQuery := ISZRDataMgt.CheckLegal53(Contact."No.",FALSE); //END; // ZPW923.38828<- IF AllowAiseoQuery THEN BEGIN IF FindPersonByPIN( // ZPW601.38102-> //TmpISZR,Contact."No.",Contact."Personal Identity Number",Contact."First Name",Contact."Middle Name", TmpISZR,Contact."No.",Contact."Personal Identity Number",Contact."First Name",'', // ZPW601.38102<- '',Contact.Surname,'',Contact."Birth Surname",Contact."Birth Date",Reason,Show,TRUE) THEN BEGIN IF TmpISZR."AIFO Code" <> '' THEN BEGIN ReturnRobCtiPodleUdaju := TRUE; ReturnAiseoCtiPodleUdaju2 := TRUE; END; END; END; IF (NOT ReturnRobCtiPodleUdaju) AND AllowAiscQuery THEN // a mozna i kdyz je RC cizinec IF FindPersonByPINEC( // ZPW601.38102-> //TmpISZR,Contact."No.",Contact."Personal Identity Number",Contact."First Name",Contact."Middle Name", TmpISZR,Contact."No.",Contact."Personal Identity Number",Contact."First Name",'', // ZPW601.38102<- '',Contact.Surname,'',Contact."Birth Surname",Contact."Birth Date",Reason,Show,TRUE) THEN BEGIN IF TmpISZR."AIFO Code" <> '' THEN BEGIN ReturnRobCtiPodleUdaju := TRUE; ReturnAiscCtiPodleUdaju := TRUE; END; END; IF NOT ReturnRobCtiPodleUdaju THEN BEGIN IF TempISZRIdentifyParam.COUNT <> 1 THEN BEGIN // ZPW923.38828 CASE SearchBy OF SearchBy::Name: BEGIN IF (Contact."First Name" = '') OR (Contact.Surname = '') OR (Contact."Birth Date" = 0D) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text007, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; //ZPW923.44653 -> IF ContactNo = '' THEN BEGIN //z pruvodcu nebo webovych registraci, kdy jeste nemame Partnera // ZPW601.38102-> //IF Contact."Middle Name" <> '' THEN BEGIN // Name := Contact."First Name" + ' ' + Contact."Middle Name"; //END ELSE BEGIN // ZPW601.38102<- Name := Contact."First Name"; // ZPW601.38102-> //END; // ZPW601.38102<- ISZRIdentifyOption.SETCURRENTKEY("Sort Order"); //ZPW923.44653 // ZPW923.38828-> IF Name <> '' THEN ISZRIdentifyOption.SETRANGE("First Name",TRUE); IF Contact.Surname <> '' THEN ISZRIdentifyOption.SETRANGE(Surname,TRUE); IF Contact."Birth Date" <> 0D THEN ISZRIdentifyOption.SETRANGE("Birth Date",TRUE); ISZRIdentifyOption.FINDFIRST; TempISZRIdentifyParam."Identify Code" := ISZRIdentifyOption.Code; TempISZRIdentifyParam."Identify Total" := ISZRIdentifyOption."Retry Count"; // ZPW923.38828<- ReturnRobCtiPodleUdaju := IszrRobCtiPodleUdaju(Name,Contact.Surname,Contact."Birth Date",'','',Reason,Show,Contact."No.", TempBlob2,ISZRRequestId); // ZPW923.38828 END ELSE BEGIN FindROBAifo := ''; IF FillTempISZRIdentifyParam(Contact."No.") THEN BEGIN IF FindROBAifo <> '' THEN //hledej podle posledniho Aifo ReturnRobCtiPodleUdaju := IszrRobCtiAifo(Contact."No.",FindROBAifo,Reason,Show,TempBlob2,ISZRRequestId,FALSE) ELSE ReturnRobCtiPodleUdaju := IszrRobCtiPodleUdaju('','',0D,'','',Reason,Show,Contact."No.",TempBlob2,ISZRRequestId); END; END; //ZPW923.44653 <- END; SearchBy::Document: BEGIN IF Contact."Identity Card No." <> '' THEN BEGIN ContactSingleType.RESET; ContactSingleType.SETCURRENTKEY(Code,Type,"Valid From"); ContactSingleType.SETRANGE(Code,Contact."Identity Card Type"); ContactSingleType.SETRANGE(Type,ContactSingleType.Type::"Identity Card Type"); ContactSingleType.SETFILTER("Valid From",'<=%1',TODAY); IF NOT ContactSingleType.FINDLAST THEN ContactSingleType.INIT; END ELSE BEGIN ContactSingleType.INIT; END; IF (Contact."Identity Card No." = '') OR (STRLEN(Contact."Identity Card No.") > MAXSTRLEN(TmpISZR."Doklad Cislo")) OR (ContactSingleType."External System Code" = '') OR (STRLEN(ContactSingleType."External System Code") > MAXSTRLEN(TmpISZR."Doklad Druh")) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text008, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; // ZPW923.38828-> ISZRIdentifyOption.SETCURRENTKEY("Sort Order"); //ZPW923.44653 ISZRIdentifyOption.SETRANGE("Identity Card",TRUE); ISZRIdentifyOption.FINDFIRST; TempISZRIdentifyParam."Identify Code" := ISZRIdentifyOption.Code; TempISZRIdentifyParam."Identify Total" := ISZRIdentifyOption."Retry Count"; // ZPW923.38828<- ReturnRobCtiPodleUdaju := IszrRobCtiPodleUdaju('','',0D,ContactSingleType."External System Code",Contact."Identity Card No.",Reason,Show, Contact."No.", TempBlob2,ISZRRequestId); // ZPW923.38828 END; END; END ELSE BEGIN // ZPW923.43725-> // Pýevede druh dokladu IF TempISZRIdentifyParam."Doklad Druh" <> '' THEN BEGIN ContactSingleType.RESET; ContactSingleType.SETCURRENTKEY(Code,Type,"Valid From"); ContactSingleType.SETRANGE(Code,TempISZRIdentifyParam."Doklad Druh"); ContactSingleType.SETRANGE(Type,ContactSingleType.Type::"Identity Card Type"); ContactSingleType.SETFILTER("Valid From",'<=%1',TODAY); IF ContactSingleType.FINDLAST THEN TempISZRIdentifyParam."Doklad Druh" := ContactSingleType."External System Code"; END; // ZPW923.43725<- //ZPW923.44653 -> IF FindROBAifo <> '' THEN //hledej podle posledniho Aifo ReturnRobCtiPodleUdaju := IszrRobCtiAifo(Contact."No.",FindROBAifo,Reason,Show,TempBlob2,ISZRRequestId,FALSE) ELSE //ZPW923.44653 <- ReturnRobCtiPodleUdaju := IszrRobCtiPodleUdaju('','',0D,'','',Reason,Show,Contact."No.",TempBlob2,ISZRRequestId); // ZPW923.38828 END; END; IF ReturnRobCtiPodleUdaju THEN BEGIN IF NOT ReturnAiseoCtiPodleUdaju2 AND NOT ReturnAiscCtiPodleUdaju THEN BEGIN ISZRData.GetROBResponse(TmpISZR); //ZPW923.44653 -> IF (FindROBAifo <> '') AND (TmpISZR."AIFO Code" = '') THEN TmpISZR."AIFO Code" := FindROBAifo; FindROBAifo := ''; //ZPW923.44653 <- // ZPW923.38828-> TmpISZR."Identify Code" := TempISZRIdentifyParam."Identify Code"; TmpISZR."Identify Total" := TempISZRIdentifyParam."Identify Total"; TmpISZR."Identify Count" := TmpISZR."Identify Count" + 1; TmpISZR."ROB Data" := TempBlob2.Blob; IF NOT ISNULLGUID(ISZRRequestId) THEN TmpISZR."Request Id" := ISZRRequestId; IF TmpISZR.MODIFY THEN; IF TmpISZR.COUNT = 0 THEN ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'35', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)) // ZPW923.43725 ELSE // ZPW923.44309-> IF TmpISZR.COUNT > 1 THEN ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'34', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)) ELSE // ZPW923.44309<- ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'40', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725 // ZPW923.38828<- END; IF AutIdentify THEN BEGIN IF TmpISZR.COUNT <> 1 THEN EXIT(FALSE); PersonIdentify(ContactNo,TmpISZR,Reason,Show); END ELSE BEGIN IF TmpISZR.COUNT = 0 THEN BEGIN IF ISZRSetup."ISZR Debug" THEN MESSAGE(Text022 + '\ \' + ISZRData.GetResponseMessage()) ELSE MESSAGE(Text022); EXIT; END; IF TmpISZR.COUNT = 1 THEN BEGIN CLEAR(ISZRROBLoadedDataCard); ISZRROBLoadedDataCard.FillVariables(ContactNo,TmpISZR,Reason); ISZRROBLoadedDataCard.RUNMODAL; END ELSE BEGIN CLEAR(ISZRROBLoadedDataList); ISZRROBLoadedDataList.FillVariables(ContactNo,TmpISZR,Reason); ISZRROBLoadedDataList.RUNMODAL; END; END; END ELSE BEGIN // kdyz je Null znamena, ze neprosel pres zadne ISZRCti.... Tj ze pravdepodobne Waiting a nedela zadny zapis do historie IF NOT ISNULLGUID(ISZRRequestId) THEN BEGIN // kdyz neztotozni a dotaz na ROB nesel z duvodu nevyplneni dat //ISZRRequestId := CREATEGUID; ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'35', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725 EXIT(FALSE); END; END; EXIT(TRUE); END; PROCEDURE FindPersonByNameOrDocWizard@62027(VAR TmpISZR2@1100162017 : TEMPORARY Record 50127;ContactNo@1100162019 : Code[20];PersonalIdentityNumber@1100162020 : Code[10];FirstName@1100162015 : Text[45];MiddleName@1100162016 : Text[24];Surname@1100162014 : Text[45];BirthDate@1100162013 : Date;DocType@1100162012 : Text[10];DocNo@1100162006 : Text[9];Reason@1100162004 : Text[100];SearchBy@1100162000 : ' ,Name,Document';Show@1100162007 : ' ,ShowMessage,ShowError';OnlyRecReturn@1100162018 : Boolean) : Boolean; VAR TmpISZR@1100162001 : TEMPORARY Record 50127; Contact@1100162002 : Record 5050; ContactSingleType@1100162010 : Record 62010; ISZRROBLoadedDataCardWizard@1100162005 : Page 50208; ISZRROBLoadedDataList@1100162009 : Page 50206; IdentifyContactNo@1100162008 : Code[20]; Name@1100162003 : Text[70]; ReturnRobCtiPodleUdaju@1100162011 : Boolean; ReturnAiseoCtiPodleUdaju2@1100162021 : Boolean; ReturnAiscCtiPodleUdaju@1000000000 : Boolean; AllowAisEOQuery@1100162022 : Boolean; AllowAiscQuery@1100162024 : Boolean; ISZRDataMgt@1100162023 : Codeunit 50108; TempBlob2@70000 : TEMPORARY Record 99008535; ISZRIdentifyOption@70002 : Record 70098; ISZRRequestId@70001 : GUID; BEGIN ISZRSetup.GET; Contact.RESET; IF ContactNo <> '' THEN Contact.GET(ContactNo); ReturnRobCtiPodleUdaju := FALSE; ReturnAiseoCtiPodleUdaju2 := FALSE; TmpISZR2.DELETEALL; CLEAR(TmpISZR2); AllowAisEOQuery := FALSE; AllowAiscQuery := FALSE; // ZPW923.38828-> //IF ISZRSetup."ISZR EO Check" = ISZRSetup."ISZR EO Check"::Always THEN // AllowAisEOQuery := TRUE; //IF ISZRSetup."ISZR EO Check" = ISZRSetup."ISZR EO Check"::"53" THEN BEGIN // AllowAisEOQuery := ISZRDataMgt.CheckLegal53(Contact."No.",FALSE); //END; //IF ISZRSetup."ISZR EC Check" = ISZRSetup."ISZR EC Check"::Always THEN // AllowAiscQuery := TRUE; //IF ISZRSetup."ISZR EC Check" = ISZRSetup."ISZR EC Check"::"53" THEN BEGIN // AllowAiscQuery := ISZRDataMgt.CheckLegal53(Contact."No.",FALSE); //END; // ZPW923.38828<- IF (PersonalIdentityNumber <> '') AND ((FirstName + MiddleName) <> '') AND (Surname <> '') AND AllowAisEOQuery THEN BEGIN IF FindPersonByPIN( TmpISZR,ContactNo,PersonalIdentityNumber,FirstName,MiddleName, '',Surname,'','',BirthDate,Reason,Show,TRUE) THEN BEGIN IF TmpISZR."AIFO Code" <> '' THEN BEGIN ReturnRobCtiPodleUdaju := TRUE; ReturnAiseoCtiPodleUdaju2 := TRUE; END; END; END; IF (NOT ReturnRobCtiPodleUdaju) AND AllowAiscQuery THEN // a mozna i kdyz je RC cizinec IF FindPersonByPINEC( // ZPW601.38102-> //TmpISZR,Contact."No.",Contact."Personal Identity Number",Contact."First Name",Contact."Middle Name", TmpISZR,Contact."No.",Contact."Personal Identity Number",Contact."First Name",'', // ZPW601.38102<- '',Contact.Surname,'',Contact."Birth Surname",Contact."Birth Date",Reason,Show,TRUE) THEN BEGIN IF TmpISZR."AIFO Code" <> '' THEN BEGIN ReturnRobCtiPodleUdaju := TRUE; ReturnAiscCtiPodleUdaju := TRUE; END; END; IF NOT ReturnRobCtiPodleUdaju THEN BEGIN IF TempISZRIdentifyParam.COUNT <> 1 THEN BEGIN // ZPW923.38828 CASE SearchBy OF SearchBy::Name: BEGIN IF (FirstName = '') OR (Surname = '') OR (BirthDate = 0D) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(Text010); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF MiddleName <> '' THEN BEGIN Name := FirstName + ' ' + MiddleName; END ELSE BEGIN Name := FirstName; END; //ZPW923.44653 -> IF ContactNo = '' THEN BEGIN //z pruvodcu nebo webovych registraci, kdy jeste nemame Partnera // ZPW923.38828-> ISZRIdentifyOption.SETCURRENTKEY("Sort Order"); //ZPW923.44653 IF Name <> '' THEN ISZRIdentifyOption.SETRANGE("First Name",TRUE); IF Surname <> '' THEN ISZRIdentifyOption.SETRANGE(Surname,TRUE); IF BirthDate <> 0D THEN ISZRIdentifyOption.SETRANGE("Birth Date",TRUE); ISZRIdentifyOption.FINDFIRST; TempISZRIdentifyParam."Identify Code" := ISZRIdentifyOption.Code; TempISZRIdentifyParam."Identify Total" := ISZRIdentifyOption."Retry Count"; // ZPW923.38828<- ReturnRobCtiPodleUdaju := IszrRobCtiPodleUdaju(Name,Surname,BirthDate,'','',Reason,Show,ContactNo, TempBlob2,ISZRRequestId); // ZPW923.38828 END ELSE BEGIN FindROBAifo := ''; IF FillTempISZRIdentifyParam(ContactNo) THEN BEGIN IF FindROBAifo <> '' THEN //hledej podle posledniho Aifo ReturnRobCtiPodleUdaju := IszrRobCtiAifo(ContactNo,FindROBAifo,Reason,Show,TempBlob2,ISZRRequestId,FALSE) ELSE ReturnRobCtiPodleUdaju := IszrRobCtiPodleUdaju('','',0D,'','',Reason,Show,ContactNo,TempBlob2,ISZRRequestId); END; END; //ZPW923.44653 <- END; SearchBy::Document: BEGIN IF DocNo <> '' THEN BEGIN ContactSingleType.RESET; ContactSingleType.SETCURRENTKEY(Code,Type,"Valid From"); ContactSingleType.SETRANGE(Code,DocType); ContactSingleType.SETRANGE(Type,ContactSingleType.Type::"Identity Card Type"); ContactSingleType.SETFILTER("Valid From",'<=%1',TODAY); IF NOT ContactSingleType.FINDLAST THEN ContactSingleType.INIT; END ELSE BEGIN ContactSingleType.INIT; END; IF (DocNo = '') OR (STRLEN(DocNo) > MAXSTRLEN(TmpISZR."Doklad Cislo")) OR (ContactSingleType."External System Code" = '') OR (STRLEN(ContactSingleType."External System Code") > MAXSTRLEN(TmpISZR."Doklad Druh")) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(Text011); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; // ZPW923.38828-> ISZRIdentifyOption.SETCURRENTKEY("Sort Order"); //ZPW923.44653 ISZRIdentifyOption.SETRANGE("Identity Card",TRUE); ISZRIdentifyOption.FINDFIRST; TempISZRIdentifyParam."Identify Code" := ISZRIdentifyOption.Code; TempISZRIdentifyParam."Identify Total" := ISZRIdentifyOption."Retry Count"; // ZPW923.38828<- ReturnRobCtiPodleUdaju := IszrRobCtiPodleUdaju('','',0D,ContactSingleType."External System Code",DocNo,Reason,Show,ContactNo, TempBlob2,ISZRRequestId); // ZPW923.38828 END; END; END ELSE BEGIN ReturnRobCtiPodleUdaju := IszrRobCtiPodleUdaju('','',0D,'','',Reason,Show,ContactNo,TempBlob2,ISZRRequestId); // ZPW923.38828 END; END; IF ReturnRobCtiPodleUdaju THEN BEGIN IF NOT ReturnAiseoCtiPodleUdaju2 AND NOT ReturnAiscCtiPodleUdaju THEN BEGIN ISZRData.GetROBResponse(TmpISZR); //ZPW923.44653 -> IF (FindROBAifo <> '') AND (TmpISZR."AIFO Code" = '') THEN TmpISZR."AIFO Code" := FindROBAifo; FindROBAifo := ''; //ZPW923.44653 <- // ZPW923.38828-> TmpISZR."Identify Code" := TempISZRIdentifyParam."Identify Code"; TmpISZR."Identify Total" := TempISZRIdentifyParam."Identify Total"; TmpISZR."Identify Count" := TmpISZR."Identify Count" + 1; TmpISZR."ROB Data" := TempBlob2.Blob; IF NOT ISNULLGUID(ISZRRequestId) THEN TmpISZR."Request Id" := ISZRRequestId; IF TmpISZR.MODIFY THEN; IF TmpISZR.COUNT = 0 THEN ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'35', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)) // ZPW923.43725 ELSE // ZPW923.44309-> IF TmpISZR.COUNT > 1 THEN ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'34', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)) ELSE // ZPW923.44309<- ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'40', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725 // ZPW923.38828<- END; IF (TmpISZR.COUNT = 0) AND (NOT OnlyRecReturn) THEN BEGIN IF ISZRSetup."ISZR Debug" THEN MESSAGE(Text022 + '\ \' + ISZRData.GetResponseMessage()) ELSE MESSAGE(Text022); EXIT; END; IF OnlyRecReturn THEN BEGIN IF TmpISZR.FINDSET(FALSE,FALSE) THEN BEGIN REPEAT TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; UNTIL (TmpISZR.NEXT(1) = 0); END; EXIT(TRUE); END; IF TmpISZR.COUNT = 1 THEN BEGIN CLEAR(ISZRROBLoadedDataCardWizard); ISZRROBLoadedDataCardWizard.FillVariables(TmpISZR,Reason); ISZRROBLoadedDataCardWizard.RUNMODAL; IdentifyContactNo := ISZRROBLoadedDataCardWizard.GetIdentifyContactNo; END ELSE BEGIN CLEAR(ISZRROBLoadedDataList); ISZRROBLoadedDataList.FillVariables('',TmpISZR,Reason); ISZRROBLoadedDataList.RUNMODAL; IdentifyContactNo := ISZRROBLoadedDataList.GetIdentifyContactNo; END; IF IdentifyContactNo <> '' THEN BEGIN TmpISZR.RESET; TmpISZR.GET(IdentifyContactNo); TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; END; END ELSE BEGIN // kdyz je Null znamena, ze neprosel pres zadne ISZRCti.... Tj ze pravdepodobne Waiting a nedela zadny zapis do historie IF NOT ISNULLGUID(ISZRRequestId) THEN BEGIN // kdyz neztotozni a dotaz na ROB nesel z duvodu nevyplneni dat //ISZRRequestId := CREATEGUID; ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'35', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725 EXIT(FALSE); END; END; EXIT(TRUE); END; PROCEDURE IszrRobCtiPodleUdaju@62026(Name@1100162000 : Text[50];Surname@1100162001 : Text[45];BirthDate@1100162002 : Date;DocType@1100162013 : Text[10];DocNo@1100162014 : Text[9];Reason@1100162005 : Text[100];Show@1100162015 : ' ,ShowMessage,ShowError';ContactNo@1100162003 : Code[20];VAR TempBlob2@70000 : TEMPORARY Record 99008535;VAR ISZRRequestId@70001 : GUID) : Boolean; VAR TmpISZR@70002 : TEMPORARY Record 50127; tmpBlob@1100162011 : TEMPORARY Record 99008535; XMLDoc@62000 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62001 : Codeunit 419; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62414; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162017 : DateTime; EndTime@1100162016 : DateTime; LogEntry@1100162007 : Integer; ServerFileName@62002 : Text; ClientFileName@62003 : Text; BEGIN //rem next rows - zrusili jsme kdyz neni nic (napr 30, 90) tak jede aspon podle jmena, prijmeni a datumu narozeni //ted to musi spadnout na chybu a dotaz je prazdny {IF (TempISZRIdentifyParam.Jmeno = '') AND (TempISZRIdentifyParam.Prijmeni = '') AND (TempISZRIdentifyParam."Datum Narozeni" = 0D) AND (TempISZRIdentifyParam."Doklad Druh" = '') AND (TempISZRIdentifyParam."Doklad Cislo" = '') AND (TempISZRIdentifyParam."Place of Birth" = '') AND (TempISZRIdentifyParam."Country/Region of Birth Code" = '') AND (TempISZRIdentifyParam."Datum Umrti" = 0D) AND (TempISZRIdentifyParam."Legal Date of Death" = 0D) AND (TempISZRIdentifyParam."Place of Death" = '') AND (TempISZRIdentifyParam."Country/Region of Death Code" = '') AND (TempISZRIdentifyParam."Datova Schranka" = '') AND (TempISZRIdentifyParam.Citizenship = '') AND (TempISZRIdentifyParam."AP Text" = '') AND (Name = '') AND (Surname = '') AND (BirthDate = 0D) AND (DocNo = '') THEN BEGIN EXIT(FALSE); END; IF TempISZRIdentifyParam.Jmeno = '' THEN TempISZRIdentifyParam.Jmeno := Name; IF TempISZRIdentifyParam.Prijmeni = '' THEN TempISZRIdentifyParam.Prijmeni := Surname; IF TempISZRIdentifyParam."Datum Narozeni" = 0D THEN TempISZRIdentifyParam."Datum Narozeni" := BirthDate;} ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); //IF TempISZRIdentifyParam.COUNT <> 1 THEN BEGIN // ZPW923.44653 rem ZPW923.38828 IF DocNo <> '' THEN BEGIN //ZPW923.44653 DocNo se sem posila jen kdyz TempISZRIdentifyParam.COUNT <> 1 a jen pro Document XReq.SetFindByNameParameters(Name,Surname,BirthDate,DocType,DocNo,'','',0D,0D,'','','','',''); END ELSE BEGIN XReq.SetFindByNameParameters( TempISZRIdentifyParam.Jmeno, TempISZRIdentifyParam.Prijmeni, TempISZRIdentifyParam."Datum Narozeni", TempISZRIdentifyParam."Doklad Druh", TempISZRIdentifyParam."Doklad Cislo", TempISZRIdentifyParam."Place of Birth", TempISZRIdentifyParam."Country/Region of Birth Code", TempISZRIdentifyParam."Datum Umrti", TempISZRIdentifyParam."Legal Date of Death", TempISZRIdentifyParam."Place of Death", TempISZRIdentifyParam."Country/Region of Death Code", TempISZRIdentifyParam."Datova Schranka", TempISZRIdentifyParam.Citizenship, TempISZRIdentifyParam."AP Text"); // ZPW923.38828 END; XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E05',TRUE,'',ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRobCtiPodleUdaju_Response); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E05'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); // ZPW923.38828-> TempBlob2.DELETEALL; CLEAR(TempBlob2); HTTPRequestMgt.GetRequestBlob(TempBlob2); TempBlob2.INSERT; ISZRRequestId := ISZRData.GetISZRRequestId(); // ZPW923.38828<- IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; // ZPW923.43725-> ISZRData.GetROBResponse(TmpISZR); IF TmpISZR.COUNT = 0 THEN ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'35', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)) ELSE // ZPW923.44309-> IF TmpISZR.COUNT > 1 THEN ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'34', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)) ELSE // ZPW923.44309<- ISZRROBHistoryRequest(ContactNo,4,0,TempISZRIdentifyParam."Identify Code",ISZRRequestId,TempBlob2,'40', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725<- IF HTTPRequestMgt.HasResponseError THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'ROBCtiPodleUdaju')+'\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'ROBCtiPodleUdaju')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE PersonIdentify@62025(ContactNo@1100162000 : Code[20];VAR TmpISZR@1100162001 : TEMPORARY Record 50127;Reason@1100162005 : Text[100];Show@1100162002 : ' ,ShowMessage,ShowError') : Boolean; VAR Contact@1100162003 : Record 5050; ISZR@1100162004 : Record 50127; Country@1100162007 : Record 9; RMSetup@1100162008 : Record 5079; ContAltAddr@1100162009 : Record 5051; PerCheckProcesingState@1100162013 : Record 62672; ProcessingStateEntry@1100162012 : Record 72205; AddressType@1100162014 : Record 62060; ContAddrMgt@1100162010 : Codeunit 62020; ISZRDataMgt@1100162015 : Codeunit 50108; SecAddrCode@1100162011 : Code[20]; ErrorCode@1100162016 : Code[100]; UpdateSecondaryAddress@1100162006 : Boolean; HardError@1100162017 : Boolean; TempBlob2@70001 : TEMPORARY Record 99008535; TmpGUID@70000 : GUID; BEGIN Contact.RESET; Contact.GET(ContactNo); ErrorCode := ''; HardError := FALSE; ISZR.RESET; IF ISZR.GET(ContactNo) THEN BEGIN IF ISZR."AIFO Code" <> '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text002, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF NOT IszrOrgPrihlasAifo(ContactNo,TmpISZR."AIFO Code",Reason,Show) THEN EXIT(FALSE); ErrorCode := ISZRDataMgt.CheckROBData(ContactNo,1,TmpISZR,Show,HardError); ISZR."Error Code" := COPYSTR(ErrorCode,1,MAXSTRLEN(ISZR."Error Code")); ISZR."AIFO Code" := TmpISZR."AIFO Code"; ISZR.Jmeno := TmpISZR.Jmeno; ISZR.Prijmeni := TmpISZR.Prijmeni; ISZR.Obcanstvi := TmpISZR.Obcanstvi; ISZR."Doklad Druh" := TmpISZR."Doklad Druh"; ISZR."Doklad Cislo" := TmpISZR."Doklad Cislo"; // ZPW923.44653 -> ISZR."Identity Card Type 2" := TmpISZR."Identity Card Type 2"; ISZR."Identity Card No 2" := TmpISZR."Identity Card No 2"; ISZR."Identity Card Type 3" := TmpISZR."Identity Card Type 3"; ISZR."Identity Card No 3" := TmpISZR."Identity Card No 3"; // ZPW923.44653 <- ISZR."Datum Narozeni" := TmpISZR."Datum Narozeni"; ISZR."Datum Umrti" := TmpISZR."Datum Umrti"; ISZR."Datova Schranka" := TmpISZR."Datova Schranka"; ISZR.KodAMAdresyPobytu := TmpISZR.KodAMAdresyPobytu; ISZR.AP_Ulice := TmpISZR.AP_Ulice; ISZR.AP_TypCislaDomovnihoKod := TmpISZR.AP_TypCislaDomovnihoKod; ISZR.AP_CisloDomovni := TmpISZR.AP_CisloDomovni; ISZR.AP_CisloOrientacni := TmpISZR.AP_CisloOrientacni; ISZR.AP_CisloOrientacniPismeno := TmpISZR.AP_CisloOrientacniPismeno; IF TmpISZR.AP_CastObce = TmpISZR.AP_Obec THEN TmpISZR.AP_CastObce := ''; ISZR.AP_CastObce := TmpISZR.AP_CastObce; ISZR.AP_Obec := TmpISZR.AP_Obec; ISZR.AP_PSC := TmpISZR.AP_PSC; ISZR.AP_Okres := TmpISZR.AP_Okres; ISZR.KodAMDorucovaciAdresy := TmpISZR.KodAMDorucovaciAdresy; ISZR.DA_Ulice := TmpISZR.DA_Ulice; ISZR.DA_TypCislaDomovnihoKod := TmpISZR.DA_TypCislaDomovnihoKod; ISZR.DA_CisloDomovni := TmpISZR.DA_CisloDomovni; ISZR.DA_CisloOrientacni := TmpISZR.DA_CisloOrientacni; ISZR.DA_CisloOrientacniPismeno := TmpISZR.DA_CisloOrientacniPismeno; IF TmpISZR.DA_CastObce = TmpISZR.DA_Obec THEN TmpISZR.DA_CastObce := ''; ISZR.DA_CastObce := TmpISZR.DA_CastObce; ISZR.DA_Obec := TmpISZR.DA_Obec; ISZR.DA_PSC := TmpISZR.DA_PSC; ISZR.DA_Okres := TmpISZR.DA_Okres; ISZR."EO Update Date" := TmpISZR."EO Update Date"; ISZR."EO Personal Identity Number" := TmpISZR."EO Personal Identity Number"; ISZR."Birth Surname" := TmpISZR."Birth Surname"; ISZR."Stay Type" := TmpISZR."Stay Type"; ISZR."Stay Type Text" := TmpISZR."Stay Type Text"; ISZR.Citizenship := TmpISZR.Citizenship; // ZPW923.43584-> IF ISZR.Obcanstvi = 0 THEN IF EVALUATE(ISZR.Obcanstvi,TmpISZR.Citizenship) THEN; // ZPW923.43584<- ISZR."Dead Declared" := TmpISZR."Dead Declared"; ISZR."Permanent Stay From" := TmpISZR."Permanent Stay From"; ISZR."Permanent Stay To" := TmpISZR."Permanent Stay To"; ISZR."Capacity Code" := TmpISZR."Capacity Code"; ISZR."Capacity Description" := TmpISZR."Capacity Description"; ISZR."Capacity Limitation" := TmpISZR."Capacity Limitation"; ISZR."Capacity Remove" := TmpISZR."Capacity Remove"; ISZR."Register EO" := TmpISZR."Register EO"; ISZR."Representative Name" := TmpISZR."Representative Name"; ISZR."Representative No." := TmpISZR."Representative No."; ISZR."EC Update Date" := TmpISZR."EC Update Date";; ISZR."EC Personal Identity Number" := TmpISZR."EC Personal Identity Number"; ISZR."Real Stay From" := TmpISZR."Real Stay From"; ISZR."Real Stay To" := TmpISZR."Real Stay To"; ISZR."Stay Permit Code" := TmpISZR."Stay Permit Code"; ISZR."Stay Permit From" := TmpISZR."Stay Permit From"; ISZR."Stay Permit To" := TmpISZR."Stay Permit To"; ISZR."Register EC" := TmpISZR."Register EC"; // ZPW923.38828-> IF ISZR."Identify Code" <> TmpISZR."Identify Code" THEN ISZR."Identify Count" := 1 //kdyz dojde ke zmene Kodu ztotozneni, nastavim 1.pruchod ELSE ISZR."Identify Count" := ISZR."Identify Count" + 1; ISZR."Identify Code" := TmpISZR."Identify Code"; ISZR."Identify Total" := TmpISZR."Identify Total"; ISZR."Identify Last Attempt" := CURRENTDATETIME; ISZR."ROB Data" := TmpISZR."ROB Data"; ISZR."EO Data" := TmpISZR."EO Data"; ISZR."EC Data" := TmpISZR."EC Data"; IF NOT ISNULLGUID(TmpISZR."Request Id") THEN ISZR."Request Id" := TmpISZR."Request Id"; // ZPW923.38828<- ISZR.Zaklad_datum_ISZR := CURRENTDATETIME; ISZR.AP_datum_ISZR := CURRENTDATETIME; ISZR.DA_datum_ISZR := CURRENTDATETIME; ISZR.Jmeno_datum_ISZR := CURRENTDATETIME; ISZR.Prijmeni_datum_ISZR := CURRENTDATETIME; IF NOT ISZR.MODIFY(TRUE) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text003, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; END ELSE BEGIN IF NOT IszrOrgPrihlasAifo(ContactNo,TmpISZR."AIFO Code",Reason,Show) THEN EXIT(FALSE); ErrorCode := ISZRDataMgt.CheckROBData(ContactNo,1,TmpISZR,Show,HardError); ISZR.TRANSFERFIELDS(TmpISZR); // ZPW923.38828-> ISZR."Identify Count" := 1; ISZR."Identify Last Attempt" := CURRENTDATETIME; // ZPW923.38828<- ISZR.Zaklad_datum_ISZR := CURRENTDATETIME; ISZR.AP_datum_ISZR := CURRENTDATETIME; ISZR.DA_datum_ISZR := CURRENTDATETIME; ISZR.Jmeno_datum_ISZR := CURRENTDATETIME; ISZR.Prijmeni_datum_ISZR := CURRENTDATETIME; ISZR."Error Code" := COPYSTR(ErrorCode,1,MAXSTRLEN(ISZR."Error Code")); ISZR."Contact No." := ContactNo; ISZR."Personal Identity Number" := Contact."Personal Identity Number"; IF NOT ISZR.INSERT(TRUE) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text004, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; END; IF HardError THEN BEGIN PerCheckProcesingState.RESET; PerCheckProcesingState.SETRANGE("Process Type",PerCheckProcesingState."Process Type"::"ISZR Identify"); PerCheckProcesingState.SETRANGE(Code,'37'); END ELSE BEGIN PerCheckProcesingState.RESET; PerCheckProcesingState.SETRANGE("Process Type",PerCheckProcesingState."Process Type"::"ISZR Identify"); PerCheckProcesingState.SETRANGE("Additional State Parameter",PerCheckProcesingState."Additional State Parameter"::Processed); END; IF NOT PerCheckProcesingState.FINDFIRST THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text012, PerCheckProcesingState.TABLECAPTION, PerCheckProcesingState.FIELDCAPTION("Additional State Parameter"), FORMAT(PerCheckProcesingState."Additional State Parameter"::Processed)); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZR."Last State Code" := ISZR."State Code"; ISZR."Last State Date" := ISZR."State Date"; ISZR."State Code" := PerCheckProcesingState.Code; ISZR."State Date" := TODAY; ISZR."Error Code" := COPYSTR(ErrorCode,1,MAXSTRLEN(ISZR."Error Code")); ISZR.Processed := PerCheckProcesingState.Processed; IF NOT ISZR.MODIFY THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text003, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; COMMIT; // ZPW923.43725 ISZR.SETRECFILTER; ISZRDataMgt.fx_ReloadDataNAV(ISZR,''); //IF (PerCheckProcesingState."Processing State Entry") AND (ISZR."State Code" <> '40') THEN BEGIN //ZPW953.44653 rem IF (PerCheckProcesingState."Processing State Entry") THEN BEGIN //ZPW953.44653 musim zapsat log i kdyz ztotoznuji CLEAR(ProcessingStateEntry); ProcessingStateEntry."Process Type" := ProcessingStateEntry."Process Type"::"ISZR Ztoto§nØn¡"; ProcessingStateEntry."Reference No." := ISZR."Contact No."; ProcessingStateEntry."State Code" := ISZR."State Code"; ProcessingStateEntry."State Date" := ISZR."State Date"; ProcessingStateEntry."Created By" := USERID; IF NOT ProcessingStateEntry.INSERT(TRUE) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text014, ProcessingStateEntry.TABLECAPTION, ProcessingStateEntry.FIELDCAPTION("State Code"),ISZR."State Code", ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; END; IF NOT HardError THEN BEGIN // aktualizace obecnych udaju a adres UpdatePersonGeneralData(ContactNo,TmpISZR,Show); IF DomesticNationalityByNAV(ContactNo,Show) THEN BEGIN IF TmpISZR.KodAMAdresyPobytu <> 0 THEN UpdateAddressData(ContactNo,TmpISZR,0,0,0,Show); UpdateSecondaryAddress := FALSE; // ZPW923.41865-> //SecAddrCode := ContAddrMgt.FindAdressCodeByType(ContactNo,Contact."Legal Form",0,1); SecAddrCode := GetISZRPersonSecAddrCode(ContactNo,FALSE); // ZPW923.41865<- ContAltAddr.RESET; IF ContAltAddr.GET(ContactNo,SecAddrCode) THEN BEGIN AddressType.RESET; AddressType.SETRANGE(Code,ContAltAddr."Address Type"); AddressType.SETFILTER("Valid from",'<=%1',TODAY); IF NOT AddressType.FINDLAST THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text012, AddressType.TABLECAPTION, AddressType.FIELDCAPTION(Code),ContAltAddr."Address Type"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; // ZPW923.41865-> //IF AddressType."Secondary Address Default" AND ContAltAddr."Base Registry Address" AND // (TmpISZR.KodAMDorucovaciAdresy <> 0) IF ContAltAddr."Base Registry Address" AND (TmpISZR.KodAMDorucovaciAdresy <> 0) // ZPW923.41865<- THEN UpdateSecondaryAddress := TRUE; END ELSE BEGIN IF TmpISZR.KodAMDorucovaciAdresy <> 0 THEN // ZPW923.43584 UpdateSecondaryAddress := TRUE; END; IF UpdateSecondaryAddress THEN UpdateAddressData(ContactNo,TmpISZR,0,1,1,Show) ELSE EndAddress(ContactNo,TmpISZR,0,1,1,Show); END ELSE BEGIN IF TmpISZR.KodAMAdresyPobytu <> 0 THEN UpdateAddressData(ContactNo,TmpISZR,0,1,0,Show); END; // ZPW923.38828-> TempBlob2.DELETEALL; CLEAR(TempBlob2); IF TmpISZR."ROB Data".HASVALUE THEN TempBlob2.Blob := TmpISZR."ROB Data"; IF TmpISZR."EO Data".HASVALUE THEN TempBlob2.Blob := TmpISZR."EO Data"; IF TmpISZR."EC Data".HASVALUE THEN TempBlob2.Blob := TmpISZR."EC Data"; TempBlob2.INSERT; TempBlobZtotozneni.DELETEALL; CLEAR(TempBlobZtotozneni); //plni se v AIFO //AIFO ISZRROBHistoryRequest(ContactNo,5,0,TmpISZR."AIFO Code",TmpISZR."Request Id",TempBlob2,'40', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725 //Ztotozneni TmpGUID := CREATEGUID; IF TmpISZR.COUNT = 0 THEN ISZRROBHistoryRequest(ContactNo,4,0,TmpISZR."Identify Code",TmpGUID,TempBlobZtotozneni,'35', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)) // ZPW923.43725 ELSE // ZPW923.44309-> IF TmpISZR.COUNT > 1 THEN ISZRROBHistoryRequest(ContactNo,4,0,TmpISZR."Identify Code",TmpGUID,TempBlobZtotozneni,'34', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)) ELSE // ZPW923.44309<- ISZRROBHistoryRequest(ContactNo,4,0, TmpISZR."Identify Code",TmpGUID,TempBlobZtotozneni,'40', COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725 // ZPW923.38828<- TempBlobZtotozneni.DELETEALL; CLEAR(TempBlobZtotozneni); ISZRROBHistoryData(ContactNo,0D,0D,TmpISZR); // ZPW923.38828<- END; EXIT(TRUE); END; PROCEDURE IszrOrgPrihlasAifo@62024(ContactNo@1100162000 : Code[20];Aifo@1100162005 : Text[24];Reason@1100162002 : Text[100];Show@1100162013 : ' ,ShowMessage,ShowError') : Boolean; VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; XMLDoc@62000 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62001 : Codeunit 419; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62432; XSLTCode@1100162004 : Code[20]; ISZR@1100162014 : Record 50127; ROBData@1100162006 : TEMPORARY Record 50127; Contact@1100162001 : Record 5050; StartTime@1100162015 : DateTime; EndTime@1100162007 : DateTime; LogEntry@1100162003 : Integer; OldSKIPGUI@1100162016 : Boolean; ServerFileName@62003 : Text; ClientFileName@62002 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); ISZR.RESET; IF ISZR.GET(ContactNo) THEN BEGIN IF ISZR."AIFO Code" <> '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN Contact.RESET; Contact.GET(ContactNo); MESSAGE( Text005, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number", ISZR."AIFO Code"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; END; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetAifo('1',Aifo); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E45',TRUE,Aifo,ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrOrgPrihlasAifo_Response); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'OrgPrihlasAifo') + '\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'OrgPrihlasAifo')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE BackPersonIdentify@62023(ContactNo@1100162002 : Code[20];Reason@1100162001 : Text[100];Show@1100162000 : ' ,ShowMessage,ShowError') : Boolean; VAR ISZR@1100162003 : Record 50127; Contact@1100162004 : Record 5050; PerCheckProcesingState@1100162005 : Record 62672; ProcessingStateEntry@1100162008 : Record 72205; RightGroup@1100162007 : Record 50011; UserRightGroup@1100162006 : Record 50012; CancelISZRIdentifyState@70000 : Code[10]; ISZRROBHistory@70001 : Record 50171; BEGIN IF NOT UserRightGroup.CheckBoolAppRole( USERID,RightGroup.FIELDNO("ISZR Administrator")) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text013,USERID,RightGroup.FIELDCAPTION("ISZR Administrator")); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; Contact.RESET; Contact.GET(ContactNo); ISZR.RESET; IF NOT ISZR.GET(ContactNo) THEN ISZR.INIT; IF ISZR."AIFO Code" = '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text006, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF NOT IszrOrgOdhlasAifo(ContactNo,Reason,Show) THEN EXIT(FALSE); CancelISZRIdentifyState := '70'; // ZPW923.38828 PerCheckProcesingState.RESET; PerCheckProcesingState.SETRANGE("Process Type",PerCheckProcesingState."Process Type"::"ISZR Identify"); // ZPW923.38828-> //PerCheckProcesingState.SETRANGE("Additional State Parameter",PerCheckProcesingState."Additional State Parameter"::Default); PerCheckProcesingState.SETRANGE(Code,CancelISZRIdentifyState); // ZPW923.38828<- IF NOT PerCheckProcesingState.FINDFIRST THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( // ZPW923.38828-> //Text012, //PerCheckProcesingState.TABLECAPTION, //PerCheckProcesingState.FIELDCAPTION("Additional State Parameter"), //FORMAT(PerCheckProcesingState."Additional State Parameter"::Default)); Text033, PerCheckProcesingState.TABLECAPTION, PerCheckProcesingState.FIELDCAPTION("Process Type"),FORMAT(PerCheckProcesingState."Process Type"::"ISZR Identify"), PerCheckProcesingState.FIELDCAPTION(Code),PerCheckProcesingState.Code); // ZPW923.38828<- IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; //ZPW923.44653 -> //ukoncuji platnost AIFO ISZRROBHistory.RESET; ISZRROBHistory.SETRANGE("Contact No.",ContactNo); ISZRROBHistory.SETRANGE("Line Type",ISZRROBHistory."Line Type"::AIFO); ISZRROBHistory.SETRANGE("Source Type",ISZRROBHistory."Source Type"::ROB); IF ISZRROBHistory.FINDLAST THEN BEGIN ISZRROBHistory.VALIDATE("Valid To", TODAY); ISZRROBHistory.MODIFY(TRUE); END; // ZPW923.44653 <- ISZR."AIFO Code" := ''; // ZPW601.38102-> //IF Contact."Middle Name" <> '' THEN BEGIN // ISZR.Jmeno := Contact."First Name" + ' ' + Contact."Middle Name"; //END ELSE BEGIN // ZPW601.38102<- ISZR.Jmeno := Contact."First Name"; // ZPW601.38102-> //END; // ZPW601.38102<- ISZR.Prijmeni := Contact.Surname; ISZR.Obcanstvi := 0; ISZR."Doklad Druh" := ''; ISZR."Doklad Cislo" := ''; //ZPW923.44653 -> ISZR."Identity Card Type 2" := ''; ISZR."Identity Card No 2" := ''; ISZR."Identity Card Type 3" := ''; ISZR."Identity Card No 3" := ''; ISZR."Identify Code" := ''; ISZR."Identify Count" := 0; ISZR.Zaklad_datum_ISZR := 0DT; ISZR.AP_datum_ISZR := 0DT; ISZR.DA_datum_ISZR := 0DT; ISZR.Jmeno_datum_ISZR := 0DT; ISZR.Prijmeni_datum_ISZR := 0DT; //ZPW923.44653 <- ISZR."Datum Narozeni" := 0D; ISZR."Datum Umrti" := 0D; ISZR."Datova Schranka" := ''; ISZR.KodAMAdresyPobytu := 0; ISZR.AP_Ulice := ''; ISZR.AP_TypCislaDomovnihoKod := ''; ISZR.AP_CisloDomovni :=''; ISZR.AP_CisloOrientacni := ''; ISZR.AP_CisloOrientacniPismeno := ''; ISZR.AP_CastObce := ''; ISZR.AP_Obec := ''; ISZR.AP_PSC := ''; ISZR.AP_Okres := ''; ISZR.KodAMDorucovaciAdresy := 0; ISZR.DA_Ulice := ''; ISZR.DA_TypCislaDomovnihoKod := ''; ISZR.DA_CisloDomovni := ''; ISZR.DA_CisloOrientacni := ''; ISZR.DA_CisloOrientacniPismeno := ''; ISZR.DA_CastObce := ''; ISZR.DA_Obec := ''; ISZR.DA_PSC := ''; ISZR.DA_Okres := ''; ISZR."Last State Code" := ISZR."State Code"; ISZR."Last State Date" := ISZR."State Date"; ISZR."State Code" := PerCheckProcesingState.Code; ISZR."State Date" := TODAY; ISZR."Error Code" := ''; ISZR.Processed := PerCheckProcesingState.Processed; IF NOT ISZR.MODIFY(TRUE) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text003, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF PerCheckProcesingState."Processing State Entry" THEN BEGIN CLEAR(ProcessingStateEntry); ProcessingStateEntry."Process Type" := ProcessingStateEntry."Process Type"::"ISZR Ztoto§nØn¡"; ProcessingStateEntry."Reference No." := ISZR."Contact No."; ProcessingStateEntry."State Code" := ISZR."State Code"; ProcessingStateEntry."State Date" := ISZR."State Date"; ProcessingStateEntry."Created By" := USERID; IF NOT ProcessingStateEntry.INSERT(TRUE) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text014, ProcessingStateEntry.TABLECAPTION, ProcessingStateEntry.FIELDCAPTION("State Code"),ISZR."State Code", ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; END; EXIT(TRUE); END; PROCEDURE IszrOrgOdhlasAifo@62022(ContactNo@1100162000 : Code[20];Reason@1100162002 : Text[100];Show@1100162013 : ' ,ShowMessage,ShowError') : Boolean; VAR XMLDoc@62004 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62434; XSLTCode@1100162004 : Code[20]; ISZR@1100162014 : Record 50127; ROBData@1100162006 : TEMPORARY Record 50127; Contact@1100162001 : Record 5050; StartTime@1100162007 : DateTime; EndTime@1100162005 : DateTime; LogEntry@1100162003 : Integer; OldSKIPGUI@1100162015 : Boolean; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); ISZR.RESET; IF NOT ISZR.GET(ContactNo) THEN ISZR.INIT; IF ISZR."AIFO Code" = '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN Contact.RESET; Contact.GET(ContactNo); MESSAGE( Text006, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetAifo('1',ISZR."AIFO Code"); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E46',TRUE,ISZR."AIFO Code",ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrOrgOdhlasAifo_Response); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'OrgOdhlasAifo') + '\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'OrgOdhlasAifo')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE VerifyPersonData@62021(VAR TmpISZR2@1100162008 : TEMPORARY Record 50127;ContactNo@1100162000 : Code[20];Reason@1100162005 : Text[100];Show@1100162002 : ' ,ShowMessage,ShowError';OnlyRecReturn@1100162007 : Boolean;OnlyShowXML@70002 : Boolean) : Boolean; VAR Contact@1100162003 : Record 5050; ISZR@1100162004 : Record 50127; TmpISZR@1100162001 : TEMPORARY Record 50127; TmpISZR3@1100162009 : TEMPORARY Record 50127; TmpISZR4@1000000001 : TEMPORARY Record 50127; ISZRROBLoadedDataCard@1100162006 : Page 50207; FoundInEO@1000000000 : Boolean; TempBlob2@70000 : TEMPORARY Record 99008535; ISZRRequestId@70001 : GUID; BEGIN TmpISZR2.DELETEALL; CLEAR(TmpISZR2); ISZR.RESET; IF NOT ISZR.GET(ContactNo) THEN ISZR.INIT; IF ISZR."AIFO Code" = '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN Contact.RESET; Contact.GET(ContactNo); MESSAGE( Text016, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF NOT IszrRobCtiAifo(ContactNo,ISZR."AIFO Code",Reason,Show, TempBlob2,ISZRRequestId,OnlyShowXML) // ZPW923.38828, ZPW923.44653 (onlyShowXML) THEN EXIT(FALSE); //ZPW923.44653 -> IF OnlyShowXML THEN EXIT; //ZPW923.44653 <- ISZRData.GetROBResponse(TmpISZR); TmpISZR."AIFO Code" := ISZR."AIFO Code"; TmpISZR.MODIFY; IF VerifyPersonDataEO(TmpISZR3,ContactNo,Reason,Show,TRUE) THEN BEGIN TmpISZR3.RESET; TmpISZR3.SETRANGE("AIFO Code",ISZR."AIFO Code"); IF TmpISZR3.FINDFIRST THEN BEGIN TmpISZR."EO Update Date" := TmpISZR3."EO Update Date"; TmpISZR."EO Personal Identity Number" := TmpISZR3."EO Personal Identity Number"; TmpISZR."Birth Surname" := TmpISZR3."Birth Surname"; IF TmpISZR3."Stay Type" <> '' THEN BEGIN TmpISZR."Stay Type" := TmpISZR3."Stay Type"; TmpISZR."Stay Type Text" := TmpISZR3."Stay Type Text"; END; TmpISZR.Citizenship := TmpISZR3.Citizenship; // ZPW923.43584-> IF TmpISZR.Obcanstvi = 0 THEN IF EVALUATE(TmpISZR.Obcanstvi,TmpISZR3.Citizenship) THEN; // ZPW923.43584<- TmpISZR."Dead Declared" := TmpISZR3."Dead Declared"; TmpISZR."Permanent Stay From" := TmpISZR3."Permanent Stay From"; TmpISZR."Permanent Stay To" := TmpISZR3."Permanent Stay To"; TmpISZR."Capacity Code" := TmpISZR3."Capacity Code"; TmpISZR."Capacity Description" := TmpISZR3."Capacity Description"; TmpISZR."Capacity Limitation" := TmpISZR3."Capacity Limitation"; TmpISZR."Capacity Remove" := TmpISZR3."Capacity Remove"; TmpISZR."Representative Name" := TmpISZR3."Representative Name"; TmpISZR."Representative No." := TmpISZR3."Representative No."; TmpISZR."Register EO" := TRUE; TmpISZR.MODIFY; END; FoundInEO := TRUE; END; IF NOT FoundInEO AND VerifyPersonDataEC(TmpISZR4,ContactNo,Reason,Show,TRUE) THEN BEGIN TmpISZR4.RESET; TmpISZR4.SETRANGE("AIFO Code",ISZR."AIFO Code"); IF TmpISZR4.FINDFIRST THEN BEGIN TmpISZR."EC Update Date" := TmpISZR4."EC Update Date";; TmpISZR."EC Personal Identity Number" := TmpISZR4."EC Personal Identity Number"; TmpISZR."Birth Surname" := TmpISZR4."Birth Surname"; IF TmpISZR4."Stay Type" <> '' THEN BEGIN TmpISZR."Stay Type" := TmpISZR4."Stay Type"; TmpISZR."Stay Type Text" := TmpISZR4."Stay Type Text"; END; TmpISZR.Citizenship := TmpISZR4.Citizenship; // ZPW923.43584-> IF TmpISZR.Obcanstvi = 0 THEN IF EVALUATE(TmpISZR.Obcanstvi,TmpISZR4.Citizenship) THEN; // ZPW923.43584<- TmpISZR."Real Stay From" := TmpISZR4."Real Stay From"; TmpISZR."Real Stay To" := TmpISZR4."Real Stay To"; TmpISZR."Capacity Code" := TmpISZR4."Capacity Code"; TmpISZR."Capacity Description" := TmpISZR4."Capacity Description"; TmpISZR."Stay Permit Code" := TmpISZR4."Stay Permit Code"; TmpISZR."Stay Permit From" := TmpISZR4."Stay Permit From"; TmpISZR."Stay Permit To" := TmpISZR4."Stay Permit To"; TmpISZR."Register EC" := TRUE; TmpISZR.MODIFY; END; END; IF OnlyRecReturn THEN BEGIN TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; END ELSE BEGIN CLEAR(ISZRROBLoadedDataCard); ISZRROBLoadedDataCard.FillVariables(ContactNo,TmpISZR,Reason); ISZRROBLoadedDataCard.RUNMODAL; END; EXIT(TRUE); END; PROCEDURE IszrRobCtiAifo@62020(ContactNo@1100162000 : Code[20];Aifo@1100162005 : Text[24];Reason@1100162002 : Text[100];Show@1100162013 : ' ,ShowMessage,ShowError';VAR TempBlob2@70000 : TEMPORARY Record 99008535;VAR ISZRRequestId@70001 : GUID;OnlyShowXML@70002 : Boolean) : Boolean; VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62410; XSLTCode@1100162004 : Code[20]; ISZR@1100162014 : Record 50127; ROBData@1100162006 : TEMPORARY Record 50127; Contact@1100162001 : Record 5050; StartTime@1100162015 : DateTime; EndTime@1100162007 : DateTime; LogEntry@1100162003 : Integer; OldSKIPGUI@1100162016 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetAifo('1',Aifo,'1','vyuziti'); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E03',TRUE,Aifo,ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRobCtiAifo_Response); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E03'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); // ZPW923.38828-> TempBlob2.DELETEALL; CLEAR(TempBlob2); HTTPRequestMgt.GetRequestBlob(TempBlob2); TempBlob2.INSERT; ISZRRequestId := ISZRData.GetISZRRequestId(); // ZPW923.38828<- IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'RobCtiAifo') + '\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'RobCtiAifo')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; // ZPW923.44653 (ZPW154.SZ103252) -> IF OnlyShowXML THEN BEGIN XMLDoc := XMLDoc.XmlDocument(); HTTPRequestMgt.GetResponseXml(XMLDoc); ServerFileName := FileManagement.ServerTempFileName('xml'); XMLDoc.Save(ServerFileName); ClientFileName := FileManagement.ClientTempFileName('xml'); FileManagement.DownloadToFile(ServerFileName,ClientFileName); HYPERLINK(ClientFileName); EXIT; END; // ZPW923.44653 (ZPW154.SZ103252) <- EXIT(TRUE); END; PROCEDURE IszrEidentitaCtiAifo@70008(ContactNo@1100162000 : Code[20];Aifo@1100162005 : Text;Reason@1100162002 : Text[100];VAR CustomerNo@70001 : Code[20];VAR Result@70000 : Text;VAR SWIdentifierEntryNo@70020 : Integer); VAR TempBlob@1100162011 : TEMPORARY Record 99008535; ISZR@70007 : Record 50127; BusinessRelation@70008 : Record 5054; Customer@70009 : Record 18; HIRegistration@70016 : Record 62600; HICard@70015 : Record 62652; PerCheckProcState@70014 : Record 62672; ThirdPartySWIdentity@70019 : Record 70031; ThirdPartySWType@70018 : Record 70030; FileManagement@70002 : Codeunit 419; IszrEidentitaCtiAifoReq@70003 : XMLport 70088; XMLDoc@70006 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; InStr@70005 : InStream; OutStr@70004 : OutStream; StartTime@1100162015 : DateTime; C1@70013 : Code[20]; C2@70012 : Code[20]; I1@70011 : Integer; I2@70010 : Integer; LogEntry@70017 : Integer; BEGIN // ZPW653.38847 ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); XMLDoc := XMLDoc.XmlDocument; CLEAR(TempBlob); TempBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(IszrEidentitaCtiAifoReq); IszrEidentitaCtiAifoReq.SETDESTINATION(OutStr); IszrEidentitaCtiAifoReq.SetAifo('1',Aifo); IszrEidentitaCtiAifoReq.EXPORT; TempBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E226',TRUE,Aifo,ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(TempBlob); TempBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); TempBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::"IszrEidentitaCtiAifo Res"); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(TempBlob); HTTPRequestMgt.GetResponseBlob(TempBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(TempBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN ERROR(STRSUBSTNO(Text001,'IszrEidentitaCtiAifo') + '\' + HTTPRequestMgt.GetResponseErrorText); IF NOT ISZRData.IsResponseOK THEN ERROR(STRSUBSTNO(Text001,'IszrEidentitaCtiAifo')+'\' + ISZRData.GetResponseMessage()); IF Globals.GetVitaCardAifoCode = '' THEN BEGIN CustomerNo := ''; Result := 'NENI_POJISTENEC'; EXIT; END; ISZR.SETCURRENTKEY("Contact No.","AIFO Code"); ISZR.SETRANGE("Contact No.",ContactNo); ISZR.SETRANGE("AIFO Code",Globals.GetVitaCardAifoCode); IF ISZR.FINDFIRST THEN BEGIN BusinessRelation.SETRANGE(BusinessRelation."Contact No.",ContactNo); BusinessRelation.SETRANGE(BusinessRelation."Link to Table",BusinessRelation."Link to Table"::Insuree); IF BusinessRelation.FINDFIRST THEN BEGIN BusinessRelation.TESTFIELD("No."); Customer.GET(BusinessRelation."No."); Customer.GetRegistration(Customer,HIRegistration,HICard,PerCheckProcState,C1,C2,I1,I2); IF HIRegistration."No." = '' THEN BEGIN CustomerNo := Customer."No."; Result := 'NENI_POJISTENEC'; END ELSE BEGIN ThirdPartySWType.SETCURRENTKEY(Type); ThirdPartySWType.SETRANGE(Type,ThirdPartySWType.Type::Vitacard); ThirdPartySWType.FINDFIRST; ThirdPartySWIdentity.SETCURRENTKEY("Contact No.","SW Type","Valid From","Valid To"); ThirdPartySWIdentity.SETRANGE("SW Type",ThirdPartySWType.Code); ThirdPartySWIdentity.SETRANGE("Contact No.",Customer."Partner Code"); ThirdPartySWIdentity.SETFILTER("Valid From",'%1|<=%2',0DT,CURRENTDATETIME); ThirdPartySWIdentity.SETFILTER("Valid To",'%1|>=%2',0DT,CURRENTDATETIME); IF ThirdPartySWIdentity.FINDFIRST THEN BEGIN SWIdentifierEntryNo := ThirdPartySWIdentity."Entry No."; CustomerNo := Customer."No."; Result := 'JE_UZIVATEL'; END ELSE BEGIN CustomerNo := Customer."No."; Result := 'JE_POJISTENEC'; END; END; END ELSE BEGIN CustomerNo := ''; Result := 'NENI_POJISTENEC'; END; END ELSE BEGIN CustomerNo := ''; Result := 'NENI_POJISTENEC'; END; END; PROCEDURE CheckDiffROBNAV@62019(ContactNo@1100162000 : Code[20];VAR tmpISZR@1100162001 : TEMPORARY Record 50127) : Boolean; VAR Contact@1100162008 : Record 5050; Contact2@1100162007 : Record 5050; Country@1100162006 : Record 9; ContactSingleType@1100162005 : Record 62010; Name@1100162004 : Text[50]; i@1100162002 : Integer; AddrCode@1100162003 : Code[20]; ContAddrMgt@1100162009 : Codeunit 62020; AdrType@1100162010 : Record 62060; ContAltAddr@1100162011 : Record 5051; xContAltAddr@1100162012 : Record 5051; NAVBaseDate@1100162016 : DateTime; NAVAPDate@1100162015 : DateTime; NAVDADate@1100162014 : DateTime; NAVFirstNameDate@1100162017 : DateTime; NAVLastNameDate@1100162018 : DateTime; ExtId@1100162019 : Record 62085; DescriptiveNo@70000 : Text[6]; BEGIN IF NOT Contact.GET(ContactNo) THEN EXIT(TRUE); //édaje o osobØ // ZPW601.38102-> //IF Contact."Middle Name" <> '' THEN BEGIN // Name := Contact."First Name" + ' ' + Contact."Middle Name"; //END ELSE BEGIN // ZPW601.38102<- Name := Contact."First Name"; // ZPW601.38102-> //END; // ZPW601.38102<- IF UPPERCASE(Name) <> UPPERCASE(tmpISZR.Jmeno) THEN BEGIN EXIT(TRUE); END; IF UPPERCASE(Contact.Surname) <> UPPERCASE(tmpISZR.Prijmeni) THEN BEGIN EXIT(TRUE); END; IF Contact."Birth Date" <> tmpISZR."Datum Narozeni" THEN BEGIN EXIT(TRUE); END; IF (Contact."Date of Death" = 0D) AND (tmpISZR."Datum Umrti" <> 0D) THEN BEGIN EXIT(TRUE); END; IF (Contact."Date of Death" <> tmpISZR."Datum Umrti") THEN BEGIN EXIT(TRUE); END; IF tmpISZR.Obcanstvi <> 0 THEN BEGIN Country.RESET; Country.SETRANGE("ISZR Country No.",tmpISZR.Obcanstvi); Country.SETFILTER("Valid From",'<=%1',TODAY); IF Country.FINDLAST THEN BEGIN IF Contact.Nationality <> Country.Code THEN BEGIN EXIT(TRUE); END; END; END; IF (Contact."Identity Card No." <> tmpISZR."Doklad Cislo") AND (tmpISZR."Doklad Cislo" <> '') AND (tmpISZR."Doklad Druh" <> '') THEN BEGIN ContactSingleType.RESET; ContactSingleType.SETCURRENTKEY(Code,Type,"Valid From"); ContactSingleType.SETRANGE(Type,ContactSingleType.Type::"Identity Card Type"); ContactSingleType.SETRANGE("External System Code",tmpISZR."Doklad Druh"); ContactSingleType.SETFILTER("Valid From",'<=%1',TODAY); IF ContactSingleType.FINDLAST THEN BEGIN EXIT(TRUE); END; END; // ZPW601.38669 -> IF Contact."Company Databox Id" <> tmpISZR."Datova Schranka" THEN BEGIN EXIT(TRUE); // ZPW601.38669 <- END; IF (tmpISZR."Birth Surname" <> '') AND (tmpISZR."Birth Surname" <> tmpISZR.Prijmeni) AND (UPPERCASE(Contact."Birth Surname") <> UPPERCASE(tmpISZR."Birth Surname")) THEN EXIT(TRUE); IF (tmpISZR.Citizenship <> '') THEN BEGIN Country.RESET; Country.SETFILTER("ISZR Country No.",tmpISZR.Citizenship); Country.SETFILTER("Valid From",'<=%1',TODAY); IF Country.FINDLAST THEN BEGIN IF Contact.Nationality <> Country.Code THEN BEGIN EXIT(TRUE); END; END; END; NAVBaseDate := Contact."Modified At"; IF NAVBaseDate < Contact."Created At" THEN NAVBaseDate := Contact."Created At"; CLEAR(ExtId); ExtId.SETCURRENTKEY(Type,"Contact No.","Valid From"); ExtId.SETRANGE(Type,ExtId.Type::"First Name"); ExtId.SETRANGE("Contact No.",Contact."No."); IF ExtId.FINDLAST THEN BEGIN NAVFirstNameDate := ExtId."Modified At"; IF NAVFirstNameDate < ExtId."Created At" THEN NAVFirstNameDate := ExtId."Created At"; END ELSE BEGIN NAVFirstNameDate := NAVBaseDate; END; ExtId.SETRANGE(Type,ExtId.Type::Surname); IF ExtId.FINDLAST THEN BEGIN NAVLastNameDate := ExtId."Modified At"; IF NAVLastNameDate < ExtId."Created At" THEN NAVLastNameDate := ExtId."Created At"; END ELSE BEGIN NAVLastNameDate := NAVBaseDate; END; //Adresy //2 typy - trval  a kontaktn¡ FOR i := 0 TO 1 DO BEGIN CLEAR(AdrType); AddrCode := ''; CASE i OF 0: BEGIN IF tmpISZR.KodAMAdresyPobytu <> 0 THEN BEGIN IF (DomesticNationalityByNAV(ContactNo,0)) THEN BEGIN AddrCode := ContAddrMgt.FindAdressCodeByType(ContactNo,Contact."Legal Form",0,0); AdrType.SETRANGE("Person Default",TRUE); END ELSE BEGIN AddrCode := ContAddrMgt.FindAdressCodeByType(ContactNo,Contact."Legal Form",0,1); AdrType.SETRANGE("Secondary Address Default",TRUE); END; END; END; 1: BEGIN IF DomesticNationalityByNAV(ContactNo,0) THEN BEGIN // ZPW923.41865-> //AddrCode := ContAddrMgt.FindAdressCodeByType(ContactNo,Contact."Legal Form",0,1); //AdrType.SETRANGE("Secondary Address Default",TRUE); AddrCode := GetISZRPersonSecAddrCode(ContactNo,FALSE); AdrType.SETRANGE(Code,GetISZRPersonSecAddrTypeCode); // ZPW923.41865<- END ELSE BEGIN tmpISZR.KodAMDorucovaciAdresy := 0 END; END; END; ContAltAddr.RESET; IF ContAltAddr.GET(ContactNo,AddrCode) THEN BEGIN IF AdrType.FINDLAST THEN BEGIN IF AdrType.Code = ContAltAddr."Address Type" THEN BEGIN //Samotn‚ ovØýen¡ shody - staŸ¡ Ÿ¡sla, na zbytek kaçleme. IF (i = 0) OR ContAltAddr."Base Registry Address" THEN BEGIN IF (i = 0) AND (ContAltAddr."RUIAN Code" <> FORMAT(tmpISZR.KodAMAdresyPobytu)) AND (ContAltAddr."RUIAN Code" <> 'AD.' + FORMAT(tmpISZR.KodAMAdresyPobytu)) THEN BEGIN IF tmpISZR.AP_CastObce = tmpISZR.AP_Obec THEN tmpISZR.AP_CastObce := ''; IF (ContAltAddr.Address <> tmpISZR.AP_Ulice) // ZPW922.38143-> //OR (ContAltAddr."Descriptive No." <> tmpISZR.AP_CisloDomovni) OR NOT ContAddrMgt.IsDescriptiveNoEqual(ContAltAddr,tmpISZR.AP_CisloDomovni,DescriptiveNo) // ZPW922.38143<- OR (ContAltAddr."Relative No." <> (tmpISZR.AP_CisloOrientacni + tmpISZR.AP_CisloOrientacniPismeno)) OR (ContAltAddr."Address 2" <> tmpISZR.AP_CastObce) OR (ContAltAddr."City Area" <> tmpISZR.AP_MestskaCast) // ZPW601.38573 OR (ContAltAddr.City <> tmpISZR.AP_Obec) OR (ContAltAddr."Post Code" <> tmpISZR.AP_PSC) THEN BEGIN EXIT(TRUE); END ELSE BEGIN //Vçe OK, propaçujeme £daje do NAV ContAltAddr.SetBaseRegistryUpdate(TRUE); ContAltAddr."Base Registry Address" := TRUE; ContAltAddr."RUIAN Code" := FORMAT(tmpISZR.KodAMAdresyPobytu); ContAltAddr.MODIFY; //Zaslat info ISV¬ ContAltAddr.OnSynchItemContactAltAddress(ContAltAddr.GETPOSITION(FALSE),0,''); END; END; IF (i = 1) AND (ContAltAddr."RUIAN Code" <> FORMAT(tmpISZR.KodAMDorucovaciAdresy)) AND (ContAltAddr."RUIAN Code" <> 'AD.' + FORMAT(tmpISZR.KodAMDorucovaciAdresy)) THEN BEGIN IF tmpISZR.DA_CastObce = tmpISZR.DA_Obec THEN tmpISZR.DA_CastObce := ''; IF (ContAltAddr.Address <> tmpISZR.DA_Ulice) // ZPW922.38143-> //OR (ContAltAddr."Descriptive No." <> tmpISZR.DA_CisloDomovni) OR NOT ContAddrMgt.IsDescriptiveNoEqual(ContAltAddr,tmpISZR.DA_CisloDomovni,DescriptiveNo) // ZPW922.38143<- OR (ContAltAddr."Relative No." <> (tmpISZR.DA_CisloOrientacni + tmpISZR.DA_CisloOrientacniPismeno)) OR (ContAltAddr."Address 2" <> tmpISZR.DA_CastObce) OR (ContAltAddr."City Area" <> tmpISZR.DA_MestskaCast) // ZPW601.38573 OR (ContAltAddr.City <> tmpISZR.DA_Obec) OR (ContAltAddr."Post Code" <> tmpISZR.DA_PSC) THEN BEGIN EXIT(TRUE); END ELSE BEGIN //Vçe OK, propaçujeme £daje do NAV ContAltAddr.SetBaseRegistryUpdate(TRUE); ContAltAddr."Base Registry Address" := TRUE; ContAltAddr."RUIAN Code" := FORMAT(tmpISZR.KodAMDorucovaciAdresy); ContAltAddr.MODIFY; //Zaslat info ISV¬ ContAltAddr.OnSynchItemContactAltAddress(ContAltAddr.GETPOSITION(FALSE),0,''); END; END; END; IF (i = 0) AND NOT (ContAltAddr."Base Registry Address") THEN BEGIN NAVAPDate := ContAltAddr."Modified At"; IF NAVAPDate < ContAltAddr."Created At" THEN NAVAPDate := ContAltAddr."Created At"; END; IF (i = 1) AND NOT (ContAltAddr."Base Registry Address") THEN BEGIN NAVDADate := ContAltAddr."Modified At"; IF NAVDADate < ContAltAddr."Created At" THEN NAVDADate := ContAltAddr."Created At"; END; END; END; END ELSE BEGIN IF (i = 0) AND (0 <> tmpISZR.KodAMAdresyPobytu) THEN EXIT(TRUE); IF (i = 1) AND (0 <> tmpISZR.KodAMDorucovaciAdresy) THEN EXIT(TRUE); END; END; IF NAVBaseDate > tmpISZR.Zaklad_datum_NAV THEN tmpISZR.Zaklad_datum_NAV := NAVBaseDate; IF NAVAPDate > tmpISZR.AP_datum_NAV THEN tmpISZR.AP_datum_NAV := NAVAPDate; IF NAVDADate > tmpISZR.DA_datum_NAV THEN tmpISZR.DA_datum_NAV := NAVDADate; IF NAVFirstNameDate > tmpISZR.Jmeno_datum_NAV THEN tmpISZR.Jmeno_datum_NAV := NAVFirstNameDate; IF NAVLastNameDate > tmpISZR.Prijmeni_datum_NAV THEN tmpISZR.Prijmeni_datum_NAV := NAVLastNameDate; //Dopln¡me si nalezen‚ adresy EXIT(FALSE); END; PROCEDURE DomesticNationalityByNAV@62018(ContactNo@1100162004 : Code[20];Show@1100162001 : ' ,ShowMessage,ShowError') : Boolean; VAR Customer@1100162005 : Record 18; HIReg@1100162006 : Record 62600; StayType@1100162007 : Record 62601; BEGIN Customer.RESET; Customer.SETCURRENTKEY("Partner Code"); Customer.SETRANGE("Partner Code",ContactNo); Customer.SETRANGE("Contact Type HI",Customer."Contact Type HI"::Insuree); IF NOT Customer.FINDFIRST THEN EXIT(TRUE); HIReg.RESET; HIReg.SETCURRENTKEY("Insuree No.","Valid From","Valid To","Pre-Registration"); HIReg.SETRANGE("Insuree No.",Customer."No."); HIReg.SETRANGE(Erase,FALSE); IF NOT HIReg.FINDLAST THEN EXIT(TRUE); StayType.RESET; StayType.GET(HIReg."Stay Type Code"); EXIT(NOT StayType."Disable Dom.Country Def.Addr."); END; PROCEDURE DomesticNationalityByISZR@62017(ISZRObcanstvi@1100162000 : Integer;Show@1100162001 : ' ,ShowMessage,ShowError') : Boolean; VAR RMSetup@1100162002 : Record 5079; Country@1100162003 : Record 9; BEGIN IF ISZRObcanstvi <> 0 THEN BEGIN Country.RESET; Country.SETRANGE("ISZR Country No.",ISZRObcanstvi); Country.SETFILTER("Valid From",'<=%1',TODAY); IF Country.FINDLAST THEN BEGIN RMSetup.GET; IF RMSetup."Domestic Country Code" = '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text009, RMSetup.TABLECAPTION,RMSetup.FIELDCAPTION("Domestic Country Code")); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF RMSetup."Domestic Country Code" = Country.Code THEN BEGIN EXIT(TRUE); END; END; END; EXIT(FALSE); END; PROCEDURE DomesticNationalityByEO@1100162026(Citizenship2@1100162000 : Code[10];Show@1100162001 : ' ,ShowMessage,ShowError') : Boolean; VAR RMSetup@1100162002 : Record 5079; BEGIN IF Citizenship2 <> '' THEN BEGIN RMSetup.GET; IF RMSetup."Domestic Country Code" = '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text009, RMSetup.TABLECAPTION,RMSetup.FIELDCAPTION("Domestic Country Code")); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF RMSetup."Domestic Country Code" = Citizenship2 THEN EXIT(TRUE); END; EXIT(FALSE); END; PROCEDURE UpdatePersonGeneralData@62016(ContactNo@1100162000 : Code[20];VAR TmpISZR@1100162002 : TEMPORARY Record 50127;Show@1100162001 : ' ,ShowMessage,ShowError'); VAR Contact@1100162003 : Record 5050; Contact2@1100162008 : Record 5050; Country@1100162006 : Record 9; ContactSingleType@1100162007 : Record 62010; Name@1100162004 : Text[50]; RecModfify@1100162005 : Boolean; ContFunc@1100162009 : Codeunit 62010; Block@1100162010 : Record 50120; ModifyDateOfDeath@1100162011 : Boolean; OldSkipGUI@1100162012 : Boolean; GenCheckLegAreaMgt@1100162013 : Codeunit 62400; i@1000000000 : Integer; Customer@70000 : Record 18; ISZRROBHistory@70001 : Record 50171; BEGIN RecModfify := FALSE; Contact.RESET; Contact.GET(ContactNo); Contact2 := Contact; // ZPW601.38102-> //IF Contact."Middle Name" <> '' THEN BEGIN // Name := Contact."First Name" + ' ' + Contact."Middle Name"; //END ELSE BEGIN // ZPW601.38102<- Name := Contact."First Name"; // ZPW601.38102-> //END; // ZPW601.38102<- IF UPPERCASE(Name) <> UPPERCASE(TmpISZR.Jmeno) THEN BEGIN Contact."Full Name" := ''; IF Contact."Degree Before Name" <> '' THEN BEGIN Contact."Full Name" := Contact."Degree Before Name" + ' '; END; Contact."Full Name" += TmpISZR.Jmeno + ' ' + TmpISZR.Prijmeni; IF Contact."Degree After Name" <> '' THEN BEGIN Contact."Full Name" += ' ' + Contact."Degree After Name"; END; RecModfify := TRUE; // ZPW923.44653 -> //zapisy do historii ISZR pri automatu ROBDownloadchange IF FromROBDownload THEN ISZRROBHistoryDataInsert(ContactNo,1,0,TODAY,0D,COPYSTR(TmpISZR.Jmeno,1,MAXSTRLEN(ISZRROBHistory.Code)),''); // ZPW923.44653 <- END; IF UPPERCASE(Contact.Surname) <> UPPERCASE(TmpISZR.Prijmeni) THEN BEGIN Contact."Full Name" := ''; IF Contact."Degree Before Name" <> '' THEN BEGIN Contact."Full Name" := Contact."Degree Before Name" + ' '; END; Contact."Full Name" += TmpISZR.Jmeno + ' ' + TmpISZR.Prijmeni; IF Contact."Degree After Name" <> '' THEN BEGIN Contact."Full Name" += ' ' + Contact."Degree After Name"; END; RecModfify := TRUE; // ZPW923.44653 -> //zapisy do historii ISZR pri automatu ROBDownloadchange IF FromROBDownload THEN ISZRROBHistoryDataInsert(ContactNo,2,0,TODAY,0D,COPYSTR(TmpISZR.Prijmeni,1,MAXSTRLEN(ISZRROBHistory.Code)),''); // ZPW923.44653 <- END; IF RecModfify THEN BEGIN ContFunc.ValidateFullName(Contact."Full Name",Contact.Initials, Contact."Degree Before Name",Contact."First Name", // ZPW601.38102-> Contact.Surname,Contact."Degree After Name",FALSE); //Contact."Middle Name",Contact.Surname,Contact."Degree After Name",FALSE); // ZPW601.38102<- ContFunc.GeneratePersonName(Contact.Company,Contact.Person, Contact."Degree Before Name",Contact."First Name", // ZPW601.38102-> //Contact."Middle Name",Contact.Surname,Contact."Degree After Name", Contact.Surname,Contact."Degree After Name", // ZPW601.38102<- Contact."Full Name",Contact.Name,Contact."Name 2",FALSE); END; ModifyDateOfDeath := FALSE; IF (Contact."Date of Death" = 0D) AND (TmpISZR."Datum Umrti" <> 0D) THEN BEGIN ModifyDateOfDeath := TRUE; END; IF TmpISZR.Obcanstvi <> 0 THEN BEGIN Country.RESET; Country.SETRANGE("ISZR Country No.",TmpISZR.Obcanstvi); Country.SETFILTER("Valid From",'<=%1',TODAY); IF Country.FINDLAST THEN BEGIN IF Contact.Nationality <> Country.Code THEN BEGIN Contact.Nationality := Country.Code; RecModfify := TRUE; // ZPW923.44653 -> //zapisy do historii ISZR pri automatu ROBDownloadchange IF FromROBDownload THEN ISZRROBHistoryDataInsert(ContactNo,3,0,TODAY,0D,COPYSTR(FORMAT(TmpISZR.Obcanstvi),1,MAXSTRLEN(ISZRROBHistory.Code)),''); // ZPW923.44653 <- END; END; END; IF (Contact."Identity Card No." <> TmpISZR."Doklad Cislo") AND (TmpISZR."Doklad Cislo" <> '') AND (TmpISZR."Doklad Druh" <> '') THEN BEGIN ContactSingleType.RESET; ContactSingleType.SETCURRENTKEY(Code,Type,"Valid From"); ContactSingleType.SETRANGE(Type,ContactSingleType.Type::"Identity Card Type"); ContactSingleType.SETRANGE("External System Code",TmpISZR."Doklad Druh"); ContactSingleType.SETFILTER("Valid From",'<=%1',TODAY); IF ContactSingleType.FINDLAST THEN BEGIN Contact."Identity Card Type" := ContactSingleType.Code; Contact."Identity Card No." := TmpISZR."Doklad Cislo"; RecModfify := TRUE; // ZPW923.44653 -> //zapisy do historii ISZR pri automatu ROBDownloadchange IF FromROBDownload THEN BEGIN ISZRROBHistoryDataInsert(ContactNo,6,0,TODAY,0D,COPYSTR(TmpISZR."Doklad Cislo",1,MAXSTRLEN(ISZRROBHistory.Code)),TmpISZR."Doklad Druh"); //ZPW923.44653 add parametr TypeOfIdentity ISZRROBHistoryDataInsert(ContactNo,6,0,TODAY,0D,COPYSTR(TmpISZR."Identity Card No 2",1,MAXSTRLEN(ISZRROBHistory.Code)),TmpISZR."Identity Card Type 2"); ISZRROBHistoryDataInsert(ContactNo,6,0,TODAY,0D,COPYSTR(TmpISZR."Identity Card No 3",1,MAXSTRLEN(ISZRROBHistory.Code)),TmpISZR."Identity Card Type 3"); END; // ZPW923.44653 <- END; END; // ZPW601.38669 -> IF Contact."Company Databox Id" <> TmpISZR."Datova Schranka" THEN BEGIN Contact."Company Databox Id" := TmpISZR."Datova Schranka"; RecModfify := TRUE; END; // ZPW601.38669 <- IF (TmpISZR."Birth Surname" <> '') AND (TmpISZR."Birth Surname" <> TmpISZR.Prijmeni) AND (Contact."Birth Surname" <> TmpISZR."Birth Surname") THEN BEGIN Contact."Birth Surname" := TmpISZR."Birth Surname"; RecModfify := TRUE; END; IF TmpISZR.Citizenship <> '' THEN BEGIN IF EVALUATE(i,TmpISZR.Citizenship) THEN BEGIN Country.RESET; Country.SETRANGE("ISZR Country No.",i); Country.SETFILTER("Valid From",'<=%1',TODAY); IF Country.FINDLAST THEN BEGIN IF Contact.Nationality <> Country.Code THEN BEGIN Contact.Nationality := Country.Code; RecModfify := TRUE; END; END; END; END; IF RecModfify THEN BEGIN Contact.MODIFY; ISZRSetup.GET; IF ISZRSetup."ISZR Postpone VC Messages" THEN BEGIN Globals.SetContactNo('ISZR-STOP'); END; Contact.SetDontTestChangeAddress(TRUE); //ZPW923.44653 netestuj prava na zmenu adres Contact.OnModify(Contact2); Contact.MODIFY; Globals.SetContactNo(''); Contact.SetDontTestChangeAddress(FALSE); //ZPW923.44653 //ZPW923.44653 -> CLEAR(Customer); Customer.SETCURRENTKEY("Partner Code"); Customer.SETRANGE("Partner Code",ContactNo); Customer.SETRANGE("Contact Type HI",Customer."Contact Type HI"::Insuree); IF Customer.FINDFIRST THEN BEGIN Customer.OnModify(Customer); Customer.MODIFY; END; //ZPW923.44653 <- END; IF ModifyDateOfDeath THEN BEGIN OldSkipGUI := Globals.SetSkipGUI(TRUE); GenCheckLegAreaMgt.SetNewNewDateOfDeath(TmpISZR."Datum Umrti"); GenCheckLegAreaMgt.ChangeContDeathDate(Contact."No."); Globals.SetSkipGUI(OldSkipGUI); END; END; PROCEDURE UpdateAddressData@62015(ContactNo@1100162002 : Code[20];VAR TmpISZR@1100162001 : TEMPORARY Record 50127;ContactType@1100162010 : 'Person,Company';_AddressType@1100162009 : 'Primary,Secondary';UpdateBy@1100162013 : 'AP,DA';Show@1100162000 : ' ,ShowMessage,ShowError'); VAR Contact@1100162005 : Record 5050; ContAltAddr@1100162003 : Record 5051; ContAltAddr2@1100162012 : Record 5051; RMSetup@1100162008 : Record 5079; AddressType@1100162011 : Record 62060; ContAddrMgt@1100162007 : Codeunit 62020; GlobalParameter@1100162016 : Codeunit 62007; AddrCode@1100162006 : Code[20]; PrimAddrCode@1100162014 : Code[20]; RecModfify@1100162004 : Boolean; OldSkipGUI@1100162015 : Boolean; NoSeriesLine@1100162017 : Record 309; KodAdresy@1100162018 : BigInteger; DR@1100162019 : Record 5052; DR2@1100162020 : Record 5052; BEGIN RecModfify := FALSE; Contact.RESET; Contact.GET(ContactNo); CASE UpdateBy OF UpdateBy::AP: KodAdresy := TmpISZR.KodAMAdresyPobytu; UpdateBy::DA: KodAdresy := TmpISZR.KodAMDorucovaciAdresy; END; CASE _AddressType OF _AddressType::Primary: BEGIN IF KodAdresy = 0 THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text017, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT; END; IF (NOT DomesticNationalityByNAV(ContactNo,Show)) THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text018, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT; END; END; _AddressType::Secondary: BEGIN IF DomesticNationalityByNAV(ContactNo,Show) THEN BEGIN IF TmpISZR.KodAMDorucovaciAdresy = 0 THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text019, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT; END; // ZPW923.41865-> IF ContactType = ContactType::Person THEN AddrCode := GetISZRPersonSecAddrCode(ContactNo,FALSE) ELSE // ZPW923.41865<- AddrCode := ContAddrMgt.FindAdressCodeByType(ContactNo,Contact."Legal Form",ContactType,_AddressType); ContAltAddr.RESET; IF ContAltAddr.GET(ContactNo,AddrCode) THEN BEGIN AddressType.RESET; AddressType.SETRANGE(Code,ContAltAddr."Address Type"); AddressType.SETFILTER("Valid from",'<=%1',TODAY); IF NOT AddressType.FINDLAST THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text012, AddressType.TABLECAPTION, AddressType.FIELDCAPTION(Code),ContAltAddr."Address Type"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT; END; { //MARSUC, 26.02.2018 - Check disabled - always use ISZR Contact Address if exists IF AddressType."Secondary Address Default" AND (NOT ContAltAddr."Base Registry Address") THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text020, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT; END; } END; END ELSE BEGIN IF KodAdresy = 0 THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE( Text017, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT; END; END; END; END; PrimAddrCode := ContAddrMgt.FindAdressCodeByTypeInclFict(ContactNo,Contact."Legal Form",ContactType,0); // ZPW923.41865-> IF (ContactType = ContactType::Person) AND (_AddressType = _AddressType::Secondary) THEN AddrCode := GetISZRPersonSecAddrCode(ContactNo,TRUE) ELSE // ZPW923.41865<- AddrCode := ContAddrMgt.FindAdressCodeByTypeInclFict(ContactNo,Contact."Legal Form",ContactType,_AddressType); ContAltAddr.RESET; IF (NOT ContAltAddr.GET(ContactNo,AddrCode)) OR ((_AddressType = _AddressType::Secondary) AND (PrimAddrCode = AddrCode)) THEN BEGIN IF ContactType = ContactType::Person THEN BEGIN AddressType.RESET; IF _AddressType = _AddressType::Primary THEN BEGIN AddressType.SETRANGE("Person Default",TRUE); END ELSE BEGIN // ZPW923.41865-> //AddressType.SETRANGE("Secondary Address Default",TRUE); AddressType.SETRANGE(Code,GetISZRPersonSecAddrTypeCode); // ZPW923.41865<- END; END; //dodelat Company IF NOT AddressType.FINDFIRST THEN EXIT; IF AddressType.Code <> ContAltAddr."Address Type" THEN BEGIN CLEAR(ContAltAddr); ContAltAddr.VALIDATE("Contact No.",ContactNo); ContAltAddr.VALIDATE("Address Type",AddressType.Code); END; END; ContAltAddr2 := ContAltAddr; CASE UpdateBy OF UpdateBy::AP: BEGIN //Oprava - stejnou Ÿ st obce jako n zev obce nepotýebujeme. IF TmpISZR.AP_CastObce = TmpISZR.AP_Obec THEN TmpISZR.AP_CastObce := ''; IF ContAltAddr.Address <> TmpISZR.AP_Ulice THEN BEGIN ContAltAddr.Address := TmpISZR.AP_Ulice; RecModfify := TRUE; END; // ZPW922.38143-> ContAddrMgt.TransferToAddrDescriptiveNo(ContAltAddr,TmpISZR.AP_CisloDomovni,RecModfify); //IF ContAltAddr."Descriptive No." <> TmpISZR.AP_CisloDomovni THEN BEGIN // ContAltAddr."Descriptive No." := TmpISZR.AP_CisloDomovni; // RecModfify := TRUE; //END; // ZPW922.38143<- IF ContAltAddr."Relative No." <> (TmpISZR.AP_CisloOrientacni + TmpISZR.AP_CisloOrientacniPismeno) THEN BEGIN ContAltAddr."Relative No." := TmpISZR.AP_CisloOrientacni + TmpISZR.AP_CisloOrientacniPismeno; RecModfify := TRUE; END; IF ContAltAddr."Address 2" <> TmpISZR.AP_CastObce THEN BEGIN ContAltAddr."Address 2" := TmpISZR.AP_CastObce; RecModfify := TRUE; END; // ZPW601.38573-> IF ContAltAddr."City Area" <> TmpISZR.AP_MestskaCast THEN BEGIN ContAltAddr."City Area" := TmpISZR.AP_MestskaCast; RecModfify := TRUE; END; // ZPW601.38573<- IF ContAltAddr.City <> TmpISZR.AP_Obec THEN BEGIN ContAltAddr.City := TmpISZR.AP_Obec; RecModfify := TRUE; END; IF ContAltAddr."Post Code" <> TmpISZR.AP_PSC THEN BEGIN ContAltAddr."Post Code" := TmpISZR.AP_PSC; RecModfify := TRUE; END; IF ContAltAddr."Base Registry Address" = FALSE THEN BEGIN RecModfify := TRUE; END; IF (ContAltAddr."RUIAN Code" <> FORMAT(TmpISZR.KodAMAdresyPobytu)) AND (ContAltAddr."RUIAN Code" <> 'AD.' + FORMAT(TmpISZR.KodAMAdresyPobytu)) THEN BEGIN RecModfify := TRUE; END; // ZPW923.44653 -> IF (ContAltAddr."House No. Type" = ContAltAddr."House No. Type"::Descriptive) AND (TmpISZR.AP_TypCislaDomovnihoKod = '2') THEN BEGIN ContAltAddr."House No. Type" := ContAltAddr."House No. Type"::Registered; // evidencni RecModfify := TRUE; END; IF (ContAltAddr."House No. Type" = ContAltAddr."House No. Type"::Registered) AND (TmpISZR.AP_TypCislaDomovnihoKod = '1') THEN BEGIN ContAltAddr."House No. Type" := ContAltAddr."House No. Type"::Descriptive; //popisne RecModfify := TRUE; END; // ZPW923.44653 <- IF RecModfify THEN BEGIN RMSetup.GET; RMSetup.TESTFIELD("Domestic Country Code"); ContAltAddr."Country/Region Code" := RMSetup."Domestic Country Code"; ISZRSetup.GET; IF ISZRSetup."ISZR Postpone VC Messages" THEN BEGIN Globals.SetContactNo('ISZR-STOP'); END; IF ISZRSetup."ISZR Lock Tables" THEN BEGIN NoSeriesLine.LOCKTABLE; IF NoSeriesLine.FINDFIRST THEN; END; CLEAR(DR); DR.SETRANGE("Contact No.",ContAltAddr."Contact No."); DR.SETRANGE("Range Type",DR."Range Type"::Address); DR.SETRANGE(Type,ContAltAddr."Address Type"); DR.SETFILTER("Starting Date",'>%1',TODAY); IF DR.FINDSET THEN BEGIN REPEAT DR2 := DR; DR2.DELETE; //Intervaly dopýedu d me pryŸ, nezaj¡maj¡ n s u trval‚ adresy. UNTIL DR.NEXT = 0; END; IF ContAltAddr.Code <> '' THEN BEGIN OldSkipGUI := GlobalParameter.SetSkipGUI(TRUE); ContAltAddr.SetDontTestChangeAddress(TRUE); //ZPW923.44653 netestuj prava na zmenu adres ContAltAddr.OnModify(ContAltAddr2); ContAltAddr.MODIFY; ContAltAddr.SetDontTestChangeAddress(FALSE);//ZPW923.44653 GlobalParameter.SetSkipGUI(OldSkipGUI); END ELSE BEGIN ContAltAddr.INSERT(TRUE); END; ContAltAddr."Base Registry Address" := TRUE; ContAltAddr."RUIAN Code" := FORMAT(TmpISZR.KodAMAdresyPobytu); ContAltAddr.MODIFY; Globals.SetContactNo(''); END; END; UpdateBy::DA: BEGIN //Oprava - stejnou Ÿ st obce jako n zev obce nepotýebujeme. IF TmpISZR.DA_CastObce = TmpISZR.DA_Obec THEN TmpISZR.DA_CastObce := ''; IF ContAltAddr.Address <> TmpISZR.DA_Ulice THEN BEGIN ContAltAddr.Address := TmpISZR.DA_Ulice; RecModfify := TRUE; END; // ZPW922.38143-> ContAddrMgt.TransferToAddrDescriptiveNo(ContAltAddr,TmpISZR.DA_CisloDomovni,RecModfify); //IF ContAltAddr."Descriptive No." <> TmpISZR.DA_CisloDomovni THEN BEGIN // ContAltAddr."Descriptive No." := TmpISZR.DA_CisloDomovni; // RecModfify := TRUE; //END; // ZPW922.38143<- IF ContAltAddr."Relative No." <> (TmpISZR.DA_CisloOrientacni + TmpISZR.DA_CisloOrientacniPismeno) THEN BEGIN ContAltAddr."Relative No." := TmpISZR.DA_CisloOrientacni + TmpISZR.DA_CisloOrientacniPismeno; RecModfify := TRUE; END; IF ContAltAddr."Address 2" <> TmpISZR.DA_CastObce THEN BEGIN ContAltAddr."Address 2" := TmpISZR.DA_CastObce; RecModfify := TRUE; END; // ZPW601.38573-> IF ContAltAddr."City Area" <> TmpISZR.DA_MestskaCast THEN BEGIN ContAltAddr."City Area" := TmpISZR.DA_MestskaCast; RecModfify := TRUE; END; // ZPW601.38573<- IF ContAltAddr.City <> TmpISZR.DA_Obec THEN BEGIN ContAltAddr.City := TmpISZR.DA_Obec; RecModfify := TRUE; END; IF ContAltAddr."Post Code" <> TmpISZR.DA_PSC THEN BEGIN ContAltAddr."Post Code" := TmpISZR.DA_PSC; RecModfify := TRUE; END; IF ContAltAddr."Base Registry Address" = FALSE THEN BEGIN RecModfify := TRUE; END; IF (ContAltAddr."RUIAN Code" <> FORMAT(TmpISZR.KodAMDorucovaciAdresy)) AND (ContAltAddr."RUIAN Code" <> 'AD.' + FORMAT(TmpISZR.KodAMDorucovaciAdresy)) THEN BEGIN RecModfify := TRUE; END; // ZPW923.44653 -> IF (ContAltAddr."House No. Type" = ContAltAddr."House No. Type"::Descriptive) AND (TmpISZR.DA_TypCislaDomovnihoKod = '2') THEN BEGIN ContAltAddr."House No. Type" := ContAltAddr."House No. Type"::Registered; // evidencni RecModfify := TRUE; END; IF (ContAltAddr."House No. Type" = ContAltAddr."House No. Type"::Registered) AND (TmpISZR.DA_TypCislaDomovnihoKod = '1') THEN BEGIN ContAltAddr."House No. Type" := ContAltAddr."House No. Type"::Descriptive; //popisne RecModfify := TRUE; END; // ZPW923.44653 <- IF RecModfify THEN BEGIN RMSetup.GET; RMSetup.TESTFIELD("Domestic Country Code"); ContAltAddr."Country/Region Code" := RMSetup."Domestic Country Code"; ISZRSetup.GET; IF ISZRSetup."ISZR Postpone VC Messages" THEN BEGIN Globals.SetContactNo('ISZR-STOP'); END; IF ISZRSetup."ISZR Lock Tables" THEN BEGIN NoSeriesLine.LOCKTABLE; IF NoSeriesLine.FINDFIRST THEN; END; IF ContAltAddr.Code <> '' THEN BEGIN OldSkipGUI := GlobalParameter.SetSkipGUI(TRUE); ContAltAddr.SetDontTestChangeAddress(TRUE); //ZPW923.44653 netestuj prava na zmenu adres ContAltAddr.OnModify(ContAltAddr2); ContAltAddr.MODIFY; ContAltAddr.SetDontTestChangeAddress(FALSE); //ZPW923.44653 GlobalParameter.SetSkipGUI(OldSkipGUI); END ELSE BEGIN ContAltAddr.INSERT(TRUE); END; ContAltAddr."Base Registry Address" := TRUE; ContAltAddr."RUIAN Code" := FORMAT(TmpISZR.KodAMDorucovaciAdresy); ContAltAddr.MODIFY; Globals.SetContactNo(''); END; END; END; END; PROCEDURE EndAddress@1000000013(ContactNo@1100162002 : Code[20];VAR TmpISZR@1100162001 : TEMPORARY Record 50127;ContactType@1100162010 : 'Person,Company';_AddressType@1100162009 : 'Primary,Secondary';UpdateBy@1100162013 : 'AP,DA';Show@1100162000 : ' ,ShowMessage,ShowError'); VAR Contact@1100162005 : Record 5050; ContAltAddr@1100162003 : Record 5051; ContAltAddr2@1100162012 : Record 5051; RMSetup@1100162008 : Record 5079; AddressType@1100162011 : Record 62060; ContAddrMgt@1100162007 : Codeunit 62020; GlobalParameter@1100162016 : Codeunit 62007; AddrCode@1100162006 : Code[20]; PrimAddrCode@1100162014 : Code[20]; RecModfify@1100162004 : Boolean; OldSkipGUI@1100162015 : Boolean; NoSeriesLine@1100162017 : Record 309; KodAdresy@1100162018 : BigInteger; DR@1100162019 : Record 5052; DR2@1100162020 : Record 5052; BEGIN RecModfify := FALSE; Contact.RESET; Contact.GET(ContactNo); CASE UpdateBy OF UpdateBy::AP: KodAdresy := TmpISZR.KodAMAdresyPobytu; UpdateBy::DA: KodAdresy := TmpISZR.KodAMDorucovaciAdresy; END; PrimAddrCode := ContAddrMgt.FindAdressCodeByTypeInclFict(ContactNo,Contact."Legal Form",ContactType,0); // ZPW923.41865-> IF (ContactType = ContactType::Person) AND (_AddressType = _AddressType::Secondary) THEN AddrCode := GetISZRPersonSecAddrCode(ContactNo,TRUE) ELSE // ZPW923.41865<- AddrCode := ContAddrMgt.FindAdressCodeByTypeInclFict(ContactNo,Contact."Legal Form",ContactType,_AddressType); ContAltAddr.RESET; IF (NOT ContAltAddr.GET(ContactNo,AddrCode)) OR ((_AddressType = _AddressType::Secondary) AND (PrimAddrCode = AddrCode)) THEN BEGIN EXIT; END; IF NOT ContAltAddr."Base Registry Address" THEN EXIT; IF FORMAT(KodAdresy) = ContAltAddr."RUIAN Code" THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN CASE UpdateBy OF UpdateBy::AP: MESSAGE( Text026, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); UpdateBy::DA: MESSAGE( Text027, TmpISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); END; IF Show = Show::ShowError THEN ERROR(''); END; EXIT; END; CLEAR(DR); DR.SETRANGE("Contact No.",ContactNo); DR.SETRANGE(Code,AddrCode); DR.SETRANGE("Range Type",DR."Range Type"::Address); DR.SETFILTER("Ending Date",'%1|>=%2',0D,CALCDATE('-1',TODAY)); IF DR.FINDSET THEN REPEAT DR2 := DR; IF DR2."Starting Date" <= TODAY THEN BEGIN DR2."Ending Date" := CALCDATE('-1',TODAY); DR2."Modified By" := USERID; DR2."Modified At" := CURRENTDATETIME; DR2.MODIFY; END ELSE BEGIN DR2.DELETE(TRUE); END; UNTIL DR.NEXT = 0; ContAltAddr2 := ContAltAddr; ContAltAddr2."Valid Record" := FALSE; ContAltAddr2.SetUpdatePostCodeOnly(TRUE); ContAltAddr2.SetDontTestChangeAddress(TRUE); //ZPW923.44653 netestuj prava na zmenu adres ContAltAddr2.OnModify(ContAltAddr); ContAltAddr2.MODIFY; ContAltAddr2.SetDontTestChangeAddress(FALSE); //ZPW923.44653 END; PROCEDURE ROBQueueList@62014(IdZmeny@1100162000 : BigInteger;CasOd@1100162001 : DateTime;CasDo@1100162002 : DateTime;Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62416; XSLTCode@1100162004 : Code[20]; StartTime@1100162007 : DateTime; EndTime@1100162006 : DateTime; LogEntry@1100162003 : Integer; OldSKIPGUI@1100162013 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParameters(CasOd,CasDo,IdZmeny); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E07',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRobCtiZmeny_Response); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'ROBCtiZmeny') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'ROBCtiZmeny')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE ROBMultipleAifo@62013(VAR tmpQueueData@1100162000 : TEMPORARY Record 50129;firstTransactionId@1100162007 : BigInteger;lastTransactionId@1100162013 : BigInteger;Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62418; XSLTCode@1100162004 : Code[20]; StartTime@1100162003 : DateTime; EndTime@1100162002 : DateTime; LogEntry@1100162001 : Integer; OldSkipGUI@1100162006 : Boolean; ISZRROSFunctions@1100162014 : Codeunit 50115; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := ISZRROSFunctions.UpdateReasonByTransactionId( firstTransactionId,lastTransactionId,Reason); XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParameters(tmpQueueData); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E08',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRobCtiHromadneAifo_Respons); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E08'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'ROBCtiHromadneAifo') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'ROBCtiHromadneAifo')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE ROBDownloadChanges@62012(); VAR firstTransactionId@1100162023 : BigInteger; lastTransactionId@1100162000 : BigInteger; lastReceivedTime@1100162001 : DateTime; Queue@1100162002 : Record 50129; Queue2@1100162022 : Record 50129; tmpResult1@1100162003 : TEMPORARY Record 50129; tmpResultOne@1100162018 : TEMPORARY Record 50129; tmpBlob@1100162004 : TEMPORARY Record 99008535; XMLDoc@62002 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; XMLDoc2@62001 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; Node@62000 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode"; inStr@1100162007 : InStream; OutStr@1100162013 : OutStream; tmpResult2@1100162009 : TEMPORARY Record 50127; nodePAth@1100162010 : Text[250]; ROBData@1100162011 : Record 50127; Cont@1100162012 : Record 5050; pocetAifo@1100162014 : Integer; ISZRDataMgt@1100162016 : Codeunit 50108; ErrorCode@1100162015 : Code[100]; HardError@1100162017 : Boolean; LogEntry@1000000000 : Record 62719; LogNo@1000000001 : Integer; lTxt001@1000000002 : TextConst 'CSY=Sta§en¡ zmØn ISZR;ENU=Download ISZR changes'; lTxt002@1000000003 : TextConst 'CSY=Sta§eno %1 zmØn;ENU=%1 changes was downloaded'; lTxt003@1000000004 : TextConst 'CSY=Zpracov n¡ z znam…;ENU=Processing of records'; lTxt004@1000000005 : TextConst 'CSY=Zpracov no %1 z znam…;ENU=Processed %1 records'; recRef@1000000006 : RecordRef; lTxt005@1000000007 : TextConst 'CSY=PokraŸov n¡ ve sta§en¡ pýedchoz¡ch z znam…;ENU=Continue downloading previous records'; lTxt006@1000000008 : TextConst 'CSY=Sta§en¡ obsahu zmØn ISZR;ENU=Download content of ISZR changes'; lTxt007@1000000009 : TextConst 'CSY=Z pis £daj… do MD NAV;ENU=Writing data to MD NAV'; lTxt008@1000000010 : TextConst 'CSY=Zpracov no %1 z znam… celkem;ENU=Processed %1 records in total'; pocetROB@1000000011 : Integer; Dlg@1000000012 : Dialog; Dlg001@1000000013 : TextConst 'CSY=Sta§en¡ zmØn ROB\Krok #1##########\Z znam #2###### z #3######;ENU=Download ROB changes\Step #1##########\Z znam #2###### z #3######'; pokracovat@1100162019 : Boolean; pocetZprav@1100162020 : Integer; pocetJedneZpravy@1100162021 : Integer; lTxt009@1100162024 : TextConst 'CSY=Kontrola zmØn EO;ENU=Checking EO changes'; lTxt010@1100162025 : TextConst 'CSY=Kontrola zmØn EO dokonŸena;ENU=Checking EO changes completed'; lTxt011@1100162026 : TextConst 'CSY=Kontrola zmØn EC;ENU=Checking EC changes'; lTxt012@1100162027 : TextConst 'CSY=Kontrola zmØn EC dokonŸena;ENU=Checking EC changes completed'; DorucovaciAdresaNo@70001 : Text; AdresaPobytuNo@70000 : Text; BEGIN ISZRSetup.GET; CLEAR(Queue); Queue.SETCURRENTKEY("State Code"); Queue.SETRANGE("State Code",'20'); Queue.SETRANGE("Service Code",'E08'); CLEAR(recRef); IF GUIALLOWED THEN BEGIN Dlg.OPEN(Dlg001); Dlg.UPDATE(2,0); Dlg.UPDATE(3,0); END; IF Queue.FINDSET THEN BEGIN //Nezpracovan‚ pýedchoz¡ z znamy, zkus¡me znovu st hnout. IF GUIALLOWED THEN Dlg.UPDATE(1,lTxt005); LogEntry.InsDeskLogEntry(5,50105,0,28,lTxt005,recRef); REPEAT tmpResult1.INIT; tmpResult1.TRANSFERFIELDS(Queue,TRUE); tmpResult1."Error Description" := FORMAT(Queue."Entry No."); tmpResult1.INSERT; UNTIL Queue.NEXT = 0; Queue.SETRANGE("State Code"); Queue.SETCURRENTKEY("Entry No."); END ELSE BEGIN //ZaŸ¡n me stahovat nov‚ z znamy IF GUIALLOWED THEN Dlg.UPDATE(1,lTxt001); LogEntry.InsDeskLogEntry(5,50105,0,28,lTxt001,recRef); Queue.SETRANGE("State Code"); Queue.SETRANGE("Service Code",'E08'); Queue.SETCURRENTKEY("Entry No."); IF Queue.FINDLAST THEN BEGIN lastTransactionId := Queue."Transaction Id"; lastReceivedTime := 0DT; END ELSE BEGIN lastTransactionId := 0; lastReceivedTime := CREATEDATETIME(011013D,0T); //PoŸ tek pr ce na ISZR END; pokracovat := TRUE; WHILE pokracovat DO BEGIN pokracovat := FALSE; CLEAR(tmpResultOne); tmpResultOne.DELETEALL; ROBQueueList(lastTransactionId,lastReceivedTime,0DT,Text021); ISZRData.GetQueueResponse(tmpResultOne); IF tmpResultOne.FINDSET THEN BEGIN REPEAT tmpResult1 := tmpResultOne; tmpResult1."Entry No." := tmpResult1.COUNT; tmpResult1."Contact No." := FORMAT(tmpResult1.COUNT + 1); tmpResult1.INSERT; CLEAR(Queue); //IF (tmpResultOne.COUNT = 1) AND (tmpResult1."Contact No." = '1') AND (tmpResult1."Transaction Id" = lastTransactionId) AND (ISZRData.GetResponseCode() = 'OK') THEN BEGIN // nevrati zadne nove prirustky - pokud jede automatem 1x za 24hodin nemelo by zde nastat (vzdy by mel vratit nove transakce) //END ELSE BEGIN Queue.INIT; Queue."Entry No." := 0; Queue."Received At" := CURRENTDATETIME; Queue."Transaction Id" := tmpResult1."Transaction Id"; Queue."Service Code" := tmpResult1."Service Code"; Queue."Request Id" := ISZRData.GetISZRRequestId(); Queue."AIFO Code" := tmpResult1."AIFO Code"; Queue."Contact No." := tmpResult1."Contact No."; IF tmpResult1."AIFO Code" <> '' THEN Queue."State Code" := '20' ELSE Queue."State Code" := '40'; Queue."State Date" := TODAY; Queue."Error Code" := ''; Queue."Error Description" := ''; Queue.Description := ''; Queue."Created By" := USERID; Queue."Created At" := CURRENTDATETIME; Queue.INSERT; tmpResult1."Error Description" := FORMAT(Queue."Entry No."); tmpResult1.MODIFY; //END; UNTIL tmpResultOne.NEXT = 0; IF GUIALLOWED THEN BEGIN Dlg.UPDATE(2,tmpResultOne.COUNT); Dlg.UPDATE(3,tmpResult1.COUNT); END; IF (tmpResult1."Transaction Id" > lastTransactionId) AND (ISZRData.GetResponseCode() <> 'OK') THEN BEGIN lastTransactionId := tmpResult1."Transaction Id"; IF tmpResult1.COUNT < 100000 THEN //Nebudeme stahovat £plnØ vçechno pokracovat := TRUE; END; END; END; END; LogEntry.InsDeskLogEntry(5,50105,1,28,STRSUBSTNO(lTxt002,tmpResult1.COUNT),recRef); tmpResult1.SETFILTER("AIFO Code",'%1',''); //Odstran¡me nulov‚ zpr vy ze seznamu, ty n s nezaj¡maj¡. tmpResult1.DELETEALL; IF GUIALLOWED THEN Dlg.UPDATE(3,tmpResult1.COUNT); tmpResult1.SETRANGE("AIFO Code"); tmpResult1.MODIFYALL("Error Code",'2',FALSE); tmpResult1.SETRANGE("Error Code",'2'); LogEntry.InsDeskLogEntry(5,50105,0,28,lTxt003,recRef); IF GUIALLOWED THEN BEGIN Dlg.UPDATE(1,lTxt003); Dlg.UPDATE(2,0); Dlg.UPDATE(3,tmpResult1.COUNT); END; IF tmpResult1.FINDLAST THEN lastTransactionId := tmpResult1."Transaction Id"; IF tmpResult1.FINDFIRST THEN firstTransactionId := tmpResult1."Transaction Id"; pocetROB := 0; pocetZprav := 0; WHILE (tmpResult1.FINDFIRST) AND (pocetAifo <> tmpResult1.COUNT) DO BEGIN pocetAifo := tmpResult1.COUNT; //Kontrola, abychom se nezacyklili. Pokud nic nevr t¡, cel‚ to bal¡me. ROBMultipleAifo(tmpResult1,firstTransactionId,lastTransactionId,Text021); //NaŸteme si seznam odpovØd¡ CLEAR(tmpResult2); tmpResult2.DELETEALL; ISZRData.GetROBResponse(tmpResult2); //RozdØl¡me XML pro ka§dou zpr vu zvl çœ pro ulo§en¡ IF tmpResult2.FINDSET THEN BEGIN CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); tmpBlob.Blob.CREATEINSTREAM(inStr); XMLDoc := XMLDoc.XmlDocument; XMLDoc.Load(inStr); CLEAR(ROBData); ROBData.SETCURRENTKEY("AIFO Code"); pocetJedneZpravy := 0; REPEAT //Vypreparujeme si pý¡sluçn‚ XML pocetZprav += 1; pocetJedneZpravy += 1; IF GUIALLOWED THEN BEGIN Dlg.UPDATE(2,pocetZprav); END; XMLDoc.Load(inStr); //ZPW923.44653 - puvodne a chybne odstranil v druhem a dalsim zaznamu Osoba XMLDoc2 := XMLDoc2.XmlDocument; XMLDoc2 := XMLDoc; // ZPW923.38828-> // Odfiltrujeme partnery, kter‚ nepotýebujeme nodePAth := '/Envelope/Body/RobCtiHromadneAifoResponse/RobOdpoved/RobCtiHromadneAifoDataResponse' + '/Osoba[Aifo != "' + tmpResult2."Contact No." + '"]'; Node := XMLDoc2.SelectSingleNode(nodePAth); WHILE (NOT ISNULL(Node)) DO BEGIN Node.ParentNode.RemoveChild(Node); Node := XMLDoc2.SelectSingleNode(nodePAth); END; // Odfiltrujeme adresy, kter‚ nepotýebujeme (AdresaPobytu) nodePAth := '/Envelope/Body/RobCtiHromadneAifoResponse/RobOdpoved/RobCtiHromadneAifoDataResponse' + '/Osoba/AdresaPobytu'; Node := XMLDoc2.SelectSingleNode(nodePAth); AdresaPobytuNo := ''; IF NOT ISNULL(Node) THEN AdresaPobytuNo := Node.InnerText; // Odfiltrujeme adresy, kter‚ nepotýebujeme (DorucovaciAdresa) nodePAth := '/Envelope/Body/RobCtiHromadneAifoResponse/RobOdpoved/RobCtiHromadneAifoDataResponse' + '/Osoba/DorucovaciAdresa'; Node := XMLDoc2.SelectSingleNode(nodePAth); DorucovaciAdresaNo := ''; IF NOT ISNULL(Node) THEN DorucovaciAdresaNo := Node.InnerText; IF (AdresaPobytuNo <> '') OR (DorucovaciAdresaNo <> '') THEN BEGIN CASE TRUE OF (AdresaPobytuNo <> '') AND (DorucovaciAdresaNo <> ''): nodePAth := '/Envelope/Body/RobCtiHromadneAifoResponse/RuianOdpoved/RuianCtiProRobDataResponse/SeznamAdres/PolozkovaAdresa[(AdresniMistoKod != "' + AdresaPobytuNo + '") and (AdresniMistoKod != "' + DorucovaciAdresaNo + '") ]'; (AdresaPobytuNo <> ''): nodePAth := '/Envelope/Body/RobCtiHromadneAifoResponse/RuianOdpoved/RuianCtiProRobDataResponse/SeznamAdres/PolozkovaAdresa[AdresniMistoKod != "' + AdresaPobytuNo + '"]'; (DorucovaciAdresaNo <> ''): nodePAth := '/Envelope/Body/RobCtiHromadneAifoResponse/RuianOdpoved/RuianCtiProRobDataResponse/SeznamAdres/PolozkovaAdresa[AdresniMistoKod != "' + DorucovaciAdresaNo + '"]'; END; Node := XMLDoc2.SelectSingleNode(nodePAth); WHILE (NOT ISNULL(Node)) DO BEGIN Node.ParentNode.RemoveChild(Node); Node := XMLDoc2.SelectSingleNode(nodePAth); END; END; // Odfiltrujeme ostatn¡ nepotýebn‚ elementy // MapaAifo nodePAth := '/Envelope/Body/RobCtiHromadneAifoResponse/RuianOdpoved/RuianCtiProRobDataResponse/SeznamLokalit'; Node := XMLDoc2.SelectSingleNode(nodePAth); WHILE (NOT ISNULL(Node)) DO BEGIN Node.ParentNode.RemoveChild(Node); Node := XMLDoc2.SelectSingleNode(nodePAth); END; // SeznamLokalit nodePAth := '/Envelope/Body/RobCtiHromadneAifoResponse/MapaAifo/PrevodAifo[LokalniAifo != "' + tmpResult2."Contact No." + '"]'; Node := XMLDoc2.SelectSingleNode(nodePAth); WHILE (NOT ISNULL(Node)) DO BEGIN Node.ParentNode.RemoveChild(Node); Node := XMLDoc2.SelectSingleNode(nodePAth); END; // ZPW923.38828<- ROBData.SETRANGE("AIFO Code",tmpResult2."AIFO Code"); IF NOT ROBData.FINDFIRST THEN ROBData."Contact No." := ''; tmpResult1.SETRANGE("AIFO Code",tmpResult2."AIFO Code"); IF tmpResult1.FINDSET THEN BEGIN REPEAT IF EVALUATE(lastTransactionId,tmpResult1."Error Description") THEN BEGIN Queue.GET(lastTransactionId); Queue."Contact No." := ROBData."Contact No."; IF Cont.GET(ROBData."Contact No.") THEN BEGIN Queue."Personal Identity Number" := Cont."Personal Identity Number"; Queue."Full Name" := Cont."Full Name"; END; Queue."Content of Message".CREATEOUTSTREAM(OutStr); XMLDoc2.Save(OutStr); Queue."Last State Code" := Queue."State Code"; Queue."Last State Date" := Queue."State Date"; Queue."State Code" := '30'; Queue."State Date" := TODAY; Queue."Error Code" := ''; Queue."Error Description" := ''; Queue."Modified By" := USERID; Queue."Modified At" := CURRENTDATETIME; Queue.Description := ''; Queue.MODIFY; Queue.MARK := TRUE; IF (ROBData."Contact No." <> '') THEN BEGIN // ZPW923.43584-> IF tmpResult2.Obcanstvi = 0 THEN tmpResult2.Obcanstvi := ROBData.Obcanstvi; // ZPW923.43584<- IF ROBData.TestIsDifferentROB(tmpResult2) THEN BEGIN ROBData.CopyDataFieldsToRecord(tmpResult2); ROBData."Last State Code" := ROBData."State Code"; ROBData."Last State Date" := ROBData."State Date"; ISZRDataMgt.InitRecordField(ROBData,'37'); ROBData.MODIFY; Queue."State Code" := '39'; Queue."State Date" := TODAY; Queue.MODIFY; END ELSE BEGIN Queue."State Code" := '40'; //Beze zmØny, nebudeme ani zpracov vat. Queue."State Date" := TODAY; Queue.MODIFY; END; END; COMMIT; //Pýi vol n¡ WS dlouho Ÿek me, nebudeme zdr§ovat. //Nastav¡me si, §e jsme dostali odpovØÔ. tmpResult1."Error Code" := '1'; tmpResult1.MODIFY; END; UNTIL tmpResult1.NEXT = 0; END; UNTIL tmpResult2.NEXT = 0; tmpResult1.SETRANGE("AIFO Code"); END; //Zpracujeme odpovØdi //Nejprve to, co nebylo nalezeno Queue.MARKEDONLY(TRUE); tmpResult1.SETRANGE("AIFO Code"); IF tmpResult1.FINDSET THEN BEGIN REPEAT IF EVALUATE(lastTransactionId,tmpResult1."Error Description") THEN BEGIN Queue.SETRANGE("Entry No.",lastTransactionId); IF Queue.FINDFIRST THEN BEGIN Queue."State Code" := '35'; Queue."Error Code" := '1'; Queue."Error Description" := ''; Queue.MODIFY; END; END; UNTIL tmpResult1.NEXT = 0; END; END; Queue.MARKEDONLY(FALSE); Queue.CLEARMARKS; Queue.RESET; Queue.SETRANGE("Entry No."); Queue.SETCURRENTKEY("State Code"); Queue.SETRANGE("State Code",'39'); Queue.SETRANGE("Service Code",'E08'); ROBData.RESET; ROBData.CLEARMARKS; ROBData.SETRANGE("AIFO Code"); ROBData.SETCURRENTKEY("Contact No."); IF Queue.FINDSET THEN BEGIN LogEntry.InsDeskLogEntry(5,50105,0,28,lTxt007,recRef); pocetROB := Queue.COUNT; IF GUIALLOWED THEN BEGIN Dlg.UPDATE(1,lTxt007); Dlg.UPDATE(2,0); Dlg.UPDATE(3,pocetROB); END; pocetZprav := 0; REPEAT pocetZprav := pocetZprav + 1; IF ROBData.GET(Queue."Contact No.") THEN BEGIN ROBData.MARK(TRUE); HardError := FALSE; ErrorCode := ISZRDataMgt.CheckROBData(ROBData."Contact No.",2,ROBData,0,HardError); IF HardError THEN BEGIN ISZRDataMgt.InitRecordField(ROBData,'37'); END ELSE BEGIN Globals.SetExternalIDFromISZR(TRUE); //pri vzniku External ID nesmi zapsat do ROB, ktery tady modifikuji FromROBDownload := TRUE; //ZPW923.44653 zapis do Historie UpdatePersonGeneralData(ROBData."Contact No.",ROBData,0); FromROBDownload := FALSE; //ZPW923.44653 IF ROBData.KodAMAdresyPobytu <> 0 THEN UpdateAddressData(ROBData."Contact No.",ROBData,0,0,0,0); IF ROBData.KodAMDorucovaciAdresy <> 0 THEN BEGIN IF DomesticNationalityByNAV(ROBData."Contact No.",0) THEN BEGIN UpdateAddressData(ROBData."Contact No.",ROBData,0,1,1,0); END ELSE BEGIN UpdateAddressData(ROBData."Contact No.",ROBData,0,1,0,0); END; END ELSE BEGIN IF DomesticNationalityByNAV(ROBData."Contact No.",0) THEN BEGIN EndAddress(ROBData."Contact No.",ROBData,0,1,1,0); END; END; ISZRDataMgt.InitRecordField(ROBData,'40'); Globals.SetExternalIDFromISZR(FALSE); END; ROBData."Error Code" := COPYSTR(ErrorCode,1,MAXSTRLEN(ROBData."Error Code")); ROBData.MODIFY; //Prop¡çeme si stav vyhodnocen¡ dat Queue2 := Queue; Queue2."Data Error Code" := COPYSTR(ROBData."Error Code",1,MAXSTRLEN(Queue."Data Error Code")); Queue2."State Code" := '40'; Queue2."State Date" := TODAY; Queue2.MODIFY; COMMIT; IF GUIALLOWED THEN Dlg.UPDATE(2,pocetZprav); END ELSE BEGIN Queue2 := Queue; Queue2."State Code" := '35'; Queue2."Error Code" := '1'; Queue2."State Date" := TODAY; Queue2.MODIFY; END; UNTIL Queue.NEXT = 0; IF GUIALLOWED THEN Dlg.UPDATE(2,pocetROB); LogEntry.InsDeskLogEntry(5,50105,1,28,STRSUBSTNO(lTxt004,ROBData.COUNT),recRef); END; IF ISZRSetup."ISZR EO Check" IN [ISZRSetup."ISZR EO Check"::"53",ISZRSetup."ISZR EO Check"::Always] THEN BEGIN ROBData.MARKEDONLY(TRUE); IF ROBData.FINDSET THEN BEGIN LogEntry.InsDeskLogEntry(5,50105,1,28,lTxt009,recRef); REPEAT IF (ISZRSetup."ISZR EO Check" = ISZRSetup."ISZR EO Check"::Always) OR (ISZRDataMgt.CheckLegal53(ROBData."Contact No.",FALSE)) THEN BEGIN CLEAR(tmpResult2); IF VerifyPersonDataEO(tmpResult2,ROBData."Contact No.",'Aktualizace £daj… ROB',0,TRUE) THEN BEGIN IF ROBData.TestIsDifferentEO(tmpResult2) THEN BEGIN ROBData.CopyDataFieldsToRecordEO(tmpResult2); HardError := FALSE; ErrorCode := ISZRDataMgt.CheckROBData(ROBData."Contact No.",2,ROBData,0,HardError); ROBData."Error Code" := COPYSTR(ErrorCode,1,MAXSTRLEN(ROBData."Error Code")); ROBData.MODIFY; END; END; END; UNTIL ROBData.NEXT = 0; LogEntry.InsDeskLogEntry(5,50105,1,28,lTxt010,recRef); END; END; IF ISZRSetup."ISZR EC Check" IN [ISZRSetup."ISZR EO Check"::"53",ISZRSetup."ISZR EC Check"::Always] THEN BEGIN ROBData.MARKEDONLY(TRUE); IF ROBData.FINDSET THEN BEGIN LogEntry.InsDeskLogEntry(5,50105,1,28,lTxt011,recRef); REPEAT IF (ROBData."Register EC") AND ((ISZRSetup."ISZR EC Check" = ISZRSetup."ISZR EC Check"::Always) OR (ISZRDataMgt.CheckLegal53(ROBData."Contact No.",FALSE))) THEN BEGIN CLEAR(tmpResult2); IF VerifyPersonDataEC(tmpResult2,ROBData."Contact No.",'Aktualizace £daj… ROB',0,TRUE) THEN BEGIN IF ROBData.TestIsDifferentEO(tmpResult2) THEN BEGIN ROBData.CopyDataFieldsToRecordEO(tmpResult2); HardError := FALSE; ErrorCode := ISZRDataMgt.CheckROBData(ROBData."Contact No.",2,ROBData,0,HardError); ROBData."Error Code" := COPYSTR(ErrorCode,1,MAXSTRLEN(ROBData."Error Code")); ROBData.MODIFY; END; END; END; UNTIL ROBData.NEXT = 0; LogEntry.InsDeskLogEntry(5,50105,1,28,lTxt012,recRef); END; END; LogEntry.InsDeskLogEntry(5,50105,1,28,STRSUBSTNO(lTxt008,pocetROB),recRef); IF GUIALLOWED THEN Dlg.CLOSE(); END; PROCEDURE UpdateReasonByContactNo@62011(ContactNo@1100162000 : Code[20];Reason@1100162001 : Text[100]) Reason2 : Text[200]; BEGIN IF ContactNo <> '' THEN BEGIN Reason2 := STRSUBSTNO(Text023,ContactNo) + Reason; IF STRLEN(Reason2) > MAXSTRLEN(Reason) THEN Reason2 := DELSTR(Reason2,(MAXSTRLEN(Reason) + 1)); END ELSE BEGIN Reason2 := Reason; END; END; PROCEDURE IszrAiseoCtiAifo2@1100162022(ContactNo@1100162000 : Code[20];Aifo@1100162005 : Text[24];Reason@1100162002 : Text[100];Show@1100162013 : ' ,ShowMessage,ShowError';VAR TempBlob2@70000 : TEMPORARY Record 99008535;VAR ISZRRequestId@70001 : GUID) : Boolean; VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 50030; XSLTCode@1100162004 : Code[20]; ISZR@1100162014 : Record 50127; ROBData@1100162006 : TEMPORARY Record 50127; Contact@1100162001 : Record 5050; StartTime@1100162015 : DateTime; EndTime@1100162007 : DateTime; LogEntry@1100162003 : Integer; OldSKIPGUI@1100162016 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetAifo('1',Aifo); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E171',TRUE,Aifo,ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrAiseoCtiAifo2_Response); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E171'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); // ZPW923.38828-> TempBlob2.DELETEALL; CLEAR(TempBlob2); HTTPRequestMgt.GetRequestBlob(TempBlob2); TempBlob2.INSERT; ISZRRequestId := ISZRData.GetISZRRequestId(); // ZPW923.38828<- IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'AiseoCtiAifo2') + '\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'AiseoCtiAifo2')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE IszrAiseoCtiPodleUdaju2@1100162028(PersonalIdentityNumber@1100162019 : Code[10];Name@1100162000 : Text[50];LastName@1100162020 : Text[50];Surname@1100162001 : Text[45];LastSurname@1100162021 : Text[45];BirthSurname@1100162022 : Text[45];BirthDate@1100162002 : Date;Reason@1100162005 : Text[100];Show@1100162015 : ' ,ShowMessage,ShowError';ContactNo@1100162003 : Code[20];ParameterNo@1000000000 : Integer;VAR TempBlob2@70000 : TEMPORARY Record 99008535;ISZRRequestId@70001 : GUID) : Boolean; VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 50032; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162017 : DateTime; EndTime@1100162016 : DateTime; LogEntry@1100162007 : Integer; OldSKIPGui@1100162018 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetFindParameters( PersonalIdentityNumber, Name, LastName, Surname, LastSurname, BirthSurname, '', '', '', '', BirthDate, ParameterNo); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E172',TRUE,'',ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrAiseoCtiPodleUdaju2_Respon); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E172'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); // ZPW923.38828->7 TempBlob2.DELETEALL; CLEAR(TempBlob2); HTTPRequestMgt.GetRequestBlob(TempBlob2); TempBlob2.INSERT; ISZRRequestId := ISZRData.GetISZRRequestId(); // ZPW923.38828<- IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'AiseoCtiPodleUdaju2') + '\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'AiseoCtiPodleUdaju2')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE IszrAiscCtiAifo@1000000011(ContactNo@1100162000 : Code[20];Aifo@1100162005 : Text[24];Reason@1100162002 : Text[100];Show@1100162013 : ' ,ShowMessage,ShowError';VAR TempBlob2@70001 : TEMPORARY Record 99008535;VAR ISZRRequestId@70000 : GUID) : Boolean; VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 50034; XSLTCode@1100162004 : Code[20]; ISZR@1100162014 : Record 50127; ROBData@1100162006 : TEMPORARY Record 50127; Contact@1100162001 : Record 5050; StartTime@1100162015 : DateTime; EndTime@1100162007 : DateTime; LogEntry@1100162003 : Integer; OldSKIPGUI@1100162016 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetAifo('1',Aifo); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E162',TRUE,Aifo,ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrAiscCtiAifo_Response); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E162'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); // ZPW923.38828-> TempBlob2.DELETEALL; CLEAR(TempBlob2); HTTPRequestMgt.GetRequestBlob(TempBlob2); TempBlob2.INSERT; ISZRRequestId := ISZRData.GetISZRRequestId(); // ZPW923.38828<- IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'AiscCtiAifo') + '\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'AiscCtiAifo')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE IszrAiscCtiPodleUdaju@1000000014(PersonalIdentityNumber@1100162019 : Code[10];Name@1100162000 : Text[50];LastName@1100162020 : Text[50];Surname@1100162001 : Text[45];LastSurname@1100162021 : Text[45];BirthSurname@1100162022 : Text[45];BirthDate@1100162002 : Date;Reason@1100162005 : Text[100];Show@1100162015 : ' ,ShowMessage,ShowError';ContactNo@1100162003 : Code[20];VAR TempBlob2@70000 : TEMPORARY Record 99008535;VAR ISZRRequestId@70001 : GUID) : Boolean; VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 50036; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162017 : DateTime; EndTime@1100162016 : DateTime; LogEntry@1100162007 : Integer; OldSKIPGui@1100162018 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; Reason := UpdateReasonByContactNo(ContactNo,Reason); XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetFindParameters( PersonalIdentityNumber, Name, LastName, Surname, LastSurname, BirthSurname, '', '', '', '', BirthDate); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E163',TRUE,'',ContactNo); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrAiscCtiPodleUdaju_Response); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E163'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); // ZPW923.38828-> TempBlob2.DELETEALL; CLEAR(TempBlob2); HTTPRequestMgt.GetRequestBlob(TempBlob2); TempBlob2.INSERT; ISZRRequestId := ISZRData.GetISZRRequestId(); // ZPW923.38828<- IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'AiscCtiPodleUdaju') + '\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'AiscCtiPodleUdaju')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE FindPersonByPIN@1100162029(VAR TmpISZR2@1100162017 : TEMPORARY Record 50127;ContactNo@1100162019 : Code[20];PersonalIdentityNumber@1100162016 : Code[10];FirstName@1100162015 : Text[45];MiddleName@1100162003 : Text[24];LastName@1100162014 : Text[50];Surname@1100162013 : Text[45];LastSurname@1100162012 : Text[45];BirthSurname@1100162006 : Text[45];BirthDate@1100162000 : Date;Reason@1100162004 : Text[30];Show@1100162007 : ' ,ShowMessage,ShowError';OnlyRecReturn@1100162018 : Boolean) : Boolean; VAR TmpISZR@1100162001 : TEMPORARY Record 50127; TmpISZR3@1100162021 : TEMPORARY Record 50127; Contact@1100162002 : Record 5050; TmpPINHistory@1100162022 : TEMPORARY Record 50171; ISZRROBLoadedDataCardWizard@1100162009 : Page 50208; ISZRROBLoadedDataList@1100162005 : Page 50206; IdentifyContactNo@1100162008 : Code[20]; Name@1100162010 : Text[70]; ReturnRobCtiPodleUdaju@1100162020 : Boolean; ReturnAiseoCtiPodleUdaju2@1100162011 : Boolean; TempBlob2@70000 : TEMPORARY Record 99008535; ISZRRequestId@70001 : GUID; ISZRStateCode@70002 : Code[10]; BEGIN ISZRSetup.GET; ReturnRobCtiPodleUdaju := FALSE; ReturnAiseoCtiPodleUdaju2 := FALSE; TmpISZR3.DELETEALL; CLEAR(TmpISZR3); TmpISZR2.DELETEALL; CLEAR(TmpISZR2); TmpISZR.DELETEALL; CLEAR(TmpISZR); TmpPINHistory.DELETEALL; CLEAR(TmpPINHistory); IF MiddleName <> '' THEN BEGIN Name := FirstName + ' ' + MiddleName; END ELSE BEGIN Name := FirstName; END; IF (PersonalIdentityNumber = '') OR (Name = '') OR (Surname = '') THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(Text024); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; //dohledava se podle RC, jmena, prijmeni ReturnAiseoCtiPodleUdaju2 := IszrAiseoCtiPodleUdaju2( PersonalIdentityNumber,Name,LastName,Surname,LastSurname,BirthSurname,BirthDate,Reason,Show,ContactNo,1, TempBlob2,ISZRRequestId); // ZPW923.38828 IF ReturnAiseoCtiPodleUdaju2 THEN BEGIN ISZRData.GetROBResponse(TmpISZR3); // ZPW923.38828-> TmpISZR3."EO Data" := TempBlob2.Blob; IF NOT ISNULLGUID(ISZRRequestId) THEN TmpISZR3."Request Id" := ISZRRequestId; IF TmpISZR3.MODIFY THEN; // ZPW923.38828<- ISZRData.GetPINHistoryResponse(TmpPINHistory); END; IF (TmpISZR3.COUNT <> 1) OR ((TmpISZR3."AIFO Code" = '') AND (TmpISZR3."EO Personal Identity Number" = '')) THEN ReturnAiseoCtiPodleUdaju2 := FALSE; IF NOT ReturnAiseoCtiPodleUdaju2 THEN //dohledava se podle jmena, prijmeni a data narozeni ReturnAiseoCtiPodleUdaju2 := IszrAiseoCtiPodleUdaju2( PersonalIdentityNumber,Name,LastName,Surname,LastSurname,BirthSurname,BirthDate,Reason,Show,ContactNo,9, TempBlob2,ISZRRequestId); // ZPW923.38828 IF ReturnAiseoCtiPodleUdaju2 THEN BEGIN ISZRData.GetROBResponse(TmpISZR3); // ZPW923.38828-> TmpISZR3."EO Data" := TempBlob2.Blob; IF NOT ISNULLGUID(ISZRRequestId) THEN TmpISZR3."Request Id" := ISZRRequestId; IF TmpISZR3.MODIFY THEN; // ZPW923.38828<- ISZRData.GetPINHistoryResponse(TmpPINHistory); END; IF (TmpISZR3.COUNT <> 1) OR ((TmpISZR3."AIFO Code" = '') AND (TmpISZR3."EO Personal Identity Number" = '')) THEN ReturnAiseoCtiPodleUdaju2 := FALSE; IF ReturnAiseoCtiPodleUdaju2 AND (TmpISZR3."AIFO Code" <> '') THEN ReturnRobCtiPodleUdaju := IszrRobCtiAifo( ContactNo,TmpISZR3."AIFO Code",Reason,Show, TempBlob2,ISZRRequestId,FALSE); // ZPW923.38828, ZPW923.44653 IF ReturnRobCtiPodleUdaju THEN BEGIN ISZRData.GetROBResponse(TmpISZR); // ZPW923.38828-> TmpISZR."EO Data" := TempBlob2.Blob; IF NOT ISNULLGUID(ISZRRequestId) THEN TmpISZR."Request Id" := ISZRRequestId; IF TmpISZR.MODIFY THEN; // ZPW923.38828<- END ELSE BEGIN TmpISZR := TmpISZR3; IF TmpISZR.INSERT THEN; END; IF ReturnAiseoCtiPodleUdaju2 AND (TmpISZR3."AIFO Code" <> '') THEN ReturnAiseoCtiPodleUdaju2 := IszrAiseoCtiAifo2(ContactNo,TmpISZR3."AIFO Code",Reason,Show, TempBlob2,ISZRRequestId); // ZPW923.38828 IF ReturnAiseoCtiPodleUdaju2 THEN BEGIN ISZRData.GetROBResponse(TmpISZR3); // ZPW923.38828-> TmpISZR3."EO Data" := TempBlob2.Blob; IF NOT ISNULLGUID(ISZRRequestId) THEN TmpISZR3."Request Id" := ISZRRequestId; IF TmpISZR3.MODIFY THEN; // ZPW923.38828<- ISZRData.GetPINHistoryResponse(TmpPINHistory); END; IF TmpISZR.COUNT <> 1 THEN ReturnRobCtiPodleUdaju := FALSE; IF ReturnAiseoCtiPodleUdaju2 THEN BEGIN TmpISZR."AIFO Code" := TmpISZR3."AIFO Code"; TmpISZR."EO Update Date" := TmpISZR3."EO Update Date"; TmpISZR."EO Personal Identity Number" := TmpISZR3."EO Personal Identity Number"; TmpISZR."Birth Surname" := TmpISZR3."Birth Surname"; IF TmpISZR3."Stay Type" <> '' THEN BEGIN TmpISZR."Stay Type" := TmpISZR3."Stay Type"; TmpISZR."Stay Type Text" := TmpISZR3."Stay Type Text"; END; TmpISZR.Citizenship := TmpISZR3.Citizenship; // ZPW923.43584-> IF TmpISZR.Obcanstvi = 0 THEN IF EVALUATE(TmpISZR.Obcanstvi,TmpISZR3.Citizenship) THEN; // ZPW923.43584<- TmpISZR."Dead Declared" := TmpISZR3."Dead Declared"; TmpISZR."Permanent Stay From" := TmpISZR3."Permanent Stay From"; TmpISZR."Permanent Stay To" := TmpISZR3."Permanent Stay To"; TmpISZR."Capacity Code" := TmpISZR3."Capacity Code"; TmpISZR."Capacity Description" := TmpISZR3."Capacity Description"; TmpISZR."Capacity Limitation" := TmpISZR3."Capacity Limitation"; TmpISZR."Capacity Remove" := TmpISZR3."Capacity Remove"; TmpISZR."Representative Name" := TmpISZR3."Representative Name"; TmpISZR."Representative No." := TmpISZR3."Representative No."; // // ZPW923.38828-> TmpISZR."EO Data" := TmpISZR3."EO Data"; IF NOT ISNULLGUID(TmpISZR3."Request Id") THEN TmpISZR."Request Id" := TmpISZR3."Request Id"; // ZPW923.38828<- TmpISZR2."Register EO" := TmpISZR3."Register EO"; TmpISZR.MODIFY; IF ContactNo <> '' THEN // ZPW923.38828-> //ISZRPINHistoryUpdate(ContactNo,TmpPINHistory,1); ISZRStateCode := '40'; // ZPW923.38828<- END ELSE BEGIN // ZPW923.44309-> IF TmpISZR.COUNT > 1 THEN ISZRStateCode := '34'; // ZPW923.44309<- END; // ZPW923.38828-> IF ISZRStateCode = '' THEN ISZRStateCode := '35'; ISZRROBHistoryRequest( ContactNo,4,1,'',ISZRRequestId,TempBlob2,ISZRStateCode,COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725 // ZPW923.38828<- IF ReturnAiseoCtiPodleUdaju2 THEN BEGIN IF (TmpISZR.COUNT = 0) AND (NOT OnlyRecReturn) THEN BEGIN IF ISZRSetup."ISZR Debug" THEN MESSAGE(Text022 + '\ \' + ISZRData.GetResponseMessage()) ELSE MESSAGE(Text022); EXIT; END; IF OnlyRecReturn THEN BEGIN IF TmpISZR.FINDSET(FALSE,FALSE) THEN BEGIN REPEAT TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; UNTIL (TmpISZR.NEXT(1) = 0); EXIT(TRUE); END; EXIT(FALSE); END; IF TmpISZR.COUNT = 1 THEN BEGIN CLEAR(ISZRROBLoadedDataCardWizard); ISZRROBLoadedDataCardWizard.FillVariables(TmpISZR,Reason); ISZRROBLoadedDataCardWizard.RUNMODAL; IdentifyContactNo := ISZRROBLoadedDataCardWizard.GetIdentifyContactNo; END ELSE BEGIN CLEAR(ISZRROBLoadedDataList); ISZRROBLoadedDataList.FillVariables('',TmpISZR,Reason); ISZRROBLoadedDataList.RUNMODAL; IdentifyContactNo := ISZRROBLoadedDataList.GetIdentifyContactNo; END; IF IdentifyContactNo <> '' THEN BEGIN TmpISZR.RESET; TmpISZR.GET(IdentifyContactNo); TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; END; END ELSE BEGIN EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE FindPersonByPINEC@1000000012(VAR TmpISZR2@1100162017 : TEMPORARY Record 50127;ContactNo@1100162019 : Code[20];PersonalIdentityNumber@1100162016 : Code[10];FirstName@1100162015 : Text[45];MiddleName@1100162003 : Text[24];LastName@1100162014 : Text[50];Surname@1100162013 : Text[45];LastSurname@1100162012 : Text[45];BirthSurname@1100162006 : Text[45];BirthDate@1100162000 : Date;Reason@1100162004 : Text[30];Show@1100162007 : ' ,ShowMessage,ShowError';OnlyRecReturn@1100162018 : Boolean) : Boolean; VAR TmpISZR@1100162001 : TEMPORARY Record 50127; TmpISZR3@1100162021 : TEMPORARY Record 50127; Contact@1100162002 : Record 5050; TmpPINHistory@1100162022 : TEMPORARY Record 50171; ISZRROBLoadedDataCardWizard@1100162009 : Page 50208; ISZRROBLoadedDataList@1100162005 : Page 50206; IdentifyContactNo@1100162008 : Code[20]; Name@1100162010 : Text[70]; ReturnRobCtiPodleUdaju@1100162020 : Boolean; ReturnAiscCtiPodleUdaju@1100162011 : Boolean; TempBlob2@70000 : TEMPORARY Record 99008535; ISZRRequestId@70001 : GUID; ISZRStateCode@70002 : Code[10]; BEGIN ISZRSetup.GET; ReturnRobCtiPodleUdaju := FALSE; ReturnAiscCtiPodleUdaju := FALSE; TmpISZR3.DELETEALL; CLEAR(TmpISZR3); TmpISZR2.DELETEALL; CLEAR(TmpISZR2); TmpISZR.DELETEALL; CLEAR(TmpISZR); TmpPINHistory.DELETEALL; CLEAR(TmpPINHistory); IF MiddleName <> '' THEN BEGIN Name := FirstName + ' ' + MiddleName; END ELSE BEGIN Name := FirstName; END; IF ((PersonalIdentityNumber = '') AND (BirthDate = 0D)) OR (Name = '') OR (Surname = '') THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN MESSAGE(Text024); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ReturnAiscCtiPodleUdaju := IszrAiscCtiPodleUdaju( PersonalIdentityNumber,Name,LastName,Surname,LastSurname,BirthSurname,BirthDate,Reason,Show,ContactNo, TempBlob2,ISZRRequestId); // ZPW923.38828 IF ReturnAiscCtiPodleUdaju THEN BEGIN ISZRData.GetROBResponse(TmpISZR3); // ZPW923.38828-> TmpISZR3."EC Data" := TempBlob2.Blob; IF NOT ISNULLGUID(ISZRRequestId) THEN TmpISZR3."Request Id" := ISZRRequestId; IF TmpISZR3.MODIFY THEN; // ZPW923.38828<- ISZRData.GetPINHistoryResponse(TmpPINHistory); END; IF (TmpISZR3.COUNT <> 1) OR ((TmpISZR3."AIFO Code" = '') AND (TmpISZR3."EO Personal Identity Number" = '')) THEN ReturnAiscCtiPodleUdaju := FALSE; IF ReturnAiscCtiPodleUdaju THEN BEGIN IF (TmpISZR3."AIFO Code" <> '') THEN BEGIN ReturnRobCtiPodleUdaju := IszrRobCtiAifo( ContactNo,TmpISZR3."AIFO Code",Reason,Show, TempBlob2,ISZRRequestId,FALSE); // ZPW923.38828, ZPW923.44653 IF ReturnRobCtiPodleUdaju THEN BEGIN ISZRData.GetROBResponse(TmpISZR); TmpISZR."EC Data" := TempBlob2.Blob; IF NOT ISNULLGUID(ISZRRequestId) THEN TmpISZR."Request Id" := ISZRRequestId; IF TmpISZR.MODIFY THEN; END; END ELSE BEGIN TmpISZR := TmpISZR3; IF TmpISZR.INSERT THEN; END; END; IF TmpISZR.COUNT <> 1 THEN ReturnRobCtiPodleUdaju := FALSE; IF ReturnAiscCtiPodleUdaju THEN BEGIN TmpISZR."AIFO Code" := TmpISZR3."AIFO Code"; TmpISZR."EC Update Date" := TmpISZR3."EC Update Date"; TmpISZR."EC Personal Identity Number" := TmpISZR3."EC Personal Identity Number"; TmpISZR."Birth Surname" := TmpISZR3."Birth Surname"; IF TmpISZR3."Stay Type" <> '' THEN BEGIN TmpISZR."Stay Type" := TmpISZR3."Stay Type"; TmpISZR."Stay Type Text" := TmpISZR3."Stay Type Text"; END; TmpISZR.Citizenship := TmpISZR3.Citizenship; // ZPW923.43584-> IF TmpISZR.Obcanstvi = 0 THEN IF EVALUATE(TmpISZR.Obcanstvi,TmpISZR3.Citizenship) THEN; // ZPW923.43584<- TmpISZR."CitizenShip Text" := TmpISZR3."CitizenShip Text"; TmpISZR."Real Stay From" := TmpISZR3."Real Stay From"; TmpISZR."Real Stay To" := TmpISZR3."Real Stay To"; TmpISZR."Capacity Code" := TmpISZR3."Capacity Code"; TmpISZR."Capacity Description" := TmpISZR3."Capacity Description"; TmpISZR."Stay Permit Code" := TmpISZR3."Stay Permit Code"; TmpISZR."Stay Permit From" := TmpISZR3."Stay Permit From"; TmpISZR."Stay Permit To" := TmpISZR3."Stay Permit To"; // ZPW923.38828-> TmpISZR."EC Data" := TmpISZR3."EC Data"; IF NOT ISNULLGUID(TmpISZR3."Request Id") THEN TmpISZR."Request Id" := TmpISZR3."Request Id"; // ZPW923.38828<- TmpISZR2."Register EC" := TmpISZR3."Register EC"; TmpISZR.MODIFY; IF ContactNo <> '' THEN // ZPW923.38828-> //ISZRPINHistoryUpdate(ContactNo,TmpPINHistory,1); ISZRStateCode := '40'; // ZPW923.38828<- END ELSE BEGIN // ZPW923.44309-> IF TmpISZR.COUNT > 1 THEN ISZRStateCode := '34'; // ZPW923.44309<- END; // ZPW923.38828-> IF ISZRStateCode = '' THEN ISZRStateCode := '35'; ISZRROBHistoryRequest(ContactNo,4,2,'',ISZRRequestId,TempBlob2,ISZRStateCode,COPYSTR(ISZRData.GetResponseCode + ' ' + ISZRData.GetResponseMessage,1,250)); // ZPW923.43725 // ZPW923.38828<- IF ReturnAiscCtiPodleUdaju THEN BEGIN IF (TmpISZR.COUNT = 0) AND (NOT OnlyRecReturn) THEN BEGIN IF ISZRSetup."ISZR Debug" THEN MESSAGE(Text022 + '\ \' + ISZRData.GetResponseMessage()) ELSE MESSAGE(Text022); EXIT; END; IF OnlyRecReturn THEN BEGIN IF TmpISZR.FINDSET(FALSE,FALSE) THEN BEGIN REPEAT TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; UNTIL (TmpISZR.NEXT(1) = 0); EXIT(TRUE); END; EXIT(FALSE); END; IF TmpISZR.COUNT = 1 THEN BEGIN CLEAR(ISZRROBLoadedDataCardWizard); ISZRROBLoadedDataCardWizard.FillVariables(TmpISZR,Reason); ISZRROBLoadedDataCardWizard.RUNMODAL; IdentifyContactNo := ISZRROBLoadedDataCardWizard.GetIdentifyContactNo; END ELSE BEGIN CLEAR(ISZRROBLoadedDataList); ISZRROBLoadedDataList.FillVariables('',TmpISZR,Reason); ISZRROBLoadedDataList.RUNMODAL; IdentifyContactNo := ISZRROBLoadedDataList.GetIdentifyContactNo; END; IF IdentifyContactNo <> '' THEN BEGIN TmpISZR.RESET; TmpISZR.GET(IdentifyContactNo); TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; END; END ELSE BEGIN EXIT(FALSE); END; EXIT(TRUE); END; PROCEDURE VerifyPersonDataEO@1100162025(VAR TmpISZR2@1100162008 : TEMPORARY Record 50127;ContactNo@1100162000 : Code[20];Reason@1100162005 : Text[100];Show@1100162002 : ' ,ShowMessage,ShowError';OnlyRecReturn@1100162007 : Boolean) : Boolean; VAR Contact@1100162003 : Record 5050; ISZR@1100162004 : Record 50127; TmpISZR@1100162001 : TEMPORARY Record 50127; TmpPINHistory@1100162010 : TEMPORARY Record 50171; ISZRROBLoadedDataCard@1100162006 : Page 50207; TempBlob2@70000 : TEMPORARY Record 99008535; ISZRRequestId@70001 : GUID; BEGIN //ZPW923.44653 -> ISZRSetup.GET; IF ISZRSetup."ISZR EO Check" = ISZRSetup."ISZR EO Check"::No THEN EXIT(FALSE); // ZPW923.44653 <- TmpISZR2.DELETEALL; CLEAR(TmpISZR2); ISZR.RESET; IF NOT ISZR.GET(ContactNo) THEN ISZR.INIT; IF ISZR."AIFO Code" = '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN Contact.RESET; Contact.GET(ContactNo); MESSAGE( Text016, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF NOT IszrAiseoCtiAifo2(ContactNo,ISZR."AIFO Code",Reason,Show, TempBlob2,ISZRRequestId) // ZPW923.38828 THEN EXIT(FALSE); ISZRData.GetROBResponse(TmpISZR); ISZRData.GetPINHistoryResponse(TmpPINHistory); //ISZRPINHistoryUpdate(ContactNo,TmpPINHistory,1); // ZPW923.38828 IF OnlyRecReturn THEN BEGIN TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; END ELSE BEGIN CLEAR(ISZRROBLoadedDataCard); ISZRROBLoadedDataCard.FillVariables(ContactNo,TmpISZR,Reason); ISZRROBLoadedDataCard.RUNMODAL; END; EXIT(TRUE); END; PROCEDURE VerifyPersonDataEC@1000000010(VAR TmpISZR2@1100162008 : TEMPORARY Record 50127;ContactNo@1100162000 : Code[20];Reason@1100162005 : Text[100];Show@1100162002 : ' ,ShowMessage,ShowError';OnlyRecReturn@1100162007 : Boolean) : Boolean; VAR Contact@1100162003 : Record 5050; ISZR@1100162004 : Record 50127; TmpISZR@1100162001 : TEMPORARY Record 50127; TmpPINHistory@1100162010 : TEMPORARY Record 50171; ISZRECLoadedDataCard@1100162006 : Page 50299; TempBlob2@70001 : TEMPORARY Record 99008535; ISZRRequestId@70000 : GUID; BEGIN //ZPW923.44653 -> ISZRSetup.GET; IF ISZRSetup."ISZR EC Check" = ISZRSetup."ISZR EC Check"::No THEN EXIT(FALSE); // ZPW923.44653 <- TmpISZR2.DELETEALL; CLEAR(TmpISZR2); ISZR.RESET; IF NOT ISZR.GET(ContactNo) THEN ISZR.INIT; IF ISZR."AIFO Code" = '' THEN BEGIN IF Show IN [Show::ShowMessage,Show::ShowError] THEN BEGIN Contact.RESET; Contact.GET(ContactNo); MESSAGE( Text025, ISZR.FIELDCAPTION("Contact No."),ContactNo, Contact.FIELDCAPTION("Personal Identity Number"),Contact."Personal Identity Number"); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF NOT IszrAiscCtiAifo(ContactNo,ISZR."AIFO Code",Reason,Show, TempBlob2,ISZRRequestId) // ZPW923.38828 THEN EXIT(FALSE); ISZRData.GetROBResponse(TmpISZR); ISZRData.GetPINHistoryResponse(TmpPINHistory); //ISZRPINHistoryUpdate(ContactNo,TmpPINHistory,2); // ZPW923.38828 IF OnlyRecReturn THEN BEGIN TmpISZR2.TRANSFERFIELDS(TmpISZR); TmpISZR2.INSERT; END ELSE BEGIN CLEAR(ISZRECLoadedDataCard); ISZRECLoadedDataCard.FillVariables(ContactNo,TmpISZR,Reason); ISZRECLoadedDataCard.RUNMODAL; END; EXIT(TRUE); END; PROCEDURE ISZRROBHistoryRequest@1100162027(ContactNo@1100162002 : Code[20];LineType@1100162000 : Option;SourceType@70003 : 'ROB,REO,REC';ParamCode@70002 : Text[50];RequestId@70005 : GUID;TempBlob2@70004 : TEMPORARY Record 99008535;ISZRStateCode@70006 : Code[10];ErrorDescription@70000 : Text); VAR ISZRROBHistory@1100162001 : Record 50171; ErrorDescriptionNAV@70001 : Text[250]; BEGIN // ZPW923.43725 CLEAR(ISZRROBHistory); //ZPW923.44653 -> IF (ISZRStateCode = '35') AND (STRPOS(ErrorDescription,'PREKROCEN SEZNAM') <> 0) THEN ISZRStateCode := '34'; //duplicita ErrorDescriptionNAV := ''; IF STRPOS(ErrorDescription,'PREKROCEN SEZNAM') <> 0 THEN ErrorDescriptionNAV := Text034; IF STRPOS(ErrorDescription,'k¢d: OK') <> 0 THEN ErrorDescriptionNAV := Text035; IF STRPOS(ErrorDescription,'ZAZNAM NENALEZEN') <> 0 THEN ErrorDescriptionNAV := Text036; IF STRPOS(ErrorDescription,'NO SOAP') <> 0 THEN ErrorDescriptionNAV := Text037; //ZPW923.44653 <- WITH ISZRROBHistory DO BEGIN ISZRROBHistory.SETRANGE("Request Id",RequestId); ISZRROBHistory.SETRANGE("Contact No.",ContactNo); //ZPW923.44653 vadi v pripade noveho POJ, Partnera - nasel 1. polozku na same 0000... IF ISZRROBHistory.FINDFIRST THEN BEGIN "Contact No." := ContactNo; "Line Type" := LineType; Code := ParamCode; "Source Type" := SourceType; "ISZR Status" := ISZRStateCode; //ZPW923.44653 -> IF Parameters.HASVALUE THEN BEGIN CALCFIELDS(Parameters); TempBlobZtotozneni.Blob := Parameters; IF TempBlobZtotozneni.INSERT THEN; END; //ZPW923.44653 <- IF TempBlob2.Blob.HASVALUE THEN Parameters := TempBlob2.Blob; "Error Description" := ErrorDescription; "Error Description NAV" := ErrorDescriptionNAV; //ZPW923.44653 MODIFY(TRUE); END ELSE BEGIN "Contact No." := ContactNo; "Line Type" := LineType; Code := ParamCode; "Source Type" := SourceType; "ISZR Status" := ISZRStateCode; IF TempBlob2.Blob.HASVALUE THEN Parameters := TempBlob2.Blob; IF NOT ISNULLGUID(RequestId) THEN "Request Id" := RequestId; "Error Description" := ErrorDescription; "Error Description NAV" := ErrorDescriptionNAV; //ZPW923.44653 INSERT(TRUE); END; END; //ZPW923.44653 -> TempBlobZtotozneni.DELETEALL; ModifyPreviousRecord(ISZRROBHistory); //ZPW923.44653 <- COMMIT; END; PROCEDURE ISZRROBHistoryData@70003(ContactNo@70008 : Code[20];ValidFrom@70005 : Date;ValidTo@70004 : Date;VAR TempISZR@70003 : TEMPORARY Record 50127); VAR ISZRROBHistory@70000 : Record 50171; BEGIN // ZPW923.41865 IF ValidFrom = 0D THEN ValidFrom := TODAY; ISZRROBHistoryDataInsert(ContactNo,0,1,ValidFrom,ValidTo,COPYSTR(TempISZR."EO Personal Identity Number",1,MAXSTRLEN(ISZRROBHistory.Code)),''); ISZRROBHistoryDataInsert(ContactNo,0,2,ValidFrom,ValidTo,COPYSTR(TempISZR."EC Personal Identity Number",1,MAXSTRLEN(ISZRROBHistory.Code)),''); ISZRROBHistoryDataInsert(ContactNo,1,0,ValidFrom,ValidTo,COPYSTR(TempISZR.Jmeno,1,MAXSTRLEN(ISZRROBHistory.Code)),''); ISZRROBHistoryDataInsert(ContactNo,2,0,ValidFrom,ValidTo,COPYSTR(TempISZR.Prijmeni,1,MAXSTRLEN(ISZRROBHistory.Code)),''); ISZRROBHistoryDataInsert(ContactNo,3,0,ValidFrom,ValidTo,COPYSTR(FORMAT(TempISZR.Obcanstvi),1,MAXSTRLEN(ISZRROBHistory.Code)),''); ISZRROBHistoryDataInsert(ContactNo,6,0,ValidFrom,ValidTo,COPYSTR(TempISZR."Doklad Cislo",1,MAXSTRLEN(ISZRROBHistory.Code)),TempISZR."Doklad Druh"); //ZPW923.44653 add parametr TypeOfIdentity ISZRROBHistoryDataInsert(ContactNo,6,0,ValidFrom,ValidTo,COPYSTR(TempISZR."Identity Card No 2",1,MAXSTRLEN(ISZRROBHistory.Code)),TempISZR."Identity Card Type 2"); //ZPW923.44653 ISZRROBHistoryDataInsert(ContactNo,6,0,ValidFrom,ValidTo,COPYSTR(TempISZR."Identity Card No 3",1,MAXSTRLEN(ISZRROBHistory.Code)),TempISZR."Identity Card Type 3"); //ZPW923.44653 COMMIT; END; LOCAL PROCEDURE ISZRROBHistoryDataInsert@70004(ContactNo@70004 : Code[20];LineType@70003 : Option;SourceType@70002 : 'ROB,REO,REC';ValidFrom@70001 : Date;ValidTo@70000 : Date;HistCode@70005 : Text[50];TypeOfIdentity@70008 : Text[10]); VAR ISZRROBHistory@70006 : Record 50171; InsNewRec@70007 : Boolean; BEGIN // ZPW923.41865 IF (HistCode = '') OR (HistCode = '0') THEN EXIT; InsNewRec := TRUE; WITH ISZRROBHistory DO BEGIN SETRANGE("Contact No.",ContactNo); SETRANGE("Line Type",LineType); SETRANGE("Source Type",SourceType); IF FINDLAST THEN BEGIN IF Code = HistCode THEN InsNewRec := FALSE; END; IF InsNewRec THEN BEGIN CLEAR(ISZRROBHistory); "Contact No." := ContactNo; "Line Type" := LineType; "Source Type" := SourceType; "Valid From" := ValidFrom; "Valid To" := ValidTo; Code := HistCode; "Type of identity Document" := TypeOfIdentity; //ZPW923.44653 INSERT(TRUE); ModifyPreviousRecord(ISZRROBHistory); //ZPW923.44653 END; END; END; PROCEDURE IszrUlozMapaAifo@1000000015(VAR TempInsuredISZRTickets@1170000000 : TEMPORARY Record 50180;Show@1170000001 : ' ,ShowMessage,ShowError') : Boolean; VAR InsuredISZRTickets@1170000005 : Record 50180; ISZR@1000000003 : Record 50127; ROBData@1000000002 : TEMPORARY Record 50127; Contact@1000000001 : Record 5050; TempBlob@1000000000 : TEMPORARY Record 99008535; FileManagement@62003 : Codeunit 419; XReq@1000000004 : XMLport 50102; XReq_Asynch@62005 : XMLport 62406; XMLDoc@62000 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; Asynch_XMLDoc@62006 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; Asynch_Node@62007 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode"; StartTime@1100162015 : DateTime; EndTime@1100162007 : DateTime; SavedTo@1170000004 : DateTime; LogEntry@1100162003 : Integer; OldSKIPGUI@1100162016 : Boolean; XSLTCode@1000000007 : Code[20]; InStr@1000000006 : InStream; OutStr@1000000005 : OutStream; Reason@1170000002 : Text[250]; ISZRTicket@1170000003 : Text[48]; ServerFileName@62001 : Text; ClientFileName@62002 : Text; BEGIN ISZRSetup.GET; ISZRSetup.TESTFIELD("ISZR Ticket Limit"); IF ISZRSetup."ISZR Ticket Limit" < TempInsuredISZRTickets.COUNT THEN ERROR(Text032,ISZRSetup.TABLECAPTION,ISZRSetup.FIELDCAPTION("ISZR Ticket Limit"),TempInsuredISZRTickets.COUNT, ISZRSetup."ISZR Ticket Limit"); StartTime := CURRENTDATETIME; CLEAR(XMLDoc); XMLDoc := XMLDoc.XmlDocument(); CLEAR(TempBlob); TempBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParametrs(TempInsuredISZRTickets); XReq.EXPORT; TempBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy TempInsuredISZRTickets.FINDFIRST; Reason := STRSUBSTNO(Text028,TempInsuredISZRTickets."Application Code",TempInsuredISZRTickets."Serial Number"); LogEntry := AddZadostInfo(XMLDoc,Reason,'E175',TRUE,'',''); // Zap¡çeme "ISZR Log Entry No." abychom vØdØli kter‚ l¡stky çli t¡mto requestem TempInsuredISZRTickets.RESET; IF TempInsuredISZRTickets.FINDSET THEN REPEAT IF InsuredISZRTickets.GET(TempInsuredISZRTickets."Application Code",TempInsuredISZRTickets."Serial Number") THEN BEGIN InsuredISZRTickets."ISZR Log Entry No." := LogEntry; InsuredISZRTickets.MODIFY(TRUE); END; UNTIL TempInsuredISZRTickets.NEXT = 0; CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\IszrUlozMapaAifo_req.xml') THEN; CLEAR(TempBlob); TempBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); TempBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); IF ISZRSetup."ISZR Ticket Comunicatuion Type" = ISZRSetup."ISZR Ticket Comunicatuion Type"::Synchronous THEN BEGIN COMMIT; // ZPW602.46863 // Synchronn¡ komunikace HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrUlozMapaAifo_Response); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E175'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute; CLEAR(TempBlob); HTTPRequestMgt.GetResponseBlob(TempBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(TempBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\Synch_IszrUlozMapaAifo_res.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'IszrUlozMapaAifo_res')+'\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'IszrUlozMapaAifo_res')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; // Zjist¡me zda n m nepýiçla odpovØd jako asynchron¡ (m…§e se st t §e poçleme synchronn¡ dotaz a dostaneme asynchronn¡ odpovØd), // pokud se tak stane pokraŸujeme jako asynchron¡ komunikace Asynch_XMLDoc := Asynch_XMLDoc.XmlDocument(); HTTPRequestMgt.GetResponseXml(Asynch_XMLDoc); Asynch_Node := Asynch_XMLDoc.SelectSingleNode('/*/*/*/IszrOdpoved'); IF ISNULL(Asynch_Node) THEN BEGIN // Pýepnut¡ z Synchronn¡ komunikace na Asynchronn¡ // Zap¡çeme "ISZR Request ID" abychom vØdØli hodnotu elementu IszrZadostId pro odeslan‚ çatn¡ l¡stky Asynch_Node := Asynch_XMLDoc.SelectSingleNode('/*/*/*/*/IszrZadostId'); IF ISNULL(Asynch_Node) THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE('Element IszrZadostId neni obsa§en v odpovØdi'); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF Asynch_Node.InnerText = '' THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE('Element IszrZadostId je pr zdnì'); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; TempInsuredISZRTickets.RESET; IF TempInsuredISZRTickets.FINDSET THEN REPEAT IF InsuredISZRTickets.GET(TempInsuredISZRTickets."Application Code",TempInsuredISZRTickets."Serial Number") THEN BEGIN InsuredISZRTickets."ISZR Request ID" := Asynch_Node.InnerText; InsuredISZRTickets.MODIFY(TRUE); END; UNTIL TempInsuredISZRTickets.NEXT = 0; END ELSE BEGIN // PokraŸov n¡ v Synchronn¡ komunikaci a vyzvedneme l¡stky ISZRData.GetIszrUlozMapaAifoResponse(SavedTo,ISZRTicket); IF ISZRTicket = '' THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE(Text029); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; TempInsuredISZRTickets.RESET; IF TempInsuredISZRTickets.FINDSET THEN REPEAT IF InsuredISZRTickets.GET(TempInsuredISZRTickets."Application Code",TempInsuredISZRTickets."Serial Number") THEN BEGIN InsuredISZRTickets."Saved To" := SavedTo; InsuredISZRTickets."ISZR Ticket" := ISZRTicket; InsuredISZRTickets."Date of Issue" := CURRENTDATETIME; InsuredISZRTickets.Status := '30'; InsuredISZRTickets."Status Date" := TODAY; InsuredISZRTickets.MODIFY(TRUE); END; UNTIL TempInsuredISZRTickets.NEXT = 0; END; END ELSE BEGIN // Asynchronn¡ komunikace CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Asynchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrUlozMapaAifo_Response); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_E175'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(TempBlob); HTTPRequestMgt.GetResponseBlob(TempBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(TempBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\Asynch_IszrUlozMapaAifo_res.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'Asynch_IszrUlozMapaAifo_res')+'\' + HTTPRequestMgt.GetResponseErrorText); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF NOT ISZRData.IsResponseOK THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'Asynch_IszrUlozMapaAifo_res')+'\' + ISZRData.GetResponseMessage()); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF FORMAT(ISZRData.GetISZRRequestId()) = '' THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'Asynch_IszrUlozMapaAifo_res')+'\' + Text030); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; // Zjist¡me zda je vyplnØn element IszrZadostId nutnì pro Asynchronn¡ komunikaci Asynch_XMLDoc := Asynch_XMLDoc.XmlDocument(); HTTPRequestMgt.GetResponseXml(Asynch_XMLDoc); Asynch_Node := Asynch_XMLDoc.SelectSingleNode('/*/*/*/*/IszrZadostId'); IF ISNULL(Asynch_Node) THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE('Element IszrZadostId neni obsa§en v odpovØdi'); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; IF Asynch_Node.InnerText = '' THEN BEGIN IF (Show IN [Show::ShowMessage,Show::ShowError]) AND GUIALLOWED THEN BEGIN MESSAGE('Element IszrZadostId je pr zdnì'); IF Show = Show::ShowError THEN ERROR(''); END; EXIT(FALSE); END; // Zap¡çeme "ISZR Request ID" abychom znali hodnotu elementu IszrZadostId pro odeslan‚ çatn¡ l¡stky TempInsuredISZRTickets.RESET; IF TempInsuredISZRTickets.FINDSET THEN REPEAT IF InsuredISZRTickets.GET(TempInsuredISZRTickets."Application Code",TempInsuredISZRTickets."Serial Number") THEN BEGIN InsuredISZRTickets."ISZR Request ID" := Asynch_Node.InnerText; InsuredISZRTickets.Status := '20'; InsuredISZRTickets."Status Date" := TODAY; InsuredISZRTickets.MODIFY(TRUE); END; UNTIL TempInsuredISZRTickets.NEXT = 0; END; EXIT(TRUE); END; [TryFunction] LOCAL PROCEDURE WriteToDebugFilefromXMLDoc@62034(VAR XMLDocument@62005 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument";FileExtension@62000 : Text;ClientFileName@62003 : Text); VAR FileManagement@62004 : Codeunit 419; ServerFileName@62002 : Text; BEGIN ServerFileName := FileManagement.ServerTempFileName(FileExtension); XMLDocument.Save(ServerFileName); IF GUIALLOWED THEN BEGIN FileManagement.DownloadToFile(ServerFileName,ClientFileName); FileManagement.DeleteServerFile(ServerFileName); END ELSE BEGIN IF EXISTS(ClientFileName) THEN ERASE(ClientFileName); RENAME(ServerFileName,ClientFileName); END; END; [TryFunction] LOCAL PROCEDURE WriteToDebugFilefromBlob@62040(VAR TempBlob@62006 : TEMPORARY Record 99008535;FileExtension@62000 : Text;ClientFileName@62001 : Text); VAR FileManagement@62004 : Codeunit 419; ServerFileName@62002 : Text; BEGIN ServerFileName := FileManagement.ServerTempFileName(FileExtension); TempBlob.Blob.EXPORT(ServerFileName); IF GUIALLOWED THEN BEGIN FileManagement.DownloadToFile(ServerFileName,ClientFileName); FileManagement.DeleteServerFile(ServerFileName); END ELSE BEGIN IF EXISTS(ClientFileName) THEN ERASE(ClientFileName); RENAME(ServerFileName,ClientFileName); END; END; PROCEDURE SetTempISZRIdentifyParam@70000(VAR TempISZRIdentifyParam2@70000 : TEMPORARY Record 50127); BEGIN // ZPW923.38828 TempISZRIdentifyParam.DELETEALL; TempISZRIdentifyParam.TRANSFERFIELDS(TempISZRIdentifyParam2); TempISZRIdentifyParam.INSERT; END; PROCEDURE FillTempISZRIdentifyParamFromContactOrCRP@70001(VAR TempISZRIdentifyParam@70000 : TEMPORARY Record 50127;DataFromCRP@70001 : Boolean); VAR Contact@70002 : Record 5050; CRPZZP@70003 : Record 69002; ContactSingleType@70004 : Record 62010; ContactAltAddress@70005 : Record 5051; BEGIN // ZPW923.38828 WITH TempISZRIdentifyParam DO BEGIN IF "Contact No." = '' THEN EXIT; IF NOT DataFromCRP THEN BEGIN IF NOT Contact.GET("Contact No.") THEN EXIT; IF Jmeno = '' THEN Jmeno := COPYSTR(Contact."First Name",1,MAXSTRLEN(Jmeno)); IF Prijmeni = '' THEN Prijmeni := COPYSTR(Contact.Surname,1,MAXSTRLEN(Prijmeni)); IF "Datum Narozeni" = 0D THEN "Datum Narozeni" := Contact."Birth Date"; IF "Doklad Druh" = '' THEN BEGIN "Doklad Druh" := COPYSTR(Contact."Identity Card Type",1,MAXSTRLEN("Doklad Druh")); // Pýevede druh dokladu IF "Doklad Druh" <> '' THEN BEGIN ContactSingleType.RESET; ContactSingleType.SETCURRENTKEY(Code,Type,"Valid From"); ContactSingleType.SETRANGE(Code,"Doklad Druh"); ContactSingleType.SETRANGE(Type,ContactSingleType.Type::"Identity Card Type"); ContactSingleType.SETFILTER("Valid From",'<=%1',TODAY); IF ContactSingleType.FINDLAST THEN "Doklad Druh" := ContactSingleType."External System Code"; END; END; IF "Doklad Cislo" = '' THEN "Doklad Cislo" := COPYSTR(Contact."Identity Card No.",1,MAXSTRLEN("Doklad Cislo")); //ZPW923.44653 -> "Identity Card Type 2" := ''; "Identity Card No 2" := ''; "Identity Card Type 3" := ''; "Identity Card No 3" := ''; //"Identify Code" := ''; //"Identify Count" := 0; //ZPW923.44653 <- "Place of Birth" := ''; "Country/Region of Birth Code" := ''; "Datum Umrti" := Contact."Date of Death"; "Legal Date of Death" := 0D; "Place of Death" := ''; "Country/Region of Death Code" := ''; IF "Datova Schranka" = '' THEN "Datova Schranka" := Contact.GetDataboxId(1); IF Citizenship = '' THEN Citizenship := Contact.Nationality; IF "AP Text" = '' THEN BEGIN ContactAltAddress.SETRANGE("Contact No.","Contact No."); ContactAltAddress.SETRANGE("Address Type",'TRVALµ'); ContactAltAddress.SETRANGE("Valid Record",TRUE); IF ContactAltAddress.FINDFIRST THEN "AP Text" := ContactAltAddress."RUIAN Code"; END; MODIFY; END ELSE BEGIN IF "Personal Identity Number" = '' THEN EXIT; CRPZZP.SETRANGE("Personal Identity Number","Personal Identity Number"); IF NOT CRPZZP.FINDLAST THEN EXIT; IF Jmeno = '' THEN Jmeno := COPYSTR(CRPZZP."First Name",1,MAXSTRLEN(Jmeno)); IF Prijmeni = '' THEN Prijmeni := COPYSTR(CRPZZP.Surname,1,MAXSTRLEN(Prijmeni)); "Datum Narozeni" := 0D; "Doklad Druh" := ''; "Doklad Cislo" := ''; //ZPW923.44653 -> "Identity Card Type 2" := ''; "Identity Card No 2" := ''; "Identity Card Type 3" := ''; "Identity Card No 3" := ''; //"Identify Code" := ''; //"Identify Count" := 0; //ZPW923.44653 <- "Place of Birth" := ''; "Country/Region of Birth Code" := ''; "Datum Umrti" := 0D; "Legal Date of Death" := 0D; "Place of Death" := ''; "Country/Region of Death Code" := ''; "Datova Schranka" := ''; Citizenship := ''; "AP Text" := ''; MODIFY; END; END; END; PROCEDURE IszrPodejMapaAifo@62042(UlozkaID@62002 : Text;Reason@62008 : Text); VAR TempISZRUpdatingBasicRegisters@62011 : TEMPORARY Record 50129; TempBlob@62004 : TEMPORARY Record 99008535; PodejMapaAifo@62001 : Record 50217; ISZRData@62010 : Codeunit 50106; eGSBIszrPodejMapaAifoReq@62006 : XMLport 70209; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; InStr@62007 : InStream; StartTime@62000 : DateTime; OutStr@62005 : OutStream; Selection@62009 : Integer; BEGIN // ZPW740.45390 Selection := 1; IF GUIALLOWED THEN Selection := STRMENU('ISZR,Tabulka NAV',1); IF Selection = 1 THEN BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; TempBlob.Blob.CREATEOUTSTREAM(OutStr); eGSBIszrPodejMapaAifoReq.SETDESTINATION(OutStr); eGSBIszrPodejMapaAifoReq.SetUlozkaId(UlozkaID); eGSBIszrPodejMapaAifoReq.EXPORT; TempBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy AddZadostInfo(XMLDoc,Reason,'E176',TRUE,'',''); CLEARLASTERROR; IF ISZRSetup."ISZR Debug" THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(TempBlob); TempBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); TempBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData; CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::"eGSB - ISZRPodejMapaAifo - Res"); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute; CLEAR(TempBlob); HTTPRequestMgt.GetResponseBlob(TempBlob); IF ISZRSetup."ISZR Debug" THEN IF WriteToDebugFilefromBlob(TempBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN ERROR(STRSUBSTNO(Text001,'IszrPodejMapaAifo') + '\' + HTTPRequestMgt.GetResponseErrorText); IF NOT ISZRData.IsResponseOK THEN ERROR(STRSUBSTNO(Text001,'IszrPodejMapaAifo')+'\' + ISZRData.GetResponseMessage()); ISZRData.GetQueueResponse(TempISZRUpdatingBasicRegisters); PodejMapaAifo.TransferData(TempISZRUpdatingBasicRegisters,UlozkaID); END; END; PROCEDURE ">>>>>RPP<<<<<"@62010(); BEGIN END; PROCEDURE AgendaList@62009(KodOvm@1100162000 : Text[10];Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62446; XSLTCode@1100162004 : Code[20]; StartTime@1100162003 : DateTime; EndTime@1100162002 : DateTime; LogEntry@1100162001 : Integer; OldSkipGUI@1100162006 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParameters(KodOvm); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E106',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRppVypisSeznamAgend_Respon); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisSeznamAgend') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisSeznamAgend')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE OVMList@62008(Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62448; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162002 : DateTime; EndTime@1100162001 : DateTime; LogEntry@1100162000 : Integer; OldSkipGUI@1100162003 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E129',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRppVypisSeznamPusobOvm_Res); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisSeznamPusobnostiOVM') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisSeznamPusobnostiOVM')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE OVMDetail@62007(KodAgendy@1100162002 : Text[30];DatumPlatnostiAgendyOd@1100162001 : Text[30];KodOvm@1100162000 : Text[10];Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62450; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162013 : DateTime; EndTime@1100162007 : DateTime; LogEntry@1100162003 : Integer; OldSkipGUI@1100162014 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParameters(KodAgendy,DatumPlatnostiAgendyOd,KodOvm); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E130',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRppVypisPusobnostOvm_Res); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisPusobnostiOVM') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisPusobnostiOVM')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE ServiceList@62006(NazevKategorie@1100162000 : Text[10];Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62452; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162003 : DateTime; EndTime@1100162002 : DateTime; LogEntry@1100162001 : Integer; OldSkipGUI@1100162007 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParameters(NazevKategorie); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E135',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRppVypisSeznamSluzeb_Res); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisSeznamSluzeb') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisSeznamSluzeb')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE ServiceDetail@62005(KodSluzby@1100162000 : Text[30];VerzeSluzby@1100162001 : Text[30];Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62454; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162007 : DateTime; EndTime@1100162003 : DateTime; LogEntry@1100162002 : Integer; OldSkipGUI@1100162013 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParams(KodSluzby,VerzeSluzby); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E136',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRppVypisSluzbu_Response); HTTPRequestMgt.SetXsltTemplaceCode('ISZR_SD'); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisSluzbu') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisSluzbu')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE ServiceRightDetail@62004(KodAgendy@1100162014 : Text[30];DatumPlatnostiAgendyOd@1100162013 : Text[30];KodOvm@1100162007 : Text[8];KodCinnostiAgendy@1100162002 : Text[30];KodSluzby@1100162001 : Text[30];VerzeSluzby@1100162000 : Text[30];Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62456; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162016 : DateTime; EndTime@1100162015 : DateTime; LogEntry@1100162003 : Integer; OldSkipGUI@1100162017 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParameters(KodAgendy,DatumPlatnostiAgendyOd,KodOvm, KodCinnostiAgendy,KodSluzby,VerzeSluzby); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E147',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRppVypisOpravnNaProvSl_Res); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisOpravneniNaProvedeniSluzby') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisOpravneniNaProvedeniSluzby')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE ServiceProbe@62003(Sluzba@1100162000 : Text[50];Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62402; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162007 : DateTime; EndTime@1100162003 : DateTime; LogEntry@1100162002 : Integer; OldSkipGUI@1100162013 : Boolean; lText001@1100162001 : TextConst 'CSY=Slu§ba %1 je aktivn¡.;ENU=Service %1 is active.'; tmpRozhrani@1100162014 : TEMPORARY Record 62185; Vysledek@1100162015 : Text[1024]; lText002@1100162016 : TextConst 'CSY=\Rozhran¡: %1, OdpovØÔ: %2, Status: %3;ENU=\Interface: %1, Answer: %2, Status: %3'; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParameters(Sluzba); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E164',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrProbe_Response); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF HTTPRequestMgt.HasResponseError THEN BEGIN MESSAGE(STRSUBSTNO(Text001,'iszrProbe') + '\' + HTTPRequestMgt.GetResponseErrorText); END ELSE BEGIN IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'iszrProbe')+'\' + ISZRData.GetResponseMessage()) ELSE BEGIN ISZRData.GetRPPResponse(tmpRozhrani); Vysledek := ''; IF tmpRozhrani.FINDSET THEN REPEAT Vysledek := COPYSTR(Vysledek + STRSUBSTNO(lText002,tmpRozhrani."Agenda Name",tmpRozhrani."Agenda Code", tmpRozhrani."Activity Code"),1,MAXSTRLEN(Vysledek)); UNTIL tmpRozhrani.NEXT = 0; Vysledek := COPYSTR(STRSUBSTNO(lText001,Sluzba) + Vysledek,1,MAXSTRLEN(Vysledek)); MESSAGE(Vysledek); END; END; END; PROCEDURE RightList@62002(Name@1100162000 : Text[50];Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62458; XSLTCode@1100162004 : Code[20]; ROBData@1100162006 : TEMPORARY Record 50127; StartTime@1100162003 : DateTime; EndTime@1100162002 : DateTime; LogEntry@1100162001 : Integer; OldSkipGUI@1100162007 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E148',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrRppVypisOpravneni_Response); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisOpravneni') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'RppVypisOpravneni')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE GetControllerID@70002(ContactNo@70000 : Code[20]) ControllerID : Code[50]; VAR Contact@70001 : Record 5050; Customer@70002 : Record 18; BEGIN // ZPW923.41865 ControllerID := ''; IF ContactNo <> '' THEN BEGIN IF Contact.GET(ContactNo) THEN BEGIN ControllerID := Contact."Controller ID"; Contact.CALCFIELDS("Insurer No.","Employer No."); IF Contact."Employer No." <> '' THEN BEGIN IF Customer.GET(Contact."Employer No.") THEN BEGIN IF Customer."Controller ID" <> '' THEN ControllerID := Customer."Controller ID"; END; END; IF Contact."Insurer No." <> '' THEN BEGIN IF Customer.GET(Contact."Insurer No.") THEN BEGIN IF Customer."Controller ID" <> '' THEN ControllerID := Customer."Controller ID"; END; END; END; END; END; PROCEDURE GetISZRPersonSecAddrCode@70006(ContactNo@70000 : Code[20];InclFict@70004 : Boolean) : Code[20]; VAR BizTalkSetup2@70001 : Record 50111; ContactAltAddress@70002 : Record 5051; RMSetup@70003 : Record 5079; BEGIN // ZPW923.41865 BizTalkSetup2.GET; BizTalkSetup2.TESTFIELD("ISZR Secondary Address Code"); ContactAltAddress.SETRANGE("Contact No.",ContactNo); ContactAltAddress.SETRANGE("Address Type",BizTalkSetup2."ISZR Secondary Address Code"); ContactAltAddress.SETRANGE("Valid Record",TRUE); IF ContactAltAddress.FINDFIRST THEN BEGIN IF InclFict THEN EXIT(ContactAltAddress.Code); RMSetup.GET; IF RMSetup."Default Post Code" <> ContactAltAddress."Post Code" THEN EXIT(ContactAltAddress.Code); END; EXIT(''); END; PROCEDURE GetISZRPersonSecAddrTypeCode@70005() : Code[20]; VAR BizTalkSetup2@70001 : Record 50111; BEGIN // ZPW923.41865 BizTalkSetup2.GET; BizTalkSetup2.TESTFIELD("ISZR Secondary Address Code"); EXIT(BizTalkSetup2."ISZR Secondary Address Code"); END; PROCEDURE ">>>>>Fronta<<<<<"@62001(); BEGIN END; PROCEDURE QueueList@62000(IdTransakce@1100162000 : Text[30];CasVytvoreni@1100162001 : DateTime;Reason@1100162005 : Text[100]); VAR tmpBlob@1100162011 : TEMPORARY Record 99008535; InStr@1100162010 : InStream; OutStr@1100162009 : OutStream; XReq@1100162008 : XMLport 62404; XSLTCode@1100162004 : Code[20]; StartTime@1100162006 : DateTime; EndTime@1100162003 : DateTime; LogEntry@1100162002 : Integer; OldSkipGUI@1100162007 : Boolean; XMLDoc@62003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument"; FileManagement@62002 : Codeunit 419; ServerFileName@62001 : Text; ClientFileName@62000 : Text; BEGIN ISZRSetup.GET; StartTime := CURRENTDATETIME; XMLDoc := XMLDoc.XmlDocument; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); CLEAR(XReq); XReq.SETDESTINATION(OutStr); XReq.SetParameters(CasVytvoreni,IdTransakce); XReq.EXPORT; tmpBlob.Blob.CREATEINSTREAM(InStr); XMLDoc.Load(InStr); //Pýid me povinn‚ elementy LogEntry := AddZadostInfo(XMLDoc,Reason,'E99',TRUE,'',''); CLEARLASTERROR(); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromXMLDoc(XMLDoc,'xml',PathSettings.GetPath(ISZRSetup."ISZR Export XML Path Code") + '\MDNAV_Request.xml') THEN; CLEAR(tmpBlob); tmpBlob.Blob.CREATEOUTSTREAM(OutStr); XMLDoc.Save(OutStr); tmpBlob.Blob.CREATEINSTREAM(InStr); ISZRData.ClearData(); CLEAR(HTTPRequestMgt); HTTPRequestMgt.SetWebServiceURL(ISZRSetup."ISZR Synchronous WS Code"); HTTPRequestMgt.SetHttpMethod('POST'); HTTPRequestMgt.SetSoapHeaderAction('sync'); HTTPRequestMgt.SetReponseXMLPortNo(XMLPORT::IszrAsyncVypisFronty_Response); HTTPRequestMgt.SetSkipCheckHttps(TRUE); HTTPRequestMgt.SetContentType('text/xml'); HTTPRequestMgt.SetRequestStream(InStr); HTTPRequestMgt.SetHideDialog(TRUE); HTTPRequestMgt.Execute(); CLEAR(tmpBlob); HTTPRequestMgt.GetResponseBlob(tmpBlob); IF ISZRSetup."ISZR Debug" AND GUIALLOWED THEN IF WriteToDebugFilefromBlob(tmpBlob,'xml',PathSettings.GetPath(ISZRSetup."ISZR Import XML Path Code") + '\ISZR_Response.xml') THEN; IF HTTPRequestMgt.HasResponseError THEN MESSAGE(STRSUBSTNO(Text001,'AsyncVypisFronty') + '\' + HTTPRequestMgt.GetResponseErrorText); ISZRLog.UpdateLogEntry(LogEntry,ISZRData.GetISZRRequestId(),'','', ISZRData.GetResponseCode(),ISZRData.GetErrorDetail(),CURRENTDATETIME - StartTime); IF NOT ISZRData.IsResponseOK THEN MESSAGE(STRSUBSTNO(Text001,'AsyncVypisFronty')+'\' + ISZRData.GetResponseMessage()); END; PROCEDURE SetFindROBAifo@70007(FindROBAifoP@70000 : Text[30]); BEGIN //ZPW923.44653 FindROBAifo := FindROBAifoP; END; LOCAL PROCEDURE ModifyPreviousRecord@70009(ISZRROBHistoryP@70000 : Record 50171); VAR ISZRROBHistoryPreviousRec@70001 : Record 50171; BEGIN //ZPW923.44653 ISZRROBHistoryPreviousRec.SETCURRENTKEY("Contact No.","Line Type","Valid From"); ISZRROBHistoryPreviousRec.SETRANGE("Contact No.",ISZRROBHistoryP."Contact No."); ISZRROBHistoryPreviousRec.SETRANGE("Line Type",ISZRROBHistoryP."Line Type"); ISZRROBHistoryPreviousRec.SETRANGE("Type of identity Document",ISZRROBHistoryP."Type of identity Document"); ISZRROBHistoryPreviousRec.SETFILTER("Entry No.",'<>%1',ISZRROBHistoryP."Entry No."); IF ISZRROBHistoryPreviousRec.FINDLAST THEN BEGIN ISZRROBHistoryPreviousRec."Valid To" := CALCDATE('-1',ISZRROBHistoryP."Valid From"); ISZRROBHistoryPreviousRec.MODIFY(TRUE); END; END; LOCAL PROCEDURE FillTempISZRIdentifyParam@70010(ContactNoP@70000 : Code[20]) : Boolean; VAR ISZRIdentifyOption@70002 : Record 70098; ISZR2@70001 : Record 50127; ISZR@70003 : Record 50127; ISZRIdentifyOptionGet@70004 : Record 70098; ISZRROBHistory@70005 : Record 50171; OldDateBirth@70006 : Date; NextIdentityAttempt@70007 : DateTime; BEGIN //ZPW923.44653 //naplni TempISZRIdentifyParam (Global param), ktera pak vstupuje do cteni ROB. Podle prednastavenych udaju (dle Kodu ztotozneni) se cte ROB IdentifyCode := ''; IF NOT ISZR.GET(ContactNoP) THEN EXIT(FALSE); {IF ISZR."Identify Count" > ISZR."Identify Total" THEN EXIT(FALSE); //konec - uz nic nedelej} ISZRIdentifyOption.RESET; ISZRIdentifyOption.SETCURRENTKEY("Sort Order"); IF ISZR."Identify Code" = '' THEN ISZRIdentifyOptionGet.FINDFIRST ELSE BEGIN ISZRIdentifyOptionGet.GET(ISZR."Identify Code"); IF ISZR."Identify Total" <= ISZR."Identify Count" THEN BEGIN ISZRIdentifyOption.SETFILTER("Sort Order",'>%1',ISZRIdentifyOptionGet."Sort Order") //nasledujici Kod ztotozneni END ELSE ISZRIdentifyOption.SETRANGE(Code,ISZR."Identify Code"); END; // pokud jeste nebyl pokus o ztotozneni, nehraje si na datumy IF (ISZR."Identify Last Attempt" <> 0DT) AND (FORMAT(ISZRIdentifyOptionGet."Waiting Time") <> '') AND (ISZR."Identify Code" <> '') AND (ISZR."Identify Count" > 0) THEN BEGIN NextIdentityAttempt := CREATEDATETIME(CALCDATE(ISZRIdentifyOptionGet."Waiting Time",DT2DATE(ISZR."Identify Last Attempt")),DT2TIME(ISZR."Identify Last Attempt")); IF NextIdentityAttempt > CURRENTDATETIME THEN EXIT(FALSE); END; IF NOT ISZRIdentifyOption.FINDFIRST THEN BEGIN {ISZR2.GET("Contact No."); ISZR2."Identify Code" := ''; ISZR2."Identify Total" := 0; ISZR2.MODIFY(TRUE);} END ELSE BEGIN {ISZR2.GET("Contact No."); ISZR2."Identify Code" := ISZRIdentifyOption.Code; ISZR2."Identify Total" := ISZRIdentifyOption."Retry Count"; ISZR2."Identify Count" := 0; ISZR2."Identify Last Attempt" := 0DT; ISZR2.MODIFY(TRUE);} TempISZRIdentifyParam.DELETEALL; TempISZRIdentifyParam.TRANSFERFIELDS(ISZR); TempISZRIdentifyParam.INSERT; TempISZRIdentifyParam."Identify Code" := ISZRIdentifyOption.Code; TempISZRIdentifyParam."Identify Total" := ISZRIdentifyOption."Retry Count"; TempISZRIdentifyParam."Identify Count" := 0; TempISZRIdentifyParam."Identify Last Attempt" := 0DT; FillTempISZRIdentifyParamFromContactOrCRP(TempISZRIdentifyParam,ISZRIdentifyOption."CRP Data"); OldDateBirth := TempISZRIdentifyParam."Datum Narozeni"; // zapamatuji si puvodni datum nar WITH TempISZRIdentifyParam DO BEGIN IF NOT ISZRIdentifyOption."First Name" THEN Jmeno := ''; IF NOT ISZRIdentifyOption.Surname THEN Prijmeni := ''; IF NOT ISZRIdentifyOption."Birth Date" THEN "Datum Narozeni" := 0D; IF NOT ISZRIdentifyOption."Birth Place" THEN "Place of Birth" := ''; "Country/Region of Birth Code" := ''; IF NOT ISZRIdentifyOption."Date of Death" THEN "Datum Umrti" := 0D; IF NOT ISZRIdentifyOption."Mortage Date" THEN "Legal Date of Death" := 0D; IF NOT ISZRIdentifyOption."Place of Death" THEN "Place of Death" := ''; "Country/Region of Death Code" := ''; IF NOT ISZRIdentifyOption."Identity Card" THEN BEGIN "Doklad Druh" := ''; "Doklad Cislo" := ''; //ZPW923.44653 -> "Identity Card Type 2" := ''; "Identity Card No 2" := ''; "Identity Card Type 3" := ''; "Identity Card No 3" := ''; //ZPW923.44653 <- END; IF NOT ISZRIdentifyOption."Databox Id" THEN "Datova Schranka" := ''; IF NOT ISZRIdentifyOption.Address THEN "AP Text" := ''; IF NOT ISZRIdentifyOption."Last AIFO" THEN "AIFO Code" := '' ELSE BEGIN ISZRROBHistory.SETCURRENTKEY("Contact No.","Line Type","Valid From"); ISZRROBHistory.SETRANGE("Contact No.",ContactNoP); ISZRROBHistory.SETRANGE("Line Type",ISZRROBHistory."Line Type"::AIFO); ISZRROBHistory.SETFILTER(Code,'<>%1',''); IF ISZRROBHistory.FINDFIRST THEN BEGIN ISZRROBHistory.Code := DELCHR(ISZRROBHistory.Code,'<>',' '); "AIFO Code" := COPYSTR(ISZRROBHistory.Code,1,MAXSTRLEN("AIFO Code")); SetFindROBAifo("AIFO Code"); END; END; IF NOT ISZRIdentifyOption.Citizenship THEN Citizenship := ''; {rem nest rows chteji aby se jim zobrazila chyba, takze radeji neztotoznit // kdyz nema nic vyplneno (jen jmeno a prijmeni), portal vraci tvrdou chybu. musi se poslat jeste aspon datum narozeni IF (Jmeno <> '') AND (Prijmeni <> '') AND ("Place of Birth" = '') AND ("Country/Region of Birth Code" = '') AND ("Datum Umrti" = 0D) AND ("Legal Date of Death" = 0D) AND ("Place of Death" = '') AND ("Country/Region of Death Code" = '') AND ("Doklad Druh" = '') AND ("Doklad Cislo" = '') AND ("Identity Card Type 2" = '') AND ("Identity Card No 2" = '') AND ("Identity Card Type 3" = '') AND ("Identity Card No 3" = '') AND ("Datova Schranka" = '') AND ("AP Text" = '') AND ("AIFO Code" = '') THEN IF "Datum Narozeni" = 0D THEN "Datum Narozeni" := OldDateBirth; // spadne do varovani a projede} MODIFY; IdentifyCode := ISZRIdentifyOption.Code; END; END; EXIT(TRUE); END; PROCEDURE GetIdentifyCode@70011() : Code[10]; BEGIN //ZPW923.44653 EXIT(IdentifyCode); END; BEGIN { #DOCU ZPW000:ZPWZPW:26.04.18:NEWOBJECT ZPW922.38143:FRATAK:08.08.18:MODFUNCTION ZPW601.38102:FRATAK:14.09.18:MODFUNCTION ZPW601.38573:STANEM:03.10.18: ZPW601.38669:PETPSE:09.11.18:MODFUNCTION ZPW923.38828:PETBAC:19.08.19: PETBAC:02.10.19: PETBAC:04.02.20: PETBAC:17.03.20: ZPW923.41865:PETBAC:27.11.19: PETBAC:30.01.20: PETBAC:03.02.20: ZPW601.42595:IVOKLA:17.12.19: field First Name length 24 -> 45 ZPW653.38847:JAKRIB:23.03.20: ZPW923.43584:JAKRIB:30.04.20: ZPW923.43725:JAKRIB:22.05.20: ZPW923.44309:PETBAC:03.09.20: ZPW923.44653:IVOKLA:11.11.20: (SZ103252) ZPW740.45390:TOMSTE:15.04.21:NEWFUNCTION ZPW602.46863:PETKRI:18.10.21: #DOCU } END. } }