SE_GREAT;("Subitens de "+Alltrim(Se_Prod->Pdesc));skip_blk(x); 3;40;14;78;x;;
:SKEL
VARIAVEL z_pcod = se_prod->pcod
VARIAVEL w_mensagem = "Sem mais SubItens"
VARIAVEL w_chave = Str(z_pcod,6)
VARIAVEL w_block = {|| w_chave <> Str(pcod,6) }

VARIAVEL z_xBlk = "Z_Sele:=Select(),z_recn:=recn(),"
VARIAVEL z_xBlk = z_xBlk+ 'Abra("0",R_SIGA,"SG_GREAT","SG_GREAT","SG_GREAT","Str(pcod,6)+Str(Floja,3)+Ptam+Pcor"),'
VARIAVEL z_xBlk = z_xBlk+ "if(se_prod->peatual<=0,Mensagem('O estoque total do produto esta zerado...',1),Brow_Db('SG_GREAT',.t.)),"
VARIAVEL z_xBlk = z_xBlk+ 'Sg_GREAT->(DbCloseArea()),'
VARIAVEL z_xBlk = z_xBlk+ "DbSelectArea(z_sele),dbgoto(z_recn)"
VARIAVEL z_BlkItens = _CreateBlock( z_xBlk )
VARIAVEL z_xBlk = ""

COMANDO DEPOIS Z_TITENS = 0
COMANDO DEPOIS #TEXTO_FONTE
#TRACEON
DbSeek(Str(z_pcod,6))
WHILE z_pcod=Pcod .and. .not. eof()
   Z_TITENS := Z_TITENS + peatual
   dbskip()
ENDDO
#FIM_TEXTO_FONTE
COMANDO DEPOIS z_fgalter = Se_Prod->Peatual<>Z_Titens
COMANDO DEPOIS if(z_fgalter,Mensagem("A soma dos saldos dos Subitens ("+alltrim(Str(z_titens,6))+") difere do estoque total ("+alltrim(Str(se_prod->Peatual,6))+")",1),NIL)
:TBMT
 47;Eval(z_BlkItens);/-Subitens ;
:TBFI
Saldo;peatual;N;999999;6;N;
Tamanho;ptam;C;@S4;7;N;
Cor;Pcor;C;@s!10;10;N;

