Name('Zrušení kódu zboží')      ; pod tímto názvem bude sestava v menu
Designed('Skl_Man#1')                ; sestava bude dostupná z okna Adrman
Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz')  ;informace o autorovi
Descr('Zruší kódy zboží u vyfiltrovaných položek')  ;popis sestavy, tento text bude v bublince

WNSType(-1)

DeclareRec('Sklad');
DeclareRec('KeySklad4');

if(not IsFilter(Sklad))
  begin
    if(not Question('Nemáte aktivován filtr, opravdu chcete rušit kódy u všech položek ?'))
      Exit;
  end;

ClearKey(KeySklad4);

Ruseni:Boolean=Question('Chcete kódy u položek i rušit (ANO) nebo jen spočítat počet položek (NE)');

if(Ruseni)
  begin
    if(not Question('Opravdu chcete kódy u vybraných položek zrušit ? Pozor ! Je to nevratná akce'))
      Exit;
    ModifyMode(True)
  end;

Veta:LongInt
Zmeneno:LongInt
Pocet:LongInt
OldKod:String[14];

if(Ruseni)
  InitStatus(UsedKeys(KeySklad4),'Ruším kódy');
else
  InitStatus(UsedKeys(KeySklad4),'Zjišťuji počet kódů k zrušení');

While(NextKey(KeySklad4,Veta))
  begin
    ReadRec(Sklad,Veta);
    if(InFilter(Sklad))
      begin
        if((Length(Sklad.Kod)<>0))
          begin
            Sklad.Kod=''
            if(Ruseni)
              ModifyRec(Sklad,Veta);
            Inc(Zmeneno);
            SetStatusRemark(Str(Zmeneno))
          end;
      end;
    Inc(Pocet);
    SetStatus(Pocet);
  end;

if(Ruseni)
  Message('Byl zrušen kód u počtu položek: '+Str(Zmeneno),mb_IconInformation);
else
  Message('Kód by byl zrušen u počtu položek: '+Str(Zmeneno),mb_IconInformation);

END