Jump to content
Fivewin Brasil

Wellington Vieira

Membros
  • Posts

    424
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Wellington Vieira

  1. Olá, Não sei o porque mas bastou dar um refresh() depois de montada a tela.. obrigado a todos...
  2. Sim são publicas, ficam no PRG principal chamado wsiscom.prg.. e lá estão.. define font mtahomapequena name "Tahoma" size 4.0,12 // font padrao para Say/Get/Botoes define font mtahoma name "Tahoma" size 6.0,15 // font padrao para Say/Get/Botoes define font mtahomabold name "Tahoma" bold size 6.0,15 // font padrao para Say/Get/Botoes define font mtahomapequenogrande name 'Tahoma' size 08,22 // define font mtahomamenosgrande name 'Tahoma' bold size 08,22 // define font mtahomameiogrande name 'Tahoma' bold size 09,25 // define font mtahomagrande name 'Tahoma' bold size 12,25 // define font mtahomagrandeletra name 'Tahoma' bold size 14,28 etc..... Mas a tela na realidade é um bitmap assim: Imagem da tela de pedido...clique para abrir
  3. Segue o código.. function pedido(objetpedido,objetipodetela) // objetpedido = "S", objettipodetela = "P" if ver_senha("000550") = .f. return .t. endif // Quando for T e de venda e P ‚ de pedidod........................... objettela = objetipodetela // Quando objetpedido = "S" -> Saida // Quando objetpedido = "E" -> Entrada... define brush obrushpedidoTela file "emissao_pedido.bmp" // imagem de fundo bmp.... if objetpedido = "S" oTitlePedido = "Emissão de pedidos" elseif objetpedido = "E" oTitlePedido = "Entrada de pedidos" endif //define dialog pedido title oTitlePedido from 000,000 to 650,1020 Pixel brush obrushpedido transparent define dialog pedido title oTitlePedido from 000,000 to 650,1020 Pixel brush iif(objetpedido = "S",iif( objettela = "T",obrushpedidoPDV,iif(objettela = "P",obrushpedidoTela,)),) transparent // variaveis do pedido......................................... if objetpedido = "S" mPnumerodopedido = 0 elseif objetpedido = "E" mPnumerodopedido = 0 endif mPidpedido = 0 mPsituacaopedido = 1 mPnomedasituacao = "Digitação" mPnumeronotafiscal = 0 mPnumerocupomfiscal = 0 mPtipopreco = 1 mPtipovenda = 1 //tadmnomepreco1 = alltrim(zadmnomepreco1) //tadmnomepreco2 = alltrim(zadmnomepreco2) tadmnomepreco1 = iif(!empty(zadmnomepreco1),alltrim(zadmnomepreco1),"Preco_1") tadmnomepreco2 = iif(!empty(zadmnomepreco2),alltrim(zadmnomepreco2),"Preco_2") mPidcliente = 0 mPnomedocliente = space(60) rproc_procura_consumidor(1) mPcnpjcpf = space(14) mPdatapedido = date() mPdataemissao = ctod("") asamplzPEDpedido = {""} arecPEDpedido = {} // variaveis para o tipo de movimento.......................... mPtipomovimento = 0 mPdescricaotipodemovimento = space(50) tmovimentaestoque = .f. // se movimenta o estoque tgeracontas = .f. // se gera cts a pagar ou receber tmovimentocompravenda = .f. // se movimento de compra ou venda tabatemovimento = .f. // se abate no valor do movimento tcomporcustomedio = .f. // se compoe custo medio tcomporcustocontabil = .f. // se compoe custo contabil texigirmargemlucro = .f. // se exige margem de lucro tmovimentoconsignado = .f. // se o movimento e consignado tprazoacertoconsignado = 0 // se tem prazo ou acerto consignado tcodigocancelamento = 0 // codigo para o cancelamento // variaveis para o produto.................................... mAcodigoproduto = space(20) // c¢digo do produto mAnomedoproduto = space(100) // descri‡Æo do produto mAtotalvenda = 0 // total do item mAqtdpedida = 1 // quantidade mPseqproduto = 0 mPcodigoproduto = space(20) mPestoquedisponivel = 0 mPnomedoproduto = space(100) mPtamanho = 0 mPcor = 0 mPtamanhocor = space(30) mPqtdpedida = 0 mPqtdunidade = 0 mPvalorvendaunitario = 0 mPcustounitariocontabil = 0 mPcustounitarionf = 0 mPtotaldoproduto = 0 mPestoque = 0 mPreserva = 0 mPconsignado = 0 mPprecovenda1 = 0 mPprecovenda2 = 0 mPdescontomaximoitem = 0 mPtermovimentacao = .f. mfracaoqtd = .f. mqtddecimais = 0 mvlrdecimais = 0 asamplzcontroleproduto = {""} areccontroleproduto = {} // variaveis do pedido......................................... mPtotaldeitens = 0 mPsubotaldositens = 0 mPdescontoacrescimo = 1 mPvaloroupercentualdesconto = 0 mPtotaldopedido = 0 mptotaladividir := mptotalareceber := 0 msairESC := "N" mPdescontototalpermitido = 0 mPdescontototaldado = 0 mAchaProcuraPedido = "N" // plano de contas............................................. maad = 0 pega_grau() mPdescricaoplanodecontas = space(150) mPadescricaoplanodecontas = {} aadd(mPadescricaoplanodecontas,space(150)) cQuery := "select seqcontas,descricao,contacontabil from fnplanoconta "+; " order by descricao asc;" oQuery := oServer:Query(cQuery) DO WHILE ! oQuery:Eof() a = oQuery:Fieldget(oQuery:Fieldpos('descricao')) b = oQuery:Fieldget(oQuery:Fieldpos('seqcontas')) c = oQuery:Fieldget(oQuery:Fieldpos('contacontabil')) if val(substr(c,1,1)) = 2 oQuery:Skip() loop endif if val(right(alltrim(c),len(maad))) <= 0 oQuery:Skip() loop endif if !empty(a) aadd(mPadescricaoplanodecontas,a) endif oQuery:Skip() END oQuery:destroy() // pega o tipo de caixa........................................ mPidtipodecaixa = 1 mPdescricaotipodecaixa = space(50) // descricao do tipo de caixa quando o pedido for a vista. mRdescricaotipodecaixa = space(50) // descricao do tipo de caixa na entrada do recebimento mPadescricaotipodecaixa = {} cquery := "select * from fncaixas"+; " order by descricaocaixa asc;" oquery := oServer:Query(cquery) aadd(mPadescricaotipodecaixa,space(50)) nncaixa = 0 do while ! oquery:eof() b = oquery:Fieldget(oquery:Fieldpos('descricaocaixa')) if !empty(b) aadd(mPadescricaotipodecaixa,b) endif ++nncaixa oquery:skip() end oquery:destroy() if nncaixa = 1 for ttcaixa = 1 to len(mPadescricaotipodecaixa) mPdescricaotipodecaixa = mPadescricaotipodecaixa[ttcaixa] next endif nPassa_a_liberar_na_tela_venda = "N" // meio de pagamento quando for a vista............................... mPdescricaoformapagamento = space(50) mPadescricaoformapagamento = {} aadd(mPadescricaoformapagamento,space(50)) cquery := "select * from fnmeiospagamento where"+; " avistaaprazo = 1"+; " order by descricaomeiospagamento asc;" oquery := oServer:Query(cquery) do while ! oquery:eof() b = oquery:Fieldget(oquery:Fieldpos('descricaomeiospagamento')) if !empty(b) aadd(mPadescricaoformapagamento,b) endif oquery:skip() end oquery:destroy() // Variaveis somente para a saida.............................. mPidvendedor = 0 mPvendedor = space(50) mPavendedor := {} mPrecvendedor := {} mPidvendedoratendeu = 0 mPvendedoratendeu = space(50) mPavendedoratendeu := {} mPrecvendedoratendeu := {} mPlocalentrega = space(100) mPidtabeladeprecos = 0 mPtabeladeprecos = space(50) mPatabeladeprecos := {} mPobservacao = "" msairESCconta = "N" // Joga os representantes em um array.......................... cQuery := "select * from fnrepresentante where"+; " ativo = 'y'" cQuery += " order by razaosocial asc;" oquery := oServer:Query(cquery) //aadd( mPavendedor,space(50) ) //aadd( mPavendedoratendeu,space(50) ) //aadd( mPrecvendedor,0) //aadd( mPrecvendedoratendeu,0) DO WHILE ! oquery:Eof() a = oquery:Fieldget(oquery:Fieldpos('seqrepresentante')) b = oquery:Fieldget(oquery:Fieldpos('razaosocial')) aadd( mPavendedor,b ) aadd( mPavendedoratendeu,b ) aadd( mPrecvendedor,a) aadd( mPrecvendedoratendeu,a) oquery:Skip() END oquery:destroy() @ 001,090 get oPnumerodopedido var mPnumerodopedido picture "@e 999999999" valid ( pega_dados_pedido(objetpedido) ) font mtahomagrande size 63,15 of pedido color corfrtsayds,corfdogetnotafiscal pixel right @ 001,226 say oPnomedasituacao var mPnomedasituacao font mtahomagrandeletra size 65,15 of pedido color corfrtsayds,corfdosay pixel if objetpedido = "S" @ 001,393 say oPnumeronotafiscal var mPnumeronotafiscal font mtahomagrandeletra size 65,15 of pedido color corfrtsayds,corfdosay pixel @ 001,464 say oPnumerocupomfiscal var mPnumerocupomfiscal font mtahomagrandeletra size 65,15 of pedido color corfrtsayds,corfdosay pixel endif @ 017.5,198 say "Tipo de preço" of pedido font mtahomabold size 65,8.5 color corfrtsay,corfdosay pixel @ 17,244 RADIO oPtipopreco VAR mPtipopreco OF pedido color corfrtsay,corfdosay PIXEL SIZE 40,8 oradio := TRadio():New( 17,244, tadmnomepreco1, ; .T., ; // sempre o primeiro elemento recebe .t. .T., ; // .t. = selecionado (Checked) 1, pedido, oPtipopreco, , , , , .F., , ; 50, 8, , .F., .T. ) oPtipopreco:AddRadio( oradio ) oradio := TRadio():New( 17,295, tadmnomepreco2, ; .F. , ; .F. , ; 2, pedido, oPtipopreco, , , , , .F., , ; 50, 8, , .F., .T. ) oPtipopreco:AddRadio( oradio ) @ 035,005 get oPidcliente var mPidcliente valid ( procura_cliente_fornecedor(objetpedido) ) font mtahoma size 44,10 of pedido color corfrtget,corfdogetnotafiscal pixel right when .f. if objetpedido = "S" @ 035,052 btnbmp opedidobut01 size btn_width, btn_height name "search" of pedido action ( rproc_fornecedor(2,"C",mPnumerodopedido,"S")) elseif objetpedido = "E" @ 035,052 btnbmp opedidobut01 size btn_width, btn_height name "search" of pedido action ( rproc_fornecedor(2,"F") ) endif @ 034,065 say oPnomedocliente var mPnomedocliente picture "@!" font mtahomagrande size 225,15 of pedido color corfrtsayds,corfdosay pixel @ 035,388 say oPcnpjcpf var mPcnpjcpf; picture "@!" font mtahoma size 070,10 of pedido color corfrtsayds,corfdosay; pixel @ 035,465 get oPdatapedido var mPdatapedido font mtahoma size 30,10 of pedido color corfrtget,corfdogetnotafiscal pixel if objetpedido = "S" @ 055,005 btnbmp opedidobut02 size btn_width, btn_height name "search" of pedido action ( rproc_tipodemovimento(4,"S",mPnumerodopedido) ) @ 055,018 get oPdescricaotipodemovimento var mPdescricaotipodemovimento picture "@!" font mtahoma size 105,10 of pedido color corfrtget,corfdogetnotafiscal pixel elseif objetpedido = "E" @ 055,005 btnbmp opedidobut02 size btn_width, btn_height name "search" of pedido action ( rproc_tipodemovimento(4,"E",mPnumerodopedido) ) //@ 055,018 get oPdescricaotipodemovimento var mPdescricaotipodemovimento picture "@!" font mtahoma size 425,10 of pedido color corfrtget,corfdogetnotafiscal pixel @ 055,018 get oPdescricaotipodemovimento var mPdescricaotipodemovimento picture "@!" font mtahoma size 425,10 of pedido color corfrtget,corfdoget pixel endif if objetpedido = "S" @ 055,131 combobox oPvendedor var mPvendedor items mPavendedor valid( compoe_vendedor_atendeu() ) font mtahoma size 155,10 of pedido color corfrtget,corfdogetnotafiscal pixel @ 055,292 combobox oPvendedoratendeu var mPvendedoratendeu items mPavendedoratendeu font mtahoma size 155,10 of pedido color corfrtget,corfdogetnotafiscal pixel @ 055,465 say oPdataemissao var mPdataemissao font mtahoma size 30,10 of pedido color corfrtsayds,corfdosay pixel @ 076,005 get oPlocalentrega var mPlocalentrega picture "@!" valid( local_entrega_atualiza() ) font mtahoma size 280,10 of pedido color corfrtget,corfdogetnotafiscal pixel @ 076,292 combobox oPtabeladeprecos var mPtabeladeprecos items mPatabeladeprecos font mtahoma size 211,10 of pedido color corfrtget,corfdogetnotafiscal pixel endif if objettela = "T" @ 111,005 get oPcodigoproduto var mPcodigoproduto picture "@!" valid ( rproc_produto_entradasaida(objetpedido) ) font mtahomagrande size 120,19 of pedido color corfrtget,corfdogetnotafiscal pixel @ 114,130 say oPnomedoproduto var mPnomedoproduto picture "@!" font mtahomagrande size 400,19 of pedido color corfrtsayds,corfdosay pixel else @ 107,005 btnbmp opedidobut03 size btn_width, btn_height name "search" of pedido action ( rproc_produto("Pedido") ) @ 107,018 get oPcodigoproduto var mPcodigoproduto picture "@!" valid ( rproc_produto_entradasaida(objetpedido) ) font mtahoma size 75,10 of pedido color corfrtget,corfdogetnotafiscal pixel @ 107,098 say oPtamanhocor var mPtamanhocor picture "@!" font mtahoma size 105,10 of pedido color corfrtsayds,corfdosay pixel @ 107,209 get oPestoquedisponivel var mPestoquedisponivel picture zmascqtdinteiro font mtahomameiogrande size 46,11 of pedido color corfrtsayds,nRGB(255,255,204) pixel right no border when .f. @ 106,263 say oPnomedoproduto var mPnomedoproduto picture "@!" font mtahomagrande size 225,13 of pedido color corfrtsayds,corfdosay pixel @ 128,038 get oPqtdpedida var mPqtdpedida valid( pega_qtdvalor_analisa(1,objetpedido) ) picture zmascqtdinteiro font mtahoma size 55,10 of pedido color corfrtget,corfdogetnotafiscal pixel right if objetpedido = "S" @ 128,121 get oPvalorvendaunitario var mPvalorvendaunitario valid( pega_qtdvalor_analisa(2,objetpedido) ) picture zmascvalor font mtahoma size 75,10 of pedido color corfrtget,corfdogetnotafiscal pixel right @ 128,239 say oPtotaldoproduto var mPtotaldoproduto picture zmascvalor font mtahoma size 55,10 of pedido color corfrtsayds,corfdosay pixel right elseif objetpedido = "E" @ 128,121 get oPvalorvendaunitario var mPvalorvendaunitario picture zmascvalor font mtahoma size 75,10 of pedido color corfrtget,corfdogetnotafiscal pixel right when .f. @ 128,219 get oPtotaldoproduto var mPtotaldoproduto valid( pega_qtdvalor_analisa(2,objetpedido) ) picture zmascvalor font mtahoma size 75,10 of pedido color corfrtsayds,corfdosay pixel right endif @ 120,300 buttonbmp opedidobut05 bitmap "" left prompt "Lançar produto" textright size 045,20 font obotaof of pedido pixel action( lanca_itens_saida_entrada(objetpedido) ) endif @ 145,005 listbox obrzPEDpedido fields asamplzPEDpedido[obrzPEDpedido:nat,1],asamplzPEDpedido[obrzPEDpedido:nat,2],; asamplzPEDpedido[obrzPEDpedido:nat,3],asamplzPEDpedido[obrzPEDpedido:nat,4],asamplzPEDpedido[obrzPEDpedido:nat,5],; asamplzPEDpedido[obrzPEDpedido:nat,6]; headers "Código","Produto","Und","Quantidade","Unitário","Total"; FIELDSIZES 130,350,50,155,160,135 on dblclick escolha_opcao_exc_alt(objetpedido); size 500,85 font mcourier; pixel of pedido obrzPEDpedido:nClrPane := {|| iif((obrzPEDpedido:nat/2) = int(obrzPEDpedido:nat/2),corfdogetnotafiscal,corlstbxnormal) } obrzPEDpedido:aJustify := { .F.,.F.,.F.,.T.,.T.,.T. } obrzPEDpedido:nLineStyle := 2 obrzPEDpedido:lCellStyle = .t. obrzPEDpedido:lAutoSkip = .t. obrzPEDpedido:SetArray(asamplzPEDpedido) obrzPEDpedido:bGoTop = { || obrzPEDpedido:nat := 1 } obrzPEDpedido:bGoBottom = { || obrzPEDpedido:nat := Eval( obrzPEDpedido:bLogicLen ) } obrzPEDpedido:bSkip = { | nWant, nOld | nOld := obrzPEDpedido:nat, obrzPEDpedido:nat += nWant,; obrzPEDpedido:nat := Max( 1, Min( obrzPEDpedido:nat, Eval( obrzPEDpedido:bLogicLen ) ) ),; obrzPEDpedido:nat - nOld } obrzPEDpedido:bLogicLen = { || Len( asamplzPEDpedido ) } obrzPEDpedido:cAlias = "Array" obrzPEDpedido:nColAct := 1 obrzPEDpedido:lMChange := .F. obrzPEDpedido:SetFocus() obrzPEDpedido:Refresh() obrzPEDpedido:bgotfocus = { || oPcodigoproduto:setfocus() } //@ 120,370 buttonbmp opedidobut06 bitmap "" left prompt "Importa produtos" textright size 060,20 font obotaof of pedido pixel @ 254,010 say oPtotaldeitens var mPtotaldeitens picture zmascqtdinteiro font mtahomagrande of pedido size 085,15 color corfrtsayds,corfdosay pixel right @ 254,122 say oPsubotaldositens var mPsubotaldositens picture "@e 999,999,999,999.99" font mtahomagrande of pedido size 108,15 color corfrtsayds,corfdosay pixel right @ 251,233 radio oPdescontoacrescimo var mPdescontoacrescimo of pedido color corfrtsay,corfdosay pixel size 35,10 oRadio := TRadio():New( 251,233, '', ; .T., ; .T., ; 1, pedido, oPdescontoacrescimo, , , , , .F., , ; 35, 10, , .F., .T. ) oPdescontoacrescimo:AddRadio( oRadio ) oRadio := TRadio():New( 251,275, '', ; .F. , ; .F. , ; 2, pedido, oPdescontoacrescimo, , , , , .F., , ; 25, 10, , .F., .T. ) oPdescontoacrescimo:AddRadio( oRadio ) @ 255,317 get oPvaloroupercentualdesconto var mPvaloroupercentualdesconto picture zmascvalor valid( calcula_desconto_pedido() ) font mtahoma size 55,10 of pedido color corfrtget,corfdogetnotafiscal pixel right @ 254,398 say oPtotaldopedido var mPtotaldopedido picture "@e 999,999,999,999.99" font mtahomagrande of pedido size 108,15 color corfrtsayds,corfdosay pixel right @ 277,005 combobox oPdescricaoplanodecontas var mPdescricaoplanodecontas items mPadescricaoplanodecontas valid( grava_planocontas() ) font mtahoma size 090,10 of pedido color corfrtget,corfdogetnotafiscal pixel @ 279,120 RADIO oPtipovenda VAR mPtipovenda OF pedido color corfrtsayds,corfdosay PIXEL SIZE 40,8 on change( altera_tipo_venda() ) oradio := TRadio():New( 279,099, "", ; .T., ; // sempre o primeiro elemento recebe .t. .T., ; // .t. = selecionado (Checked) 1, pedido, oPtipovenda, , , , , .F., , ; 20, 8, , .F., .T. ) oPtipovenda:AddRadio( oradio ) oradio := TRadio():New( 279,130, "", ; .F. , ; .F. , ; 2, pedido, oPtipovenda, , , , , .F., , ; 20, 8, , .F., .T. ) oPtipovenda:AddRadio( oradio ) oradio := TRadio():New( 279,164, "", ; .F. , ; .F. , ; 3, pedido, oPtipovenda, , , , , .F., , ; 20, 8, , .F., .T. ) oPtipovenda:AddRadio( oradio ) oradio := TRadio():New( 279,190, "", ; .F. , ; .F. , ; 4, pedido, oPtipovenda, , , , , .F., , ; 20, 8, , .F., .T. ) oPtipovenda:AddRadio( oradio ) @ 277,246 combobox oPdescricaoformapagamento var mPdescricaoformapagamento items mPadescricaoformapagamento valid( grava_meio_a_vista() ) font mtahoma size 120,10 of pedido color corfrtget,corfdogetnotafiscal pixel @ 277,385 combobox oPdescricaotipodecaixa var mPdescricaotipodecaixa items mPadescricaotipodecaixa valid( grava_caixa_a_vista() ) font mtahoma size 120,10 of pedido color corfrtget,corfdogetnotafiscal pixel //@ 293,031 buttonbmp onota01 bitmap "" left prompt "Nota fiscal eletronica" textright size 095,10 font obotaof of pedido pixel action ( iif(ver_senha("000553") = .t.,notafiscal("pedido","eletronica",objetpedido,"S"),"") ) //@ 293,148 buttonbmp onota02 bitmap "" left prompt "Cupom fiscal" textright size 095,10 font obotaof of pedido pixel action ( cupom_fiscal() ) //@ 293,265 buttonbmp onota03 bitmap "" left prompt "Observacões" textright size 095,10 font obotaof of pedido pixel action ( nfpedido_obs() ) //@ 293,382 buttonbmp onota04 bitmap "" left prompt "Importar PEDIDO OU ORCAMENTO" textright size 095,10 font obotaof of pedido pixel action( importa_produto_pedido_orcamento(objetpedido) ) @ 293,007 buttonbmp onota01 bitmap "" left prompt "Nota fiscal eletronica" textright size 095,10 font obotaof of pedido pixel action ( iif(ver_senha("000553") = .t.,notafiscal("pedido","eletronica",objetpedido,"S"),"") ) @ 293,107 buttonbmp onota02 bitmap "" left prompt "Cupom fiscal" textright size 095,10 font obotaof of pedido pixel action ( cupom_fiscal() ) @ 293,207 buttonbmp onota03 bitmap "" left prompt "Observacões" textright size 095,10 font obotaof of pedido pixel action ( nfpedido_obs() ) @ 293,307 buttonbmp onota04 bitmap "" left prompt "Importar PEDIDO OU ORCAMENTO" textright size 095,10 font obotaof of pedido pixel action ( importa_produto_pedido_orcamento(objetpedido) ) @ 293,407 buttonbmp onota05 bitmap "" left prompt "Conta Corrente" textright size 095,10 font obotaof of pedido pixel action ( junta_conta_corrente() ) @ 309,005 buttonbmp opedido01 bitmap "" left prompt "Procurar" textright size 040,12 font obotaof of pedido pixel action( iif(objetpedido = "E",rproc_pedido_entrada(),rproc_pedido_saida(objetpedido)) ) if objetpedido = "S" @ 309,047 buttonbmp opedido00 bitmap "" left prompt "Clientes" textright size 040,12 font obotaof of pedido pixel action( listbox_clientes() ) elseif objetpedido = "E" @ 309,047 buttonbmp opedido00 bitmap "" left prompt "Fornecedor" textright size 040,12 font obotaof of pedido pixel action ( listbox_fornecedores() ) endif @ 309,089 buttonbmp opedido02 bitmap "" left prompt "Produtos" textright size 040,12 font obotaof of pedido pixel action( listbox_produto() ) @ 309,131 buttonbmp opedido03 bitmap "" left prompt "Novo" textright size 040,12 font obotaof of pedido pixel action( novo_pedido(objetpedido) ) @ 309,173 buttonbmp opedido04 bitmap "" left prompt "Excluir" textright size 040,12 font obotaof of pedido pixel action( iif(ver_senha("000552") = .t.,exclui_pedido(objetpedido),"") ) @ 309,215 buttonbmp opedido06 bitmap "" left prompt "Troco" textright size 040,12 font obotaof of pedido pixel action( troco_na_venda() ) @ 309,257 buttonbmp opedido05 bitmap "" left prompt "LIBERAR" textright size 040,12 font obotaof of pedido pixel action( iif(ver_senha("000551") = .t.,libera_pedido_entrada_venda(objetpedido),"") ) @ 309,299 buttonbmp opedido07 bitmap "" left prompt "Imprimir" textright size 040,12 font obotaof of pedido pixel action( rel_pedido(objetpedido,"S") ) @ 309,341 buttonbmp opedido08 bitmap "" left prompt "Cancelar" textright size 038,12 font obotaof of pedido pixel action( iif(ver_senha("000552") = .t.,cancela_pedido(objetpedido,mPnumerodopedido,"Pedido"),"") ) @ 309,381 buttonbmp opedido09 bitmap "" left prompt "Recebimentos" textright size 040,12 font obotaof of pedido pixel action( lanca_pedido_cts_receber(objetpedido,1) ) @ 309,422 buttonbmp opedido10 bitmap "" left prompt "NF-(Manual)" textright size 040,12 font obotaof of pedido pixel action( notafiscal("pedido","manual",objetpedido) ) @ 309,463 buttonbmp opedido11 bitmap "" left prompt "Sair" textright size 040,12 font obotaof of pedido pixel action( pedido:end() ) //pedido:brclicked = { | nrow, ncol, nflags | menu_suspenso_pedido( nrow, ncol, 1 ) } pedido:bKeyDown := {|nKey| IIf( nKey == VK_F2,lanca_avulso(objetpedido),0),; IIf( nKey == VK_F3,consulta_produto_aleatorio(1),0),; IIf( nKey == VK_F4,consulta_produto_aleatorio(2),0),; IIf( nKey == VK_F5,Calend(),0)} activate dialog pedido center //release brush obrushpedido return nil
  4. Alguem sabe o porque deste erro, esta compilado na versão 6.12 fivewin | xharbour. 1.2.3 Intl. (Simplex) (Build 20151110) Obrigado. Imagem com erro, clique para visualizar
  5. Bom dia, Também estou com esta mensagem : Site enganoso à frenteOs invasores em fivewin.com.br podem induzir você a fazer algo perigoso, como instalar um software ou revelar suas informações pessoais (por exemplo, senhas, números de telefone ou cartões de crédito). Informar automaticamente ao Google detalhes de possíveis incidentes de segurança Política de Privacidade
  6. Boa Tarde, Caso haja o encontro, gostaria muito de participar pela 1º vez e trocar informações e experiências sobre programação.
  7. Bom não sei se irá ajudar ou piorar, mas eu faço assim. // variavel que vai conter o coeficiente a ser aplicado no rateio dos produtos... ftdescontoacrescimo = 0 // variavel que vai conter o valor total do desconto... mftotaldesconto = 0 // variavel que vai somando os descontos aplicados nos itens a partir do coeficiente [ftdescontoacrescimo] mTotal_desconto_somando_nos_item = 0 // A variavel [mTotaldosProdutos] contem o valor total dos produtos da nf-e //mTotaldosProdutos = // o valor total dos produtos da nf-e // neste caso a variável [ ftdescontopercentualvalor ] é um radiobox sendo que 1 - descontonto em percentual 2 - desconto em valor // desconto informado no get em percentual if ftdescontopercentualvalor = 1 // A variavel [ ftvaloroupercentualdesconto] e um campo get que contém o valor do desconto em percentual ftdescontoacrescimo = ftvaloroupercentualdesconto/100 mftotaldesconto = ((mTotaldosProdutos * ftvaloroupercentualdesconto)/100) // round // desconto informado no get em valor elseif ftdescontopercentualvalor = 2 // A variavel [ ftvaloroupercentualdesconto] e um campo get que contém o valor do desconto em reais ftdescontoacrescimo = ftvaloroupercentualdesconto / mTotaldosProdutos mftotaldesconto = ftvaloroupercentualdesconto endif // do while para os itens do pedido para gravar nos itens da nota fiscal do while ..... // variavel a cada produto pega o total do item ftvalortotaldoitem = // round(( quantidade * valor unitario do item),2) ftvalortotaldescontoitem = 0 if ftdescontoacrescimo > 0 ftvalortotaldescontoitem = round((ftvalortotaldoitem * ftdescontoacrescimo),2) // round mTotal_desconto_somando_nos_item = mTotal_desconto_somando_nos_item + ftvalortotaldescontoitem endif // grava o valor do desconto do item que é a variavel [ftvalortotaldescontoitem] skip enddo // aqui regrava o ajuste no desconto para o último item ..... ou não if ftdescontoacrescimo > 0 if mftotaldesconto > mTotal_desconto_somando_nos_item mAjuste = mftotaldesconto - mTotal_desconto_somando_nos_item // regrava o valor do campo desconto + a variavel mAjuste para o ultimo item em questão elseif mTotal_desconto_somando_nos_item > mftotaldesconto mAjuste = mTotal_desconto_somando_nos_item - mftotaldesconto // regrava o valor do campo desconto - a variavel mAjuste para o ultimo item em questão endif endif
  8. Aqui... https://github.com/JoseQuintas/sefazclass ou https://github.com/fernandoathayde/hbnfe Este primeiro do Jose Quintas está mais completo..
  9. Bom dia, Qual o banco de dados que você utiliza ?
  10. Obrigado a todos pelas respostas, Participei de uma explanação com o pessoal da Amazon via INTERNET, é a solução AWSAmazon é excelente. Mas como o meu cliente quis algo mais no nível de atendimento mais local ( Uberlândia-Minas Gerais), procurei e achei um excelente lançamento de agora fornecido pela. ALGAR TELECOM, em parceria com as empresas uniper, Grupo Binário, Attos Bulls e Odin eles lançaram neste mês o : ELASTICCLOUD da AlgarTelecom e iremos fechar com eles. Caso queiram conhecer a empresa esta situada em Uberlândia - Minas Gerais ( www.algartelecom.com.br ), com anos de experiência em telefonia fixa,celular,Cloud etc... Obrigado a todos Wellington
  11. Este é um exemplo de clientes e seus pedidos, mas o conceito é o mesmo. function rproc_pedido_saida(objetpedido) private salvavarPesGen := "A" novo_pedido(objetpedido) define dialog listbox_saida title "Consulta Pedidos" from 000,000 to 513,1020 pixel brush obrushsuspenso STYLE nOr( WS_BORDER, WS_POPUP, WS_VISIBLE ) transparent @ 0.1,0.3 to 1.5,72.7 label "" of listbox_saida color corfrtsaysuspensa,corfdosaysuspensa @ 1.7,0.3 to 17.9,72.7 label "" of listbox_saida color corfrtsaysuspensa,corfdosaysuspensa asamplzfornecedores = {""} arecfornecedores = {} atipofornecedores = {"Cliente","Fantasia","Parte do nome","CNPJ","CPF","Cidade","Estado"} mtipofornecedores = "Cliente" mpesquisafornecedores = space(300) ncontrole = 1 asamplzconsentrada = {""} arecconsentrada = {} mAchaProcuraPedido = "N" @ 009,153 say "Linhas na grade:" of listbox_saida font mtahoma size 050,9 color corfrtsaysuspensa,corfdosaysuspensa pixel @ 007,203 get oqtdlinhasgradepedido var qtdlinhasgradepedido picture "9999" font mtahoma size 19,12 of listbox_saida color corfrtget,corfdoget pixel right @ 009,225 say "Cliente:" of listbox_saida font mtahoma size 050,9 color corfrtsaysuspensa,corfdosaysuspensa pixel @ 007,250 combobox otipofornecedores var mtipofornecedores items atipofornecedores font mtahoma size 050,25 of listbox_saida color corfrtget,corfdoget pixel //when .f. @ 007,301 get opesquisafornecedores var mpesquisafornecedores picture "@!" font mtahoma size 200,12 of listbox_saida color corfrtget,corfdoget pixel on change enche_pedido_geral(objetpedido) @ 007,501 buttonbmp obutbarras bitmap "" left prompt "X" textright size 6, 14 font mtahomabold of listbox_saida pixel action ( (mAchaProcuraPedido := "S"),listbox_saida:end() ) @ 029.5,005 listbox obrzfornecedores fields asamplzfornecedores[obrzfornecedores:nat,1],asamplzfornecedores[obrzfornecedores:nat,2],; asamplzfornecedores[obrzfornecedores:nat,3],asamplzfornecedores[obrzfornecedores:nat,4],asamplzfornecedores[obrzfornecedores:nat,5]; headers "Codigo","Cliente","Cidade","Estado","CNPJ/CPF" FIELDSIZES 060,650,100,050,110; size 500,100 on click ver_notas_pedido(objetpedido) on change ver_notas_pedido(objetpedido); pixel of listbox_saida obrzfornecedores:nLineStyle := 2 obrzfornecedores:lCellStyle = .t. obrzfornecedores:lAutoSkip = .t. obrzfornecedores:SetArray(asamplzfornecedores) obrzfornecedores:bGoTop = { || obrzfornecedores:nat := 1 } obrzfornecedores:bGoBottom = { || obrzfornecedores:nat := Eval( obrzfornecedores:bLogicLen ) } obrzfornecedores:bSkip = { | nWant, nOld | nOld := obrzfornecedores:nat, obrzfornecedores:nat += nWant,; obrzfornecedores:nat := Max( 1, Min( obrzfornecedores:nat, Eval( obrzfornecedores:bLogicLen ) ) ),; obrzfornecedores:nat - nOld } obrzfornecedores:bLogicLen = { || Len( asamplzfornecedores ) } obrzfornecedores:cAlias = "Array" obrzfornecedores:nColAct := 1 obrzfornecedores:lMChange := .F. obrzfornecedores:SetFocus() obrzfornecedores:Refresh() @ 130,005 listbox obrzconsentrada fields asamplzconsentrada[obrzconsentrada:nat,1],asamplzconsentrada[obrzconsentrada:nat,2],; asamplzconsentrada[obrzconsentrada:nat,3],asamplzconsentrada[obrzconsentrada:nat,4],asamplzconsentrada[obrzconsentrada:nat,5],; asamplzconsentrada[obrzconsentrada:nat,6],asamplzconsentrada[obrzconsentrada:nat,7],; asamplzconsentrada[obrzconsentrada:nat,8],asamplzconsentrada[obrzconsentrada:nat,9]; headers "Pedido","Data","Hora","Valor Bruto","Valor Liquido","Itens","Situacao","Nro da NF","Cliente"; FIELDSIZES 060,060,065,100,100,065,070,150,330; size 500,120 on dblclick ralt_pedido(objetpedido); pixel of listbox_saida //obrzconsentrada:nClrPane := {|| iif(asamplzconsentrada[obrzconsentrada:nat,7] = 'Sim',corlstbxnormal,iif(empty(asamplzconsentrada[obrzconsentrada:nat,7]),corlstbxnormal,corlstbxdifere)) } obrzconsentrada:nLineStyle := 2 obrzconsentrada:lCellStyle = .f. obrzconsentrada:lAutoSkip = .t. obrzconsentrada:aJustify := { .F.,.F.,.F.,.T.,.T.,.T.,.F.,.F.,.F.} obrzconsentrada:SetArray(asamplzconsentrada) obrzconsentrada:bGoTop = { || obrzconsentrada:nat := 1 } obrzconsentrada:bGoBottom = { || obrzconsentrada:nat := Eval( obrzconsentrada:bLogicLen ) } obrzconsentrada:bSkip = { | nWant, nOld | nOld := obrzconsentrada:nat, obrzconsentrada:nat += nWant,; obrzconsentrada:nat := Max( 1, Min( obrzconsentrada:nat, Eval( obrzconsentrada:bLogicLen ) ) ),; obrzconsentrada:nat - nOld } obrzconsentrada:bLogicLen = { || Len( asamplzconsentrada ) } obrzconsentrada:cAlias = "Array" obrzconsentrada:nColAct := 1 obrzconsentrada:lMChange := .F. obrzconsentrada:SetFocus() obrzconsentrada:Refresh() mtipopesquisa = 1 @ 009,005 say "Tipo" of listbox_saida font mtahoma size 65,8.5 color corfrtsay,corfdosay pixel @ 008,020 radio otipopesquisa VAR mtipopesquisa OF listbox_saida color corfrtsayds,corfdosay pixel size 40,10 on change ver_notas_geral(objetpedido,1) oradio := TRadio():New( 008,018, 'Tudo', ; .T. , ; .T. , ; 1, listbox_saida, otipopesquisa, , , , , .F., , ; 20, 10, , .F., .T. ) otipopesquisa:AddRadio( oradio ) oradio := TRadio():New( 008,044, 'Pendente', ; .F. , ; .F. , ; 2, listbox_saida, otipopesquisa, , , , , .F., , ; 30, 10, , .F., .T. ) otipopesquisa:AddRadio( oradio ) oradio := TRadio():New( 008,078, 'Liberado', ; .F. , ; .F. , ; 3, listbox_saida, otipopesquisa, , , , , .F., , ; 30, 10, , .F., .T. ) otipopesquisa:AddRadio( oradio ) oradio := TRadio():New( 008,111, 'Cancelado', ; .F. , ; .F. , ; 4, listbox_saida, otipopesquisa, , , , , .F., , ; 33, 10, , .F., .T. ) otipopesquisa:AddRadio( oradio ) listbox_saida:bKeyDown := {|nKey| IIf( nKey == VK_RETURN,listbox_saida:end(),0)} activate dialog listbox_saida center on init ( ver_notas_geral(objetpedido,2) ) if GetKeyState(VK_RETURN) .or. !GetKeyState(VK_ESCAPE) if mAchaProcuraPedido = "N" ralt_pedido(objetpedido) endif endif salvavarPesGen := "A" return nil function enche_pedido_geral(objetpedido) if empty(opesquisafornecedores:cText) asamplzfornecedores = {""} arecfornecedores = {} obrzfornecedores:SetArray(asamplzfornecedores) obrzfornecedores:refresh() asamplzconsentrada = {""} arecconsentrada = {} obrzconsentrada:SetArray(asamplzconsentrada) obrzconsentrada:refresh() return .t. endif asamplzfornecedores = {} arecfornecedores = {} if mtipofornecedores = "Cliente" cquery := "select * from fncliente where " +; "substr(razaosocial,1"+","+alltrim(str(len(alltrim(opesquisafornecedores:cText))))+")"+; " = " + "'"+alltrim(opesquisafornecedores:cText)+"'" cquery += " order by razaosocial asc;" elseif mtipofornecedores = "Fantasia" cquery := "select * from fncliente where " +; "substr(fantasia,1"+","+alltrim(str(len(alltrim(opesquisafornecedores:cText))))+")"+; " = " + "'"+alltrim(opesquisafornecedores:cText)+"'" cquery += " order by fantasia asc;" elseif mtipofornecedores = "Parte do nome" cquery := "select * from fncliente where " +; "razaosocial like " + "'%"+alltrim(opesquisafornecedores:cText)+"%'" cquery += " order by razaosocial asc;" elseif mtipofornecedores = "CNPJ" cquery := "select * from fncliente where " +; "substr(numerodocumentonacional,1"+","+alltrim(str(len(alltrim(opesquisafornecedores:cText))))+")"+; " = " + "'"+alltrim(opesquisafornecedores:cText)+"'" +; " and pessoafisicajuridica = 'J'" cquery += " order by numerodocumentonacional asc;" elseif mtipofornecedores = "CPF" cquery := "select * from fncliente where " +; "substr(numerodocumentonacional,1"+","+alltrim(str(len(alltrim(opesquisafornecedores:cText))))+")"+; " = " + "'"+alltrim(opesquisafornecedores:cText)+"'" +; " and pessoafisicajuridica = 'F'" cquery += " order by numerodocumentonacional asc;" elseif mtipofornecedores = "Cidade" cquery := "select * from fncliente where " +; "substr(cidadeibge,1"+","+alltrim(str(len(alltrim(opesquisafornecedores:cText))))+")"+; " = " + "'"+alltrim(opesquisafornecedores:cText)+"'" cquery += " order by cidadeibge asc, razaosocial asc;" elseif mtipofornecedores = "Estado" cquery := "select * from fncliente where " +; "substr(uf,1"+","+alltrim(str(len(alltrim(opesquisafornecedores:cText))))+")"+; " = " + "'"+alltrim(opesquisafornecedores:cText)+"'" cquery += " order by uf asc, razaosocial asc;" endif oquery := oServer:Query(cquery) DO WHILE ! oquery:Eof() a = oquery:Fieldget(oquery:Fieldpos('seqcliente')) b = oquery:Fieldget(oquery:Fieldpos('razaosocial')) c = oquery:Fieldget(oquery:Fieldpos('cidadeibge')) d = oquery:Fieldget(oquery:Fieldpos('uf')) e = oquery:Fieldget(oquery:Fieldpos('numerodocumentonacional')) if empty(e) e = space(14) else if len(alltrim(e)) >= 14 e = transform(e,"@r 99.999.999/9999-99") else e = transform(e,"@r 999.999.999-99") endif endif if !empty(a) aadd( asamplzfornecedores,{alltrim(str(a)),b,c,d,e} ) aadd( arecfornecedores,a ) endif oquery:Skip() sysrefresh() END oquery:destroy() if empty( asamplzfornecedores ) asamplzfornecedores = {""} arecfornecedores = {} endif obrzfornecedores:SetArray(asamplzfornecedores) obrzfornecedores:refresh() asamplzconsentrada = {""} arecconsentrada = {} obrzconsentrada:SetArray(asamplzconsentrada) obrzconsentrada:refresh() return nil function pega_situacao_pedido(mtipopesquisa) if mtipopesquisa = 2 cquery += " and situacaopedido = 1" elseif mtipopesquisa = 3 cquery += " and situacaopedido = 2" elseif mtipopesquisa = 4 cquery += " and situacaopedido = 3" endif return nil function ver_notas_geral(objetpedido,objcontrole) if objcontrole = 1 .and. ncontrole = 1 return nil endif ++ncontrole mAchaProcuraPedido = "N" mpesquisafornecedores = space(300) opesquisafornecedores:ctext := mpesquisafornecedores fwait(" ...Aguarde processando...") asamplzfornecedores = {""} arecfornecedores = {} obrzfornecedores:SetArray(asamplzfornecedores) obrzfornecedores:refresh() asamplzconsentrada = {} arecconsentrada = {} czquery := "select * from ftpedido where"+; " pedidoromaneio = " + "'"+"P"+"'"+; " and entradasaida = 'S'"+; " and loja = " + alltrim(str(zseqloja)) czquery += iif(mtipopesquisa = 2," and situacaopedido = 1",iif(mtipopesquisa = 3," and situacaopedido = 2",iif(mtipopesquisa = 4," and situacaopedido = 3",""))) czquery += " order by datapedido desc, numerodopedido desc;" ozquery := oServer:Query(czquery) nQtdContado = 0 DO WHILE ! ozquery:Eof() aitens = ozquery:Fieldget(ozquery:Fieldpos('seqpedido')) bitens = ozquery:Fieldget(ozquery:Fieldpos('numerodopedido')) citens = ozquery:Fieldget(ozquery:Fieldpos('datapedido')) ditens = ozquery:Fieldget(ozquery:Fieldpos('horadopedido')) fitens = ozquery:Fieldget(ozquery:Fieldpos('situacaopedido')) gitens = ozquery:Fieldget(ozquery:Fieldpos('numeronotafiscal')) hitens = ozquery:Fieldget(ozquery:Fieldpos('controledocumento')) mAdescontoacrescimo = ozquery:Fieldget(ozquery:Fieldpos('descontopercentualvalor')) mAvaloroupercentualdesconto = ozquery:Fieldget(ozquery:Fieldpos('valoroupercentualdesconto')) iitens = ozQuery:Fieldget(ozQuery:Fieldpos('razaosocial')) cwquery := "select * from ftnotafiscal where"+; " controledocumento = " + alltrim(str(hitens)) cwquery += " order by controledocumento asc;" owquery := oServer:Query(cwquery) //tPchavedanotafiscal = owquery:Fieldget(owquery:Fieldpos('chavedanotafiscal')) nsta = owQuery:Fieldget(owQuery:Fieldpos('statusdanotafiscal')) owquery:destroy() nsituacao = "" if nsta = "01" nsituacao = "Digitacao" elseif nsta = "02" nsituacao = "Validada" elseif nsta = "03" nsituacao = "Aguar.. recibo" elseif nsta = "04" nsituacao = "Aguar.. protocolo" elseif nsta = "05" nsituacao = "Autorizada" elseif nsta = "06" nsituacao = "Cancelada" elseif nsta = "07" nsituacao = "Inutilizada" elseif nsta = "08" nsituacao = "Denegada" endif //iitens = tPchavedanotafiscal mAtotaldeitens = 0 mAsubtotaldositens = 0 mAtotaldopedido = 0 if !empty(aitens) cwquery := "select * from ftpedidoitem where "+; "idpedido = " + alltrim(str(aitens)) +; " order by seqitempedido asc;" owquery := oServer:Query(cwQuery) DO WHILE ! owquery:Eof() tqtdpedida = owquery:Fieldget(owquery:Fieldpos('qtdpedida')) tvalorvendaunitario = owquery:Fieldget(owquery:Fieldpos('valorvendaunitario')) ttotaldoitem = owquery:Fieldget(owquery:Fieldpos('totaldoitem')) if empty(ttotaldoitem) mAtotaldeitens = mAtotaldeitens + tqtdpedida mAsubtotaldositens = mAsubtotaldositens + round((tqtdpedida * tvalorvendaunitario),2) else mAtotaldeitens = mAtotaldeitens + tqtdpedida mAsubtotaldositens = mAsubtotaldositens + ttotaldoitem endif owquery:Skip() sysrefresh() END owquery:destroy() if mAvaloroupercentualdesconto > 0 if mAdescontoacrescimo = 1 // percentual mAtotaldopedido = mAsubtotaldositens - (( mAsubtotaldositens * mAvaloroupercentualdesconto )/100) elseif mAdescontoacrescimo = 2 // valor mAtotaldopedido = mAsubtotaldositens - mAvaloroupercentualdesconto endif else mAtotaldopedido = mAsubtotaldositens endif aadd( asamplzconsentrada,{alltrim(str(bitens)),dtoc(citens),alltrim(ditens),; transform(mAsubtotaldositens,"@e 999,999,999.99"),; transform(mAtotaldopedido,"@e 999,999,999.99"),; alltrim(str(mAtotaldeitens)),; iif(fitens = 1,"Digitacao",iif(fitens = 2,"Liberado",iif(fitens = 3,"Cancelado",""))),; iif(empty(gitens),"",alltrim(str(gitens))) + iif(!empty(nsituacao)," | "+ nsituacao,""),iitens }) aadd( arecconsentrada,aitens ) endif ozquery:Skip() sysrefresh() ++nQtdContado if qtdlinhasgradepedido > 0 if nQtdContado >= qtdlinhasgradepedido exit endif endif END ozquery:destroy() obrzconsentrada:SetArray(asamplzconsentrada) obrzconsentrada:refresh() odlgwait:end() return nil function ver_notas_pedido(objetpedido) if empty(asamplzfornecedores) return nil endif if len(arecfornecedores) <= 0 return nil endif if arecfornecedores[obrzfornecedores:nat] > 0 fwait(" ...Aguarde processando...") malteitens = arecfornecedores[obrzfornecedores:nat] asamplzconsentrada = {} arecconsentrada = {} czquery := "select * from ftpedido where"+; " idcliente = " + alltrim(str(malteitens)) +; " and pedidoromaneio = " + "'"+"P"+"'"+; " and entradasaida = 'S'"+; " and loja = " + alltrim(str(zseqloja)) czquery += iif(mtipopesquisa = 2," and situacaopedido = 1",iif(mtipopesquisa = 3," and situacaopedido = 2",iif(mtipopesquisa = 4," and situacaopedido = 3",""))) czquery += " order by datapedido desc, numerodopedido asc;" ozquery := oServer:Query(czquery) nQtdContado = 0 DO WHILE ! ozquery:Eof() aitens = ozquery:Fieldget(ozquery:Fieldpos('seqpedido')) bitens = ozquery:Fieldget(ozquery:Fieldpos('numerodopedido')) citens = ozquery:Fieldget(ozquery:Fieldpos('datapedido')) ditens = ozquery:Fieldget(ozquery:Fieldpos('horadopedido')) fitens = ozquery:Fieldget(ozquery:Fieldpos('situacaopedido')) gitens = ozquery:Fieldget(ozquery:Fieldpos('numeronotafiscal')) hitens = ozquery:Fieldget(ozquery:Fieldpos('controledocumento')) mAdescontoacrescimo = ozquery:Fieldget(ozquery:Fieldpos('descontopercentualvalor')) mAvaloroupercentualdesconto = ozquery:Fieldget(ozquery:Fieldpos('valoroupercentualdesconto')) iitens = ozQuery:Fieldget(ozQuery:Fieldpos('razaosocial')) cwquery := "select * from ftnotafiscal where"+; " controledocumento = " + alltrim(str(hitens)) cwquery += " order by controledocumento asc;" owquery := oServer:Query(cwquery) //tPchavedanotafiscal = owquery:Fieldget(owquery:Fieldpos('chavedanotafiscal')) nsta = owQuery:Fieldget(owQuery:Fieldpos('statusdanotafiscal')) owquery:destroy() nsituacao = "" if nsta = "01" nsituacao = "Digitacao" elseif nsta = "02" nsituacao = "Validada" elseif nsta = "03" nsituacao = "Aguar.. recibo" elseif nsta = "04" nsituacao = "Aguar.. protocolo" elseif nsta = "05" nsituacao = "Autorizada" elseif nsta = "06" nsituacao = "Cancelada" elseif nsta = "07" nsituacao = "Inutilizada" elseif nsta = "08" nsituacao = "Denegada" endif //iitens = tPchavedanotafiscal mAtotaldeitens = 0 mAsubtotaldositens = 0 mAtotaldopedido = 0 if !empty(aitens) cwquery := "select * from ftpedidoitem where "+; "idpedido = " + alltrim(str(aitens)) +; " order by seqitempedido asc;" owquery := oServer:Query(cwQuery) DO WHILE ! owquery:Eof() tqtdpedida = owquery:Fieldget(owquery:Fieldpos('qtdpedida')) tvalorvendaunitario = owquery:Fieldget(owquery:Fieldpos('valorvendaunitario')) ttotaldoitem = owquery:Fieldget(owquery:Fieldpos('totaldoitem')) if empty(ttotaldoitem) mAtotaldeitens = mAtotaldeitens + tqtdpedida mAsubtotaldositens = mAsubtotaldositens + round((tqtdpedida * tvalorvendaunitario),2) else mAtotaldeitens = mAtotaldeitens + tqtdpedida mAsubtotaldositens = mAsubtotaldositens + ttotaldoitem endif owquery:Skip() sysrefresh() END owquery:destroy() if mAvaloroupercentualdesconto > 0 if mAdescontoacrescimo = 1 // percentual mAtotaldopedido = mAsubtotaldositens - (( mAsubtotaldositens * mAvaloroupercentualdesconto )/100) elseif mAdescontoacrescimo = 2 // valor mAtotaldopedido = mAsubtotaldositens - mAvaloroupercentualdesconto endif else mAtotaldopedido = mAsubtotaldositens endif aadd( asamplzconsentrada,{alltrim(str(bitens)),dtoc(citens),alltrim(ditens),; transform(mAsubtotaldositens,"@e 999,999,999.99"),; transform(mAtotaldopedido,"@e 999,999,999.99"),; alltrim(str(mAtotaldeitens)),; iif(fitens = 1,"Digitacao",iif(fitens = 2,"Liberado",iif(fitens = 3,"Cancelado",""))),; iif(empty(gitens),"",alltrim(str(gitens))) + iif(!empty(nsituacao)," | "+ nsituacao,""),iitens }) aadd( arecconsentrada,aitens ) endif ozquery:Skip() sysrefresh() ++nQtdContado if qtdlinhasgradepedido > 0 if nQtdContado >= qtdlinhasgradepedido exit endif endif END ozquery:destroy() obrzconsentrada:SetArray(asamplzconsentrada) obrzconsentrada:refresh() odlgwait:end() endif return nil function ralt_pedido(objetpedido) if len(arecconsentrada) <= 0 return nil endif if arecconsentrada[obrzconsentrada:nat] > 0 novo_pedido(objetpedido) malte = arecconsentrada[obrzconsentrada:nat] cquery := "select * from ftpedido where"+; " seqpedido = " + alltrim(str(malte)) +; " and pedidoromaneio = 'P'"+; " and entradasaida = 'S'"+; " order by seqpedido asc;" oquery := oServer:Query(cQuery) mPnumerodopedido = oQuery:Fieldget(oQuery:Fieldpos('numerodopedido')) oPnumerodopedido:ctext := mPnumerodopedido oquery:destroy() listbox_saida:end() oPnumerodopedido:setfocus() oPnumerodopedido:gotfocus() mAchaProcuraPedido = "S" keyboard(chr(9)) oPcodigoproduto:setfocus() oPcodigoproduto:gotfocus() endif return nil
  12. Boa Tarde Senhores(as), Gostaria da ajuda de vocês. O caso é o seguinte tenho um cliente no qual tenho que colocar a base de dados da empresa nas nuvens (cloud server), porém a única que eu conheço é a LOCAWEB e com a qual já trabalhei. Mas necessito apresentar pelo menos 03 orçamentos e não conheço mais nenhuma na qual eu tenha um aval. Se puderem me indicar mais 02 (duas) com as quais vocês já tenham um conhecimento e sabem que não se compraria gato por lebre eu agradeceria muito... Obrigado
  13. Boa noite, Uma dica do TiaoFW ( da SALC ), foi para instalar a pasta que contém programa (desenvolvido por vc's) dentro da pasta Arquivos de programas ou Program Files(x86) ou Program Files, nas máquinas que contém WARSAW() da GAS TECNOLOGIA. No meu caso funcionou... Abraços..
  14. Só uma observação. Neste caso acima, estou utilizando a contrib do xharbour pgsql para o xharbour..
  15. Boa noite Valdir, Em postgreSQL uma das formas que faço é assim. Espero que possa ajudá-lo. #include "FiveWin.ch" #include "common.ch" #include "postgres.ch" #include "Folder.ch" #define btn_width 12 #define btn_height 10 function listbox_clientes() private salvavarPesCli := "A" private opimcli oTitleListboxClientes = "Cliente" define brush obrush COLOR rgb(245,235,223) corfrtsay = rgb(000,000,000) // cor de frente para o say corfdosay = rgb(245,235,223) // cor de fundo para o say corfrtget = rgb(064,078,089) // cor de frente para a edi‡Æo dos campos corfdoget = rgb(255,255,255) // cor de fundo para a edi‡Æo dos campos define font mtahomapesquisaproduto name 'Tahoma' size 07,19 // define font mtahoma name "Tahoma" size 6.0,15 // font padrao para Say/Get/Botoes define font obotaof name 'MS Sans Serif' size 6,15 // font padrao para botoes define dialog listbox_clientes title oTitleListboxClientes from 000,000 to 620,1020 pixel brush obrush //transparent //STYLE nOr( WS_BORDER, WS_POPUP, WS_VISIBLE ) @ 0.1,0.3 to 1.5,72.7 label "" of listbox_clientes color corfrtsay,corfdosay @ 1.7,0.3 to 19.9,72.7 label "" of listbox_clientes color corfrtsay,corfdosay @ 20,0.3 to 22,72.7 label "" of listbox_clientes color corfrtsay,corfdosay asamplzclientes = {""} arecclientes = {} atipoclientes = {"Nome","Fantasia","Parte do nome","CNPJ","CPF","Cidade","Estado"} mtipoclientes = "Nome" mpesquisacliente = space(50) @ 009,005 say "Pesquisar por: " of listbox_clientes font mtahoma size 050,9 color corfrtsay,corfdosay pixel @ 007,050 combobox otipoclientes var mtipoclientes items atipoclientes font mtahoma size 050,25 of listbox_clientes color corfrtget,corfdoget pixel @ 007,101 get opesquisacliente var mpesquisacliente picture "@!" font mtahoma size 405,12 of listbox_clientes color corfrtget,corfdoget pixel @ 029.5,005 listbox obrzclientes fields asamplzclientes[obrzclientes:nat,1],asamplzclientes[obrzclientes:nat,2],; asamplzclientes[obrzclientes:nat,3],asamplzclientes[obrzclientes:nat,4],asamplzclientes[obrzclientes:nat,5],; asamplzclientes[obrzclientes:nat,6],asamplzclientes[obrzclientes:nat,7]; headers "Codigo","Cliente","Fantasia","CNPJ/CPF","Cidade","Estado","Estado" FIELDSIZES 050,305,210,150,160,050,045; size 500,247 on dblclick( manutencao_clientes() ) ; pixel of listbox_clientes font mtahomapesquisaproduto obrzclientes:nClrPane := {|| iif(asamplzclientes[obrzclientes:nat,7] = 'Ativo',corlstbxnormal,iif(empty(asamplzclientes[obrzclientes:nat,7]),corlstbxnormal,corlstbxdifere)) } obrzclientes:nLineStyle := 2 obrzclientes:lCellStyle = .t. obrzclientes:lAutoSkip = .t. obrzclientes:SetArray(asamplzclientes) obrzclientes:bGoTop = { || obrzclientes:nat := 1 } obrzclientes:bGoBottom = { || obrzclientes:nat := Eval( obrzclientes:bLogicLen ) } obrzclientes:bSkip = { | nWant, nOld | nOld := obrzclientes:nat, obrzclientes:nat += nWant,; obrzclientes:nat := Max( 1, Min( obrzclientes:nat, Eval( obrzclientes:bLogicLen ) ) ),; obrzclientes:nat - nOld } obrzclientes:bLogicLen = { || Len( asamplzclientes ) } obrzclientes:cAlias = "Array" obrzclientes:nColAct := 1 obrzclientes:lMChange := .F. obrzclientes:SetFocus() obrzclientes:Refresh() @ 289,012 buttonbmp olisclibut00 bitmap "bmpnovo" left prompt "Novo" textright size 040,12 font obotaof of listbox_clientes pixel @ 289,056 buttonbmp olisclibut01 bitmap "bmpalterar" left prompt "Alterar" textright size 040,12 font obotaof of listbox_clientes pixel @ 289,100 buttonbmp olisclibut03 bitmap "" left prompt "Inativar" textright size 040,12 font obotaof of listbox_clientes pixel @ 289,452 buttonbmp olisclibut10 bitmap "bmpsair" left prompt "Sair" textright size 040,12 font obotaof of listbox_clientes pixel action ( listbox_clientes:end() ) activate dialog listbox_clientes center on init pesquisa_cliente() salvavarPesCli := "A" opimcli:end() return nil function pesquisa_cliente() define timer opimcli interval 70 action psq_cliente() activate timer opimcli return nil function psq_cliente() if salvavarPesCli <> opesquisacliente:cText salvavarPesCli := opesquisacliente:cText enche_cliente() endif return nil function enche_cliente() if empty(opesquisacliente:cText) asamplzclientes = {""} arecclientes = {} obrzclientes:SetArray(asamplzclientes) obrzclientes:refresh() return .t. endif asamplzclientes = {} arecclientes = {} if mtipoclientes = "Nome" cquery := "select * from fncliente where " +; "substr(razaosocial,1"+","+alltrim(str(len(alltrim(opesquisacliente:cText))))+")"+; " = " + "'"+alltrim(opesquisacliente:cText)+"'" +; " order by razaosocial asc;" elseif mtipoclientes = "Fantasia" cquery := "select * from fncliente where " +; "substr(fantasia,1"+","+alltrim(str(len(alltrim(opesquisacliente:cText))))+")"+; " = " + "'"+alltrim(opesquisacliente:cText)+"'" +; " order by fantasia asc;" elseif mtipoclientes = "Parte do nome" cquery := "select * from fncliente where " +; "razaosocial like " + "'%"+alltrim(opesquisacliente:cText)+"%'"+; " order by razaosocial asc;" elseif mtipoclientes = "CNPJ" cquery := "select * from fncliente where " +; "substr(numerodocumentonacional,1"+","+alltrim(str(len(alltrim(opesquisacliente:cText))))+")"+; " = " + "'"+alltrim(opesquisacliente:cText)+"'" +; " and pessoafisicajuridica = 'J'"+; " order by numerodocumentonacional asc;" elseif mtipoclientes = "CPF" cquery := "select * from fncliente where " +; "substr(numerodocumentonacional,1"+","+alltrim(str(len(alltrim(opesquisacliente:cText))))+")"+; " = " + "'"+alltrim(opesquisacliente:cText)+"'" +; " and pessoafisicajuridica = 'F'"+; " order by numerodocumentonacional asc;" elseif mtipoclientes = "Cidade" cquery := "select * from fncliente where " +; "substr(cidadeibge,1"+","+alltrim(str(len(alltrim(opesquisacliente:cText))))+")"+; " = " + "'"+alltrim(opesquisacliente:cText)+"'" +; " order by cidadeibge asc, razaosocial asc;" elseif mtipoclientes = "Estado" cquery := "select * from fncliente where " +; "substr(uf,1"+","+alltrim(str(len(alltrim(opesquisacliente:cText))))+")"+; " = " + "'"+alltrim(opesquisacliente:cText)+"'" +; " order by uf asc, razaosocial asc;" endif oquery := oServer:Query(cquery) DO WHILE ! oquery:Eof() // dados da tabela cliente...... a = oquery:Fieldget(oquery:Fieldpos('seqcliente')) b = oquery:Fieldget(oquery:Fieldpos('razaosocial')) fantasia = oquery:Fieldget(oquery:Fieldpos('fantasia')) c = oquery:Fieldget(oquery:Fieldpos('pessoafisicajuridica')) d = oquery:Fieldget(oquery:Fieldpos('numerodocumentonacional')) e = oquery:Fieldget(oquery:Fieldpos('cidadeibge')) f = oquery:Fieldget(oquery:Fieldpos('uf')) ativo = oquery:Fieldget(oquery:Fieldpos('ativo')) // fim dos dasdos da tabela cliente.... if !empty(a) // guarda as informações a serem vizualizadas no listbox.... aadd( asamplzclientes,{alltrim(str(a)),b,fantasia,iif(c = "J",transform(d,"@r 99.999.999/9999-99"),transform(d,"@r 999.999.999-99")),; e,f,iif( ativo = .t.,"Ativo","Inativo" ) } ) // guarda o registro onde se encontra a informação na tabela... aadd( arecclientes,a ) endif oquery:Skip() END oquery:destroy() if empty( asamplzclientes ) asamplzclientes = {""} arecclientes = {} endif obrzclientes:SetArray(asamplzclientes) obrzclientes:refresh() return nil // Cadastro de clientes ........................................................ function manutencao_clientes() if empty(arecclientes) msgStop("Escolha um cliente.","ATENÇÃO") return nil endif cquery := "select * from fncliente where "+; "seqcliente = " + alltrim(str(arecclientes[obrzclientes:nat])) + " order by seqcliente asc;" oquery := oServer:Query(cquery) mrazaosocial = oquery:Fieldget(oquery:Fieldpos('razaosocial')) oquery:destroy() msginfo(mrazaosocial) return nil
  16. Se for modelo de arquivos xml para NF-e, Você pode acessar o site: http://www.unimake.com.br/uninfe/ e lá você encontra : Modelos de Arquivos XML para NFe Layout 4.0.1 para fazer download...
  17. Em POSTGRES, pode ser assim: select to_char([campo], 'DD-MM-YYYY HH24:MI:SS') As timestamp_em_texto from [tabela] order by [campo] asc; // o retorno vem em text.. // a partir dai basta pegar o substr(...)
  18. Opções para emissão de NF-e. http://www.unimake.com.br/uninfe/ Lá tem : UniNFe 5.0 - Transmissor de XML´s de NF-e, NFC-e, CT-e, MDF-e e NFS-e / Integração ao ERP (.NET Framework 3.5) UniNFe 5.0 - Transmissor de XML´s de NF-e, NFC-e, CT-e, MDF-e e NFS-e / Integração ao ERP (.NET Framework 4.5.1) tem também : https://github.com/J...ntas/sefazclass ( hbnfe )
  19. Veja o UNINFE... http://www.unimake.com.br/uninfe/ Lá tem : UniNFe 5.0 - Transmissor de XML´s de NF-e, NFC-e, CT-e, MDF-e e NFS-e / Integração ao ERP (.NET Framework 3.5) UniNFe 5.0 - Transmissor de XML´s de NF-e, NFC-e, CT-e, MDF-e e NFS-e / Integração ao ERP (.NET Framework 4.5.1) tem também : https://github.com/JoseQuintas/sefazclass ( hbnfe )
  20. No modo SVC-AN ( Contigência) , não aceita cancelamento de NF-e, tem que ser cancelado no SEFAZ de origem. Vou aceitar a sua sugestão e entrar em contato com a SEFAZ/MG. Eu estava protelando porque o suporte da SEFAZ/MG é horrível para não dizer quase inexistente. Mas obrigado pela atenção. abs.
  21. Aqui em Minas Gerais, para cancelar uma NF-e fora do prazo, é necessário acessar um sistema chamado SIARE e pedir o cancelamento extemporâneo da mesma, depois de liberado o cancelamento acessar o software próprio da empresa e fazer o cancelamento normalmente. - Foi emitido uma NF-e em ambiente NACIONAL ( SVC-AN) cujo tpemis = 6 dentro do xml, a mesma foi autorizado pelo SEFAZ NACIONAL, e depois foi enviado ao SEFAZ de origem que é MG, tanto que se consultado o XML na SEFAZ de origem que é MG, ela esta lá. - Passou o prazo do cancelamento convencional, e estou tentando fazer o cancelamento da NF-e, mas retorna o seguinte erro: Rejeicao: Prazo de Cancelamento Superior ao Previsto na Legislacao Lembrando que como o cancelamento esta fora do prazo, a contabilidade acessou o sistema SIARE e pediu o cancelamento extemporâneo da mesma e foi aprovado pela SEFAZ/MG, só que via sistema a sefaz em questão retorna o erro acima mencionado. Segue junto o XML DA nf-e autorizada pela sefaz nacional em ambiente SVC/AN e o pedido de cancelamento que estou fazendo junto a SEFAZ/MG (origem) para cancelar o mesmo. Se alguem puder verificar o xml de cancelamento para ver se há algo errado na estrutura do xml, pois até o momento não consegui identificar qual seria este erro. Obrigado Wellington XML_AUORIZADO_PELA_SEFAZ_CONTIGENCIA_SVC_AN_31160207888361000165550010000014456000014607-procNFe.xml XML_PEDIDO_DE_CANCELAMENTO_DA_NF_EM_CONTIGENCIA_SVC_AN_31160207888361000165550010000014456000014607-env-canc.xml
  22. Conversei com o Sebastião da SALC, e ele me deu uma sugestão para instalar o software dentro da pasta Arquivos de Programas ou Program Files ou Program Files(x86), sendo assim depois que passei a executar o software dentro de uma dessas pastas e uma sub-pasta que contém os meus arquivos ao invés de instalar no c:\, em todas as máquinas que estavam lentas e problemas de sumir botões, imagens, etc.. parou de acontecer. O único incoveniente é que quando rede cada máquina tem que ter o seu executável.
  23. Bom dia, Estou tendo problemas com o módulo de segurança do banco do brasil, ( Varsaw ) da Gás Tecnologia, quando o mesmo esta instalado na máquina o sistema fica muito lento. Pesquisei muito sobre o assunto e percebi que este módulo de segurança esta causando muitos problemas com diversos softwares e sites, mas não consegui nenhum resultado satisfatório. A única solução que encontrei até o momento, foi a de ter uma máquina virtual instalada, para acessar o bb e outros bancos que utilizam o mesmo processo, mas isto não é uma solução viavel. Entrei em contacto com os bancos e eles infelizmentes, não faram nada para resolver este problema. Alguem teria alguma solução mais realista para compartilhar ? Wellington wellington_programador@hotmail.com, rwsiscom@gmail.com
  24. Veja se ajuda também.. http://fontefivewin.site88.net/transferencias-de-arquivos-via-ftp-com-fivewin-for-xharbour/ abs.
×
×
  • Create New...