; verze z 19.1.2011
Name('Neuhrazené pohledávky pro KB')
Designed('POHLMAN#1')

DeclareRec('Program')
DeclareRec('Pohledavka')
DeclareRec('KeyPohledavka1')

Smlouva:String[20]=GetDataINI('ckm','smlouva');
ActDate:Word=GetDate();
Datum:String[6]=Year(ActDate,2)+Month(ActDate,2)+Day(ActDate,2);
NazevSouboru:String=TransToEsc(CompletePath(GetFromINI('Paths','ckm'))+Program.ICO+'-'+Datum+'.ckm');

DefDialog('Nastavení pro soubor',444,160)
DlgShade(-1,'Volba údajů',4,4,434,86)

DlgStatic(-1,'Číslo smlouvy',16,34,112)
DlgEdit(101,Smlouva,136,30,192,,20,ES_LEFT)

DlgStatic(-1,'Název souboru',16,64,112)
DlgEdit(102,NazevSouboru,136,60,224,,,ES_LEFT)
DlgFileButton(102,360,59);

DlgButton(id_OK,'OK',304,94);
DlgButton(id_Cancel,'Zpět',372,94);

if(DlgExecute(true)<>id_OK)
  Halt;

SetDataINI('ckm','smlouva',Smlouva);
SetToIni('Paths','ckm',FilePath(NazevSouboru))

WNSType(1);

NewWNS('Pohl_KB.wns')

Veta:LongInt
Polozek:LongInt;
Pozice:LongInt;
LocD:Double;
LocD2:Double;
Celkem:Double;
Soubor:TextFile;
VSymb:String[10];
Mena:String[3];
DatSpl:String[6];
DatVyst:String[6];
Rewrite(Soubor,NazevSouboru);

WriteLn(Soubor,'HO',DupChar(' ',9),Datum,FillStrR(Smlouva,20,' ',true),DupChar(' ',174));

SetDescr(0,0,TA_LEFT|DESCR_DATE,'Datum: ');
SetDescr(1,0,TA_RIGHT|DESCR_PAGENUM,'Strana: ');
SetDescr(2,1,TA_CENTER,'Opis souboru neuhrazených pohledávek pro KB');
SetDescr(3,2,TA_CENTER,'');

SetColumn(0,ta_Right,5); P.C.
SetColumn(1,ta_Left,8);  IC
SetColumn(2,ta_Left,35); Nazev
SetColumn(3,ta_Left,10); VS
SetColumn(4,ta_Left,10); Cislo
SetColumn(5,ta_Left,10); Datum splatnosti
SetColumn(6,ta_Left,10); Datum vystaveni
SetColumn(7,ta_Right,12);Castka
SetColumn(8,ta_Left,12); Mena

SetHead('p.č.\tIČ\tNázev dlužníka\tVar.symb.\tČíslo\tSplatnost\tVystavení\tČástka\tMěna')

ClearKey(KeyPohledavka1)

InitStatus(UsedKeys(KeyPohledavka1),'Vytvářím soubor')

while(NextKey(KeyPohledavka1,Veta))
  begin
    ReadRec(Pohledavka,Veta)
    Inc(Pozice)
    if(InFilter(Pohledavka))
      begin
        if((not Pohledavka.Uhrazena)and(Pohledavka.Castka-Pohledavka.Uhrazeno>0))
          begin
            Inc(Polozek)
            if((Pohledavka.Mena<0)and(Pohledavka.CastkaM>0))
              begin
                Mena=NumToCCC(Pohledavka.Mena);
                if((Pohledavka.Uhrazeno=0)or(Pohledavka.Castka=0))
                  begin
                    LocD=Pohledavka.CastkaM;
                  end else
                  begin
                    LocD=Pohledavka.CastkaM*((Pohledavka.Castka-Pohledavka.Uhrazeno)/Pohledavka.Castka)
                  end;
              end else
              begin
                Mena=Program.KodMeny;
                LocD=Pohledavka.Castka-Pohledavka.Uhrazeno
              end;
            LocD2=Round(LocD*100);
            Celkem=Celkem+LocD2;
            VSymb=NulL(ValidateStr(Pohledavka.Doklad,'0123456789'),10);
            DatSpl=Year(Pohledavka.DatSpl,2)+Month(Pohledavka.DatSpl,2)+Day(Pohledavka.DatSpl,2);
            DatVyst=Year(Pohledavka.DatVyst,2)+Month(Pohledavka.DatVyst,2)+Day(Pohledavka.DatVyst,2);
            AddLine(Str(Polozek),Str(Pohledavka.ICO,,,true),Pohledavka.Firma,VSymb,Pohledavka.Doklad,StrDate(Pohledavka.DatSpl),StrDate(Pohledavka.DatVyst),StrFinanc(LocD,2),Mena)
            Write(Soubor,'42',NulL(Str(Polozek),5),FillStrR(NulL(Str(Pohledavka.ICO),8),10,' ',true),FillStrR(Pohledavka.Firma,50,' ',true),VSymb,FillStrR(Pohledavka.Doklad,20,' ',true));
            WriteLn(Soubor,DatSpl,DatVyst,NulL(Str(LocD2,,0),15),FillStrR(Mena,3,' ',true),DupChar(' ',84));
          end;
      end;
    SetStatus(Pozice)
  end;

WriteLn(Soubor,'TO',DupChar(' ',9),Datum,NulL(Str(Polozek),6),NulL(Str(Celkem,,0),18),DupChar(' ',170));
Close(Soubor);

END