Clipper On Line • Ver Tópico - Rotina p/ transportar produtos obsoletos

Rotina p/ transportar produtos obsoletos

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Rotina p/ transportar produtos obsoletos

Mensagempor Itamar M. Lins Jr. » 05 Nov 2021 21:18

Olá!
Para achar e mover/apagar produtos com ano(s) sem movimentação -> Entradas no Estoque e QTD = ZERO!

**********************************
FUNCTION TransportarProdutos(oBrw)
**********************************
*
*
LOCAL oFont,oDlg,lOk := .f.,cTitulo:='Transporte de produtos descontinuados'
LOCAL nAno := Year(Date())-2, cPhantom:="", nSoma :=  0, nRefresh := 0, nRec:=0, nTRec:=eq->(RecCount()), oBar
PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -16

INIT DIALOG oDlg CLIPPER TITLE cTitulo Font oFont AT 0,0 SIZE 340,180 STYLE DS_CENTER + WS_VISIBLE + WS_SYSMENU

@ 020,035 say 'Ano base:' size 100,25
@ 110,030 get oAno  VAR nAno  picture '9999' size 60,25 STYLE ES_RIGHT

@ 110,050 get oPhantom VAR cPhantom size 0,0

@ 020,090 ButtonEx oBtOff Caption 'Cancelar'   Size 110,30 BITMAP HBitmap():AddResource('EXIT'):handle TRANSPARENT ON CLICK {||hwg_EndDialog()}
@ 200,090 ButtonEx oBtOn  Caption 'Confirmar'  Size 110,30 BITMAP HBitmap():AddResource('RUN'):handle TRANSPARENT ON CLICK {||lOk:=.t.,hwg_EndDialog()}

oDlg:Activate()

if !lOk
  RETURN .T.
endif

oBar := HProgressBar():NewBox( "Processando, "+lTrim(str(nRec,9))+" De "+lTrim(Str(nTRec,9))+" Registro(s)",,,350,,nTRec)
eq->(dbGoTop())
DO WHILE eq->(!Eof())

   tp54e->(ordSetFocus(8)) //cod_mercad+DESCEND(dtos(DATA))
   tp54e->(OrdScope(0,eq->cod_mercad) )
   tp54e->(OrdScope(1,eq->cod_mercad) )
   tp54e->(DbGoTop())
   
   IF Empty(eq->quantidade)
      IF Year(tp54e->data) < nAno
         nSoma++               
      ENDIF
   ENDIF
   
   eq->(dbSkip())
   
   IF ++nRefresh == 100
       oBar:Set("Movendo "+lTrim(Str(nRec+=nRefresh,9))+" De "+lTrim(Str(nTRec,9))+" Registro(s)",nRec)         
       hwg_processmessage()
       nRefresh :=  0
   ENDIF
   
ENDDO
oBar:Close()
hwg_msginfo("Total de produto(s) encontrado(s): " + AllTrim(Transform(nSoma,"9999,999,999")) + " Ano base: " + Str(nAno) )
RETURN .T.


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Rotina p/ transportar produtos obsoletos

Mensagempor JoséQuintas » 06 Nov 2021 18:55

Na prática não é isso, porque não está movimentando nada.
Mas entendi que é um exemplo que pode até ser comparado a uma tela de login.
E que pode ter 1001 utilidades.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro