OBJECT Report 70240 Register ROB { OBJECT-PROPERTIES { Date=18.08.21; Time=11:40:30; Modified=Yes; Version List=#12#ZPW; } PROPERTIES { CaptionML=[CSY=Hromadn‚ ztoto§nØn¡; ENU=Register ROB]; Description=ZPW500.44779; ProcessingOnly=Yes; OnInitReport=BEGIN Check18 := TRUE; CheckIdentify := TRUE; CheckISZR := TRUE; Check18Plus := TRUE; CUSTNO := 'POJ02000430'; PARNO := '02000430'; DebugKMITS := FALSE; END; OnPreReport=BEGIN IF GUIALLOWED THEN Dlg.OPEN(Dlg001); END; OnPostReport=BEGIN IF GUIALLOWED THEN Dlg.CLOSE; END; } DATASET { { 70000; ;DataItem; ; DataItemTable=Table50127; DataItemTableView=SORTING(Contact No.); OnPreDataItem=BEGIN PerCheckFunc.SETRANGE("Process Type", PerCheckFunc."Process Type"::"ISZR Ztoto§nØn¡"); PerCheckFunc.SETRANGE("Not Visible", FALSE); PerCheckFunc.SETFILTER(fx,'fx_RegisterROB'); PerCheckFunc.FINDFIRST; IF NOT CheckISZR THEN CurrReport.BREAK; ISZR.SETFILTER("State Code",'..%1|%2|%3','32','69','70'); //10 30 31 32 69 70 IF DebugKMITS THEN ISZR.SETRANGE("Contact No.",PARNO); IF GUIALLOWED THEN BEGIN Dlg.UPDATE(1,'1/4'); Dlg.UPDATE(2,Txt005); Dlg.UPDATE(2,0); Dlg.UPDATE(3,ISZR.COUNT); END; ISZRPoint := 0; END; OnAfterGetRecord=VAR ISZRDataMgt@70000 : Codeunit 50108; ContactRelationCount@70002 : Integer; ContactRelationForParent@70001 : Record 62055; CheckRec@70003 : Boolean; HIRegistration@70004 : Record 62600; ISZR2@70005 : Record 50127; i@70006 : Integer; BEGIN IF CheckISZR AND (ISZR."Personal Identity Number" <> '') THEN BEGIN ISZRPoint += 1; IF GUIALLOWED THEN Dlg.UPDATE(2,ISZRPoint); CheckRec := FALSE; IF ISZR."State Code" <> '70' THEN CheckRec := TRUE ELSE IF HIRegistration.ExistContHIRegistration(ISZR."Contact No.") THEN //pouze pokud ma pojistny vztah - napr u 70 bez poj vztahu nesmi nic udelat CheckRec := TRUE; IF CheckRec THEN BEGIN ISZR2 := ISZR; ISZR2.SETRECFILTER; ISZRDataMgt.fx_RegisterROB(ISZR2,PerCheckFunc."State Code"); END; END; END; } { 70001;0 ;DataItem; ; DataItemTable=Table2000000026; DataItemTableView=SORTING(Number) WHERE(Number=CONST(1)); OnAfterGetRecord=VAR ContactRelationCount@70006 : Integer; ContactRelationForParent@70005 : Record 62055; ContactRelation@70004 : Record 62055; ParentContact@70002 : Record 5050; Customer@70001 : Record 18; i@70007 : Integer; ISZRFunctions@70008 : Codeunit 50105; HIRegistration@70003 : Record 62600; BEGIN //ZPW953.44653 -> //pokud nezletile dite dovrsi 18, musi se u Partnera, ktery neni POJ, odhlasit odber IF Check18 THEN BEGIN IF GUIALLOWED THEN BEGIN Dlg.UPDATE(1,'2/4'); Dlg.UPDATE(2,Txt006); Dlg.UPDATE(2,0); Dlg.UPDATE(3,0); END; //LogNo := DeskLogEntry.InsDeskLogEntry(3,50168,0,28,Txt006,RecRef); CLEAR(ContactRelation); ContactRelation.SETCURRENTKEY("Child Contact No.","Relation Type","Valid To"); ContactRelation.SETFILTER("Child Contact No.",'<>%1',''); ContactRelation.SETFILTER("Relation Type",'%1|%2|%3',ContactRelation."Relation Type"::Representative, ContactRelation."Relation Type"::"Underage Kid",ContactRelation."Relation Type"::"Non Sui Juris"); ContactRelation.SETFILTER("Valid To",'..%1&<>%2',TODAY,0D); IF DebugKMITS THEN ContactRelation.SETRANGE("Parent Contact No.",PARNO); IF ContactRelation.FINDSET THEN BEGIN ContactRelationCount := ContactRelation.COUNT; // LogNo := DeskLogEntry.InsDeskLogEntry(3,50168,0,28,STRSUBSTNO(Txt003,ContactRelationCount),RecRef); IF GUIALLOWED THEN Dlg.UPDATE(3,ContactRelationCount); i := 0; REPEAT i := i + 1; IF GUIALLOWED THEN Dlg.UPDATE(2,i); CLEAR(ISZRFunctions); //projizdim vazby IF ContactRelation."Parent Contact No." <> '' THEN BEGIN //pokud ma rodic vice deti a jsou jeste nezletile, musi jej nechat a nesahat na ROB ContactRelationForParent.RESET; ContactRelationForParent.SETCURRENTKEY("Parent Contact No.","Relation Type","Valid From"); ContactRelationForParent.SETRANGE("Parent Contact No.",ContactRelation."Parent Contact No."); ContactRelationForParent.SETFILTER("Child Contact No.",'<>%1',''); ContactRelationForParent.SETFILTER("Relation Type",'%1|%2|%3',ContactRelationForParent."Relation Type"::Representative, ContactRelationForParent."Relation Type"::"Underage Kid",ContactRelationForParent."Relation Type"::"Non Sui Juris"); ContactRelationForParent.SETFILTER("Valid From",'..%1',TODAY); ContactRelationForParent.SETFILTER("Valid To",'%1..|%2',TODAY,0D); IF NOT ContactRelationForParent.FINDFIRST THEN BEGIN IF ParentContact.GET (ContactRelation."Parent Contact No.") THEN BEGIN //jen u nadrizenych POJ, kteri nemaji POJ vztah Customer.SETCURRENTKEY("Partner Code","Contact Type HI"); Customer.SETRANGE("Partner Code",ParentContact."No."); Customer.SETRANGE("Contact Type HI",Customer."Contact Type HI"::Insuree); IF Customer.FINDFIRST THEN BEGIN //nema platny poj vztah IF NOT HIRegistration.ExistContHIRegistration(Customer."Partner Code") THEN ISZRFunctions.BackPersonIdentify(ContactRelation."Parent Contact No.",Text005,0); // u nadrizenych odztotozni ROB END ELSE ISZRFunctions.BackPersonIdentify(ContactRelation."Parent Contact No.",Text005,0); // u nadrizenych odztotozni ROB END; END; END; UNTIL ContactRelation.NEXT = 0; //LogNo := DeskLogEntry.InsDeskLogEntry(3,50168,1,28,STRSUBSTNO(Txt005,i),RecRef); END; // LogNo := DeskLogEntry.InsDeskLogEntry(3,50168,1,28,Txt006,RecRef); //ZPW953.44653 <- END; END; } { 70002; ;DataItem;OdZtotozneni ; DataItemTable=Table2000000026; DataItemTableView=SORTING(Number) WHERE(Number=CONST(1)); OnPreDataItem=VAR Customer@70000 : Record 18; HIRegistration@70001 : Record 62600; CountCustomers@70002 : Integer; BizTalkSetup2@70003 : Record 50111; i@70004 : Integer; ValidToDate@70005 : Date; ISZRFunctions@70006 : Codeunit 50105; ISZRAifo@70007 : Record 50127; BEGIN //ZPW953.44653 -> //pokud byl ukoncen poj vztah a uplynula doba nastavena v Nastaveni zakl registru, bude pojistenec odztotoznen IF CheckIdentify THEN BEGIN BizTalkSetup2.GET; IF GUIALLOWED THEN BEGIN Dlg.UPDATE(1,'3/4'); Dlg.UPDATE(2,Txt007); Dlg.UPDATE(2,0); Dlg.UPDATE(3,0); BizTalkSetup2.TESTFIELD("No Idetify"); END; IF FORMAT(BizTalkSetup2."No Idetify") <> ' ' THEN BEGIN // pro pojistence Customer.SETCURRENTKEY("Personal Identity Number","Contact Type HI"); Customer.SETFILTER("Contact Type HI",'%1',Customer."Contact Type HI"::Insuree); IF DebugKMITS THEN Customer.SETRANGE("No.",CUSTNO); IF Customer.FINDSET THEN BEGIN CountCustomers := Customer.COUNT; IF GUIALLOWED THEN Dlg.UPDATE(3,CountCustomers); i := 0; ValidToDate := CALCDATE(BizTalkSetup2."No Idetify",TODAY); HIRegistration.SETCURRENTKEY("Insuree No.","Valid From","Valid To"); REPEAT i := i + 1; IF GUIALLOWED THEN Dlg.UPDATE(2,i); ISZRAifo.RESET; IF NOT ISZRAifo.GET(Customer."Partner Code") THEN ISZRAifo.INIT; // je ztotoznen IF ISZRAifo."AIFO Code" <> '' THEN BEGIN // k dnesnimu datu hledam pojistny vztah HIRegistration.SETRANGE(HIRegistration."Insuree No.",Customer."No."); IF HIRegistration.FINDLAST THEN BEGIN //neni platny pojistny vztah {IF (HIRegistration."Valid To" <> 0D) AND (HIRegistration."Valid To" <= ValidToDate) THEN BEGIN } IF NOT HIRegistration.ExistContHIRegistration(Customer."Partner Code") THEN BEGIN CLEAR(ISZRFunctions); ISZRFunctions.BackPersonIdentify(Customer."Partner Code",Text005,0); //odztotozneni COMMIT; END; END ELSE BEGIN // nema pojistny vztah a je ztotoznen - napr jej odstranili CLEAR(ISZRFunctions); ISZRFunctions.BackPersonIdentify(Customer."Partner Code",Text005,0); //odztotozneni COMMIT; END; END; UNTIL Customer.NEXT = 0; END; END; END; END; } { 70003; ;DataItem;Ztotozneni70Dite ; DataItemTable=Table2000000026; DataItemTableView=SORTING(Number) WHERE(Number=CONST(1)); OnAfterGetRecord=VAR ContactRelationCount@70006 : Integer; ContactRelation@70004 : Record 62055; i@70007 : Integer; ISZRParent@70003 : Record 50127; ISZRDataMgt@70000 : Codeunit 50108; BEGIN //ZPW953.44653 -> // u Partnera, ktery neni POJ, prihlasit odber pokud se mu narodi dite IF Check18Plus THEN BEGIN IF GUIALLOWED THEN BEGIN Dlg.UPDATE(1,'4/4'); Dlg.UPDATE(2,Text008); Dlg.UPDATE(2,0); Dlg.UPDATE(3,0); END; //LogNo := DeskLogEntry.InsDeskLogEntry(3,50168,0,28,Txt006,RecRef); PerCheckFunc.SETRANGE("Process Type", PerCheckFunc."Process Type"::"ISZR Ztoto§nØn¡"); PerCheckFunc.SETRANGE("Not Visible", FALSE); PerCheckFunc.SETFILTER(fx,'fx_RegisterROB'); PerCheckFunc.FINDFIRST; CLEAR(ContactRelation); // k dnesnimu dni je dite ContactRelation.SETCURRENTKEY("Child Contact No.","Parent Contact No.","Relation Type","Valid From"); ContactRelation.SETFILTER("Child Contact No.",'<>%1',''); ContactRelation.SETFILTER("Relation Type",'%1|%2|%3',ContactRelation."Relation Type"::Representative, ContactRelation."Relation Type"::"Underage Kid",ContactRelation."Relation Type"::"Non Sui Juris"); ContactRelation.SETFILTER("Valid From",'..%1',TODAY); ContactRelation.SETFILTER("Valid To",'%1..&<>%2',TODAY,0D); IF DebugKMITS THEN ContactRelation.SETRANGE("Parent Contact No.",PARNO); IF ContactRelation.FINDSET THEN BEGIN ContactRelationCount := ContactRelation.COUNT; // LogNo := DeskLogEntry.InsDeskLogEntry(3,50168,0,28,STRSUBSTNO(Txt003,ContactRelationCount),RecRef); IF GUIALLOWED THEN Dlg.UPDATE(3,ContactRelationCount); i := 0; REPEAT i := i + 1; IF GUIALLOWED THEN Dlg.UPDATE(2,i); CLEAR(ISZRDataMgt); //projizdim vazby IF ContactRelation."Parent Contact No." <> '' THEN BEGIN // hledam ISZR pro rodice, kteri jsou odhlaseni IF ISZRParent.GET(ContactRelation."Parent Contact No.") THEN BEGIN IF ISZRParent."State Code" = '70' THEN BEGIN ISZRParent.MARK(TRUE); END; END; END; UNTIL ContactRelation.NEXT = 0; IF GUIALLOWED THEN Dlg.UPDATE(2,Txt005); ISZRParent.MARKEDONLY(TRUE); ISZRDataMgt.fx_RegisterROB(ISZRParent,PerCheckFunc."State Code"); COMMIT; //LogNo := DeskLogEntry.InsDeskLogEntry(3,50168,1,28,STRSUBSTNO(Txt005,i),RecRef); END; // LogNo := DeskLogEntry.InsDeskLogEntry(3,50168,1,28,Txt006,RecRef); //ZPW953.44653 <- END; END; } } REQUESTPAGE { PROPERTIES { } CONTROLS { { 70003; ;Container ; Name=a; ContainerType=ContentArea } { 70002;1 ;Group ; CaptionML=[CSY=Obecn‚; ENU=General]; GroupType=Group } { 70001;2 ;Field ; CaptionML=[CSY=Ztoto§nØn¡; ENU=Identify]; SourceExpr=CheckISZR } { 70000;2 ;Field ; CaptionML=[CSY=Odhl sit odbØr u nepojiçtØnc…, kteý¡ maj¡ d¡tØ starç¡ 18 let; ENU=Check18]; Description=Pokud nezletil‚ d¡tØ dovrçi 18 let, odhl s¡ u Partnera, kterì nen¡ POJ, odbØr ISZR; SourceExpr=Check18 } { 70004;2 ;Field ; CaptionML=[CSY=Odztoto§nit; ENU=CheckIdentify]; ToolTipML=CSY=Pro ukonŸenì pojistnì vztah a uplynut¡ doby nastaven‚ v Nastaven¡ z kl registr…, bude pojiçtØnec odztoto§nØn; SourceExpr=CheckIdentify } { 70005;2 ;Field ; CaptionML=CSY=Pýihl sit odbØr u nepojiçtØnc…, kteý¡ maj¡ d¡tØ do 18 let; SourceExpr=Check18Plus } } } LABELS { } CODE { VAR PerCheckFunc@70004 : Record 68170; Txt005@70012 : TextConst 'CSY=Hromadn‚ ztoto§nØn¡'; Txt006@70000 : TextConst 'CSY=Kontrola nezletilìch pojiçtØnc…'; Txt007@70013 : TextConst 'CSY=Kontrola ukonŸenìch pojistnìch vztah…'; Text008@70007 : TextConst 'CSY=Ztoto§nØn¡ u nepojiçtØnc… s d¡tØtem'; Dlg001@70001 : TextConst 'CSY=Krok #1####################\Z znam #2###### z #3######;ENU=Step #1####################\Record #2###### from #3######'; Dlg@70011 : Dialog; Text005@70002 : TextConst 'CSY=OvØýen¡ identity klienta;ENU=Verifying the identity of the client'; CheckISZR@70003 : Boolean; Check18@70005 : Boolean; CheckIdentify@70006 : Boolean; Check18Plus@70008 : Boolean; ISZRPoint@70010 : Integer; CUSTNO@70014 : Code[20]; PARNO@70015 : Code[20]; DebugKMITS@70016 : Boolean; PROCEDURE SetParameters@62006(inCheckISZR@62001 : Boolean;inCheck18@62000 : Boolean;inCheckIdentify@70000 : Boolean;inCheck18Plus@70001 : Boolean); BEGIN CheckISZR := inCheckISZR; Check18 := inCheck18; CheckIdentify := inCheckIdentify; Check18Plus := inCheck18Plus; END; BEGIN { #DOCU ZPW500.44779:IVOKLA:05.02.21:NEWOBJECT ZPW953.44653:IVOKLA:13.04.21: #DOCU } END. } RDLDATA { } }