marcio1361303176 Posted April 7, 2004 Report Share Posted April 7, 2004 Estimados Amigos Estou convertendo meu primeiro programa para FW e estou esbarrando em várias coisas ! Veja Abaixo Apos digitar o preço unitário gostaria que o sistema voltasse para que eu podesse digitar mais informacoes Pois apos eu diditar a quantidade ele grava em um terceiro BDF as informacoes QTDE, NOME, VR.UNIT. ETC.. Porem não consigo faze ele ficar em loop nestes campos. *----------------------------------------------------------- DEFINE DIALOG oDlg RESOURCE "C_F_VENDA" ; TITLE "Vendas" REDEFINE FOLDER oFld ID 101 OF oDlg; PROMPT "Dados da Venda"; DIALOGS "INCORCAM" REDEFINE GET OT_NUMVEN var T_NUMVEN PICTURE "999999999999" WHEN (.F.) ID 34 OF oFld:aDialogs[ 1 ] FONT O_F_GET UPDATE REDEFINE GET OT_DATAVE var T_DATAVE PICTURE "@K 99/99/99" ID 35 OF oFld:aDialogs[ 1 ] valid VER_DATA_VAZIA(T_DATAVE) FONT O_F_GET UPDATE REDEFINE COMBOBOX T_BALCO ITEMS A_CBXBALCO() ID 22 OF oFld:aDialogs[ 1 ] REDEFINE GET OT_CODCLI var T_CODCLI PICTURE "999999" ID 20 OF oFld:aDialogs[ 1 ] Valid V_CODCLI(T_CODCLI) FONT O_F_GET UPDATE REDEFINE BTNBMP RESOURCE "ICON_LUPA" ID 112 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Pesquisar Clientes"; ACTION (PESQ_CLIEN(T_CODCLI),oDlg:SetFocus()) NOBORDER REDEFINE GET OT_NONCLI var T_NONCLI PICTURE "@!" WHEN (.F.) ID 21 OF oFld:aDialogs[ 1 ] FONT O_F_GET COLOR CLR_BLACK, CLR_YELLOW Update REDEFINE GET OT_CPROD var T_CPROD PICTURE "@!" ID 23 OF oFld:aDialogs[ 1 ] FONT O_F_GET UPDATE REDEFINE GET OT_NPROD var T_NPROD PICTURE "@!" ID 24 OF oFld:aDialogs[ 1 ] REDEFINE GET OT_QTDES var T_QTDES PICTURE "@E 999,999.999" ID 25 OF oFld:aDialogs[ 1 ] REDEFINE GET OT_VRUNIT var T_VRUNIT PICTURE "@E 999,999.99" ID 26 OF oFld:aDialogs[ 1 ] ACTIVATE DIALOG oDlg CENTERED marcioe@uai.com.br marcioe@ligbr.com.br Quote Link to comment Share on other sites More sharing options...
gildo.rj Posted April 7, 2004 Report Share Posted April 7, 2004 voce tem que criar uma função para fazer este loop, criar um botão, onde vai gravar os registros e voltar para o primeiro get. gildo de oliveira Quote Link to comment Share on other sites More sharing options...
marcio1361303176 Posted April 7, 2004 Author Report Share Posted April 7, 2004 Amigos Desculpem por postar Minha funcao toda ! É o Seguinte : Quero na tela de Vendas Apareca um Listbox com os Itens que Estão Sendo Vendidos ! Quando Mando Gravar Dá erro : ( Error BASE/1003 Variable does not exist: COD2 ) Será que Alguem Poderia me ajudar ? Desde já Agradeço a Todos pela Atenção ! * I_VENDA.PRG * * * CADASTRO DE CLIENTES ****************************************************************************************************************************************** #include "MARCIO.CH" PUBLIC PARDOS, PROCURA, T_NUMVEN, T_DATAVE, T_CODCLI, T_NONCLI, T_BALCO, T_CPROD,; T_NPROD, T_QTDES, T_VRUNIT, T_TOTAL, T_ITENS,TFOTO, oBmp, nOrden Function VENDAS() DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD DEFINE FONT O_F_GET2 NAME "ARIAL" SIZE 07,15 BOLD *------------------------------------------------------------------------------------------------------------------ T_NUMVEN:=0 T_CODCLI:=0 T_NONCLI:=SPACE(40) T_DATAVE:=CTOD("00/00/00") T_DATAVE:=DATE() T_BALCO :=0 T_CPROD :=SPACE(15) T_NPROD :=SPACE(35) T_QTDES :=0 T_VRUNIT:=0 T_TOTAL :=0 T_ITENS :=0 PARDOS := SPACE(01) PROCURA :=space(40) TFOTO :=SPACE(80) nOrden :=1 *------------------------------------------------------------------------- A_00011() && AREA 0011 VENDEDOR.DBF A_00004() && AREA 0004 CLIENTES.DBF A_00005() && AREA 0005 PPRODUTOS.DBF A_00007() && AREA 0007 TEMPO.DBF A_00014() && AREA 0014 TVENDA.DBF *------------------------------------------------------------------------------ SELECT 14 SET FILTER TO GO BOTTOM T_NUMVEN = CODVENDA + 1 *------------------------------------------------------------------------------------------------------------------ DEFINE FONT oFnt NAME "Arial" SIZE 8,18 DEFINE DIALOG oDlg RESOURCE "C_F_VENDA" ; TITLE "Vendas" REDEFINE FOLDER oFld ID 101 OF oDlg; PROMPT "Dados da Venda"; DIALOGS "INCORCAM" *------------------------------------------------------------------------------------------------------------------ REDEFINE GET OT_NUMVEN var T_NUMVEN PICTURE "999999999999" WHEN (.F.) ID 34 OF oFld:aDialogs[ 1 ] FONT O_F_GET UPDATE REDEFINE GET OT_DATAVE var T_DATAVE PICTURE "@K 99/99/99" ID 35 OF oFld:aDialogs[ 1 ] valid VER_DATA_VAZIA(T_DATAVE) FONT O_F_GET UPDATE REDEFINE COMBOBOX T_BALCO ITEMS A_CBXBALCO() ID 22 OF oFld:aDialogs[ 1 ] REDEFINE GET OT_CODCLI var T_CODCLI PICTURE "999999" ID 20 OF oFld:aDialogs[ 1 ] Valid V_CODCLI(@T_CODCLI) FONT O_F_GET UPDATE REDEFINE BTNBMP RESOURCE "ICON_LUPA" ID 112 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Pesquisar Clientes"; ACTION (PESQ_CLIEN(@T_CODCLI),oDlg:SetFocus()) NOBORDER REDEFINE GET OT_NONCLI var T_NONCLI PICTURE "@!" WHEN (.F.) ID 21 OF oFld:aDialogs[ 1 ] FONT O_F_GET COLOR CLR_BLACK, CLR_YELLOW Update REDEFINE GET OT_CPROD var T_CPROD PICTURE "@!" ID 23 OF oFld:aDialogs[ 1 ] VALID V_I_VENDA_CODPRO(@T_CPROD) FONT O_F_GET UPDATE REDEFINE BTNBMP RESOURCE "ICON_LUPA" ID 36 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Pesquisar Produtos"; ACTION (PESQ_PRODU(@T_CPROD),oDlg:SetFocus()) NOBORDER REDEFINE GET OT_NPROD var T_NPROD PICTURE "@!" WHEN (.F.) ID 24 OF oFld:aDialogs[ 1 ] FONT O_F_GET REDEFINE GET OT_QTDES var T_QTDES PICTURE "@E 999,999.999" ID 25 OF oFld:aDialogs[ 1 ] REDEFINE GET OT_VRUNIT var T_VRUNIT PICTURE "@E 999,999.99" ID 26 OF oFld:aDialogs[ 1 ] REDEFINE BTNBMP RESOURCE "MNU_SALVAR" ID 29 OF oFld:aDialogs[ 1 ]; TOOLTIP "Lancar Itens Na Venda"+ CRLF+" Nº.: "+STRZERO(T_NUMVEN,10,0); ACTION (GRAVA_ITENS_VENDA(),OT_CPROD:setfocus()) NOBORDER *------------------------------------------------------------------------------------------------------------------------ SELECT 7 GO TOP DEFINE FONT O_F_BRW NAME "MS SANS SERIF" SIZE 0,-15 REDEFINE LISTBOX oLbx FIELDS COD2,; NOM,; ESP,; TRANSFORM(QTD,"@ZE 99,999.999"),; TRANSFORM(VAL,"@ZE 99,999.99"),; TRANSFORM(TOT,"@ZE 999,999.99"); HEADERS "Codigo",; "Nome",; "Und",; "Qtde",; "Pr.Venda",; "Total"; FIELDSIZES 150,380,40,080,080 ; COLOR CLR_BLACK,Rgb(255,255,200) ; FONT O_F_BRW; ID 102; OF oFld:aDialogs[ 1 ] *On DBLCLICK( PROCAD("A"), oLbx:Refresh() ) oLbx:ajustify:={.F.,.F.,.T.,.T.,.T.} oLbx:nLineStyle := 3 oLbx:Refresh() oLbx:nClrBackHead := CLR_HBLUE // Cor do Fundo do Cabe‡alho oLbx:nClrBackFocus := CLR_AZUL_BRANCO // Cor do Cursor Em Cima do Ötem oLbx:nClrForeHead := CLR_BLANCO // Cor nos Headers - Cabe‡alhos //// Aqui faço as corres oLbx:nClrPane := { || IIF( ( oLbx:cAlias)->( OrdKeyNo()) %2 == 1, ; CLR_LGREEN,CLR_LGRAY)} *------------------------------------------------------------------------------------------------------------------------ ACTIVATE DIALOG oDlg CENTERED RETURN NIL *------------------------------------------------------------------------------------- * Pesquisa de Codigos de Clientes * * *------------------------------------------------------------------------------------------- FUNCTION V_CODCLI(T_PESCOD) SELECT 4 SET DELETED ON SET ORDER TO 1 SET FILTER TO GO TOP SEEK T_PESCOD IF FOUND() T_CODCLI:=CLICOD T_NONCLI:=CLINOM TFOTO :=FOTO ELSE PESQ_CLIEN(T_PESCOD) T_CODCLI:=CLICOD T_NONCLI:=CLINOM TFOTO :=FOTO ENDIF OT_CODCLI:Refresh() OT_NONCLI:Refresh() OT_CODCLI:setfocus() RETURN(.T.) *------------------------------------------------------------------------------------- * Pesquisa de Codigos de Clientes * * Verifica se o codigo do Produto *------------------------------------------------------------------------------------------- FUNCTION V_I_VENDA_CODPRO(T_PESNOM) SELECT 5 SET DELETED ON SET ORDER TO 3 SET FILTER TO GO TOP SEEK T_PESNOM IF FOUND() T_CPROD:=CODPRO2 T_NPROD:=NOMPRO ELSE PESQ_PRODU(T_PESNOM) T_CPROD:=CODPRO2 T_NPROD:=NOMPRO ENDIF OT_CPROD:Refresh() OT_NPROD:Refresh() OT_CPROD:setfocus() RETURN(.T.) *------------------------------------------------------------------------------------- * Grava os Itens das Vendas Atuais * Itens Area 07 Tempo * *------------------------------------------------------------------------------------------- FUNCTION GRAVA_ITENS_VENDA() RETURN(.T.) marcioe@uai.com.br marcioe@ligbr.com.br Quote Link to comment Share on other sites More sharing options...
vagner Posted April 8, 2004 Report Share Posted April 8, 2004 Olá Márcio, Coloque no seu listbox, as variáveis junto com seu alias, pois no FW, não é igual ao clipper, então ele acaba se perdendo, outra coisa costume colocar um "alias" nos arquivos, fica muito mais fácil do que usar os números de área. REDEFINE LISTBOX oLbx FIELDS 7->COD2,; 7->NOM,; Esse 7 é seu alias, por isso fica esquisito, se vc colocasse o nome ficaria mais fácil de saber , tipo assim : REDEFINE LISTBOX oLbx FIELDS Tempo->COD2,; Tempo->NOM,; Abraços Vagner Wirts São Paulo-Brasil Quote Link to comment Share on other sites More sharing options...
mou321 Posted April 8, 2004 Report Share Posted April 8, 2004 Caro Marcio. Pelo que reparei COD2 e um campo de arquivo , esse erro so vai dar se a area de trabalho nao estiver selecionada. Mauricio (RJ) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.