Página 1 de 1

Tela de vendas com bowse e itens da venda tb aparecendo

Enviado: 15 Fev 2007 19:04
por Ricardo Sales Ribeiro
Olá Amigos!

Esou precisando de uma ajuda de vcs, preciso criar um programa de vendas, onde apareça na tela os dados da venda, e um browse com os itens da venda, podendo alternar entre os dados da venda e os itens.

Como tb incluir e excluir itens, antes de fechar a venda, depois de fechar pedir a forma de pagamento.

Desde já obrigado pela ajuda.

Um grande abraço

Enviado: 15 Fev 2007 21:38
por rochinha
Amiguinho

Com o Miro 2.0 voce poderia fazer umas telas em DOS com o recurso de paginação que consiste de ao teclar PAGE-UP e PAGE-DOWN pular de uma pagina para a outra, sendo que cada pagina teria seus comandos especificos, tipo a primeira conteria GETs dos dados do pedido, a segunda um browse para inputar seus itens e uma terceira com dados finalizadores.

Fica pratico, mas fica um abre tela e tudo mais.

Descole o Miro e verifique como isto funciona. Eu usei a muito tempo atrás e não tenho o codigo onde usava esta caracteristica. Algo parecido com isto:

Código: Selecionar todos

FUNCTION SUAFUNCAO()
LOCAL PAGINA := 1
IF TIPO_ACAO != MOSTRA_PAG_1
    M->AL_TERAR := .F.
ENDIF
DO WHILE .T.
      // Aqui voce coloca alguns GETs
      IF TIPO_ACAO = CONSULTA .OR. TIPO_ACAO = EXCLUSAO
          CLEAR GETS
          IF TIPO_ACAO = EXCLUSAO
              RETURN .T.
          ENDIF
          MENSAGEM( "Tecle algo para continuar" )
          IF TEC_MOU( 0 ) = T_ESC
              RETURN .F.
          ENDIF
      ELSE
          CURSOR( LIGA )
          READ
          CURSOR( DESLIGA )
          IF LASTKEY() = T_ESC
              RETURN .F. // Sai da tela
          ENDIF
          IF LASTKEY() = T_PGUP
              PAGINA := 1
              LOOP
          ENDIF
      ENDIF
      PAGINA := 2 // Pula para proxima pagina
      LOOP
   ENDIF
   IF PAGINA = 2
       // Coloque qualquer coisa aqui
      SAVE SCREEN TO ORCA_SCR
      @ 13,  7 TO 20, 72
      @ 12,  8 SAY "Quantidade"
      @ 12, 19 SAY "Descricao"
      @ 12, 56 SAY "Unitario"
      @ 12, 67 SAY "Desc"
      @ 21, 50 SAY "Total"
      PUBLIC LisCon1[1],INCLUINDO
      LisCon1[1] = 'transform(ES->IDITEM,"9999999")+"³"+substr(ES->DESCRICAO,1,30)+"³"+transform(ES->QUANTIDADE,ES->MASCARA)+"³"+transform(ES->VALORVENDA,"@E 99,999.99")+"³"+transform(ES->IPI,"@E 99.99")'
      SELE arquivo
      SET ORDER TO 1
      GO TOP
      KEYBOARD CHR( T_INSERT ) // Ja entra inserindo item
      DBEDIT(14, 8,19,71,liscon1,'ORCUDF','','','')
      REST SCREEN FROM ORCA_SCR
      // A funcao utilizada pelo DBEDIT deve simular o ESC com SHIFT_TAB
      //IF LASTKEY() = T_ESC // Nao use onde tera o dbedit()
      //   RETURN .F. // Sai da tela
      //ENDIF
      IF LASTKEY() = T_SH_TAB
          PAGINA := 1
          LOOP
      ENDIF
      PAGINA := 3 // Pula para proxima pagina
      LOOP
   ENDIF
   IF PAGINA = 3
       // Codigo da pagina 3
       IF LASTKEY() = T_ESC
           RETURN .F. // Sai da tela
       ENDIF
       IF LASTKEY() = T_SH_TAB
           PAGINA := 2
           LOOP
       ENDIF
       RETURN .T. // nao usa LOOP na ultima pagina tem de sair
   ENDIF
ENDDO
É mais ou menos isto, avalie e entenda.

Enviado: 15 Fev 2007 23:34
por Ricardo Sales Ribeiro
Rochinha
Valeu pela dica, vou agilizar e v~e o q vai dar. Obrigado

Enviado: 16 Fev 2007 11:47
por Eliane
Também preciso desta rotina para apresentar uma tabela de SERVIÇOS com seus respectivos ítens. Vou tentar fazer.