Jump to content
Fivewin Brasil

mkyx

Membros
  • Posts

    892
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by mkyx

  1. Boa tarde, fivewinner

    Alguém sabe explicar o porquê ao compilar a lib xhb.lib, trava as dll do sat e não emite cupom satcfe?

    uso o xharbour compiler comercial, não atualizado, para compilar minhas aplicações.

    e para ter certeza, tirei a lib xhb.lib ao compilar e o sat voltou ao normal.

    Será que pode ser problema de versão do fivewin e as lib do xharbour ?

    Att.

    Pompeo

    Guaratinguetá, SP

  2. Eu faço assim, nessa impressora: 

    Analisa aí, os comandos da impressora

     

    arq_file:="TPETI"+STRZERO(T_MAQ,3)+".TXT"
    oPrn:=TDosPrn():New(arq_file)
    oPrn:startpage()
    n_lin:=0
    QT00=0
    SELECT arq_esto
    ARQ_ESTO->(DBSETORDER(2)) 
    ARQ_ESTO->(ORDSCOPE(0,""))
    ARQ_ESTO->(ORDSCOPE(1,""))
    IF CODI>0
       SS=STRZERO(CODI,6)
       ARQ_ESTO->(DBSEEK(SS))
    ENDIF
    IF CODI=0 .AND. CODF=0
       ARQ_ESTO->(DBGOTOP())
    ENDIF
    TPE:=TPETIQ
    COL02:={}
    A=1
    QT1=QTI
    QT100=QTI
    AVANCOU:="N"
    //   T_ETIQ:={""}
    if tpe=1
       
       COL02:={}
       FOR I=1 TO LEN(COL01)
           select arq_esto
           ARQ_ESTO->(DBsetorder(2))
           cod:=col01
           if ARQ_ESTO->(DBseek(cod))
              qt_1:=if("M2"$upper(arq_esto->unidade) .or. "M3"$upper(arq_esto->unidade) .or. "M "$upper(arq_esto->unidade) .or. "M. "$upper(arq_esto->unidade) .or. "METRO"$upper(arq_esto->unidade) .or. "KILO"$upper(arq_esto->unidade) .or. "KG"$upper(arq_esto->unidade) .or. "GR"$upper(arq_esto->unidade) .or. "GRANEL"$upper(arq_esto->unidade) .or. "G. "$upper(arq_esto->unidade),1,ARQ_ESTO->QUANTIDADE)
              qt100:=iif(qti=0,QT_1,qti)
              qt100:=if(qt100<=0,1,qt100)
              FOR Z=1 TO QT100
                  AADD(COL02,COD)
              NEXT
           ENDIF
       NEXT
       FOR I=1 TO LEN(COL03)
           select arq_esto
           ARQ_ESTO->(DBsetorder(2))
           cod:=col03[i,1]
           qt100:=col03[i,4]
           if qt100>0
              if ARQ_ESTO->(DBseek(cod))
                 qt100:=if(qt100<=0,1,qt100)
                 FOR Z=1 TO QT100
                     AADD(COL02,COD)
                 NEXT
              ENDIF
           endif
       NEXT
       
       qt100:=-10
       N_QT:=0
       CETIQ:=0
       POS:=0
       if len(col02)>0
    **      oPrn:Say(0,0,CHR(2)+"e"+CHR(13))
          oPrn:Say(0,0,CHR(2)+"KI70"+CHR(13))
          oPrn:Say(0,0,CHR(2)+"m"+CHR(13))
          oPrn:Say(0,0,CHR(2)+"M0300"+CHR(13))
          oPrn:Say(0,0,CHR(2)+"L"+CHR(13))
          oPrn:Say(0,0,"H16"+CHR(13))
          oPrn:Say(0,0,"D11"+CHR(13))
    **    oPrn:Say(0,0,"c0300"+CHR(13))
          if etiqi=2
             POS1:=30+537
             POS2:=320+537
             POS3:=420+537
             POS4:=288+537
             POS5:=400+537
             POS6:=20+537
             POS7:=30+537
          else   
             POS1:=30
             POS2:=320
             POS3:=420
             POS4:=288
             POS5:=400
             POS6:=20
             POS7:=30
          endif
          for i_1:=1 to len(col02)
              select arq_esto
              set order to 2
              cod:=col02[i_1]
              seek cod
              if ARQ_ESTO->(found())
                 qt100:=iif(qt100=0,int(arq_esto->quantidade),qt100)
                 qt100:=if(qt100<=0,1,qt100)
                 DE:=alltrim(left(ARQ_ESTO->DESCRICAO,35))
                 PU:=ARQ_ESTO->AVISTA
                 LOTE:=ARQ_ESTO->COD_EAN13
                 IF VAL(ALLTRIM(LOTE))=0
                    LOTE:=ARQ_ESTO->CODIGO
                 ENDIF
                 IF LEN(ALLTRIM(STR(VAL(LOTE),13)))<=12
                    LOTE:=LEFT(LOTE,12)
                    LOTE:=ALLTRIM(STR(VAL(LOTE),13))
                    LOTE:="789"+STRZERO(VAL(LOTE),9)
                    DIGI:="131313131313"
                    T=0
                    FOR I0=1 TO 12
                        T:=T+(VAL(SUBSTR(LOTE,I0,1))*VAL(SUBSTR(DIGI,I0,1)))
                    NEXT I0
                    DIG="0"
                    IF (T/10)>INT(T/10)
                       DIG:=STR(((INT(T/10)+1)*10)-T,1)
                    ENDIF
                    LOTE:=LOTE+DIG
                 ELSE
                    LOTE:=COD_EAN13
                 ENDIF
    **           oPrn:Say(0,0,"19110030197"+STRZERO(POS1,4)+NO_E+CHR(13))
    **           oPrn:Say(0,0,"1X1100001000200L200010") 
                 oPrn:Say(0,0,"19110000215"+STRZERO(POS1,4)+NO_E+CHR(13))
                 
                 oPrn:Say(0,0,"19110020210"+STRZERO(POS5,4)+str(val(cod))+CHR(13))
                 
    **             oPrn:Say(0,0,"1 3 1 2 000 0160 0050"+DE+CHR(13))

                 clin3:="R$"
                 oPrn:Say(0,0,"19110030165"+STRZERO(POS2+25,4)+cLin3+CHR(13))

                 IF AVI
                    clin2:=TRANSFORM(AVISTA,"@E 999999.99")
                    clin3:="Av"
                    oPrn:Say(0,0,"19110030165"+STRZERO(POS3,4)+cLin3+CHR(13))
                 ELSE
                    clin2:=TRANSFORM(APRAZO,"@E 999999.99")
                    clin3:="Ap"
                    oPrn:Say(0,0,"19110030165"+STRZERO(POS3,4)+cLin3+CHR(13))
                    
                 ENDIF
                 oPrn:Say(0,0,"19110050082"+STRZERO(POS4+20,4)+cLin2+CHR(13))
                 
    **             oPrn:Say(0,0,"19110010060"+STRZERO(POS5,4)+str(val(cod))+CHR(13))
                 CTIPBAR:="F"
                 CBAR:=LOTE
    **             oPrn:Say(0,0,"1"+cTipBar+"3 2 060 0015"+STRZERO(POS1,4)+cBar+CHR(13))
                 oPrn:Say(0,0,"1"+cTipBar+"321000075"+STRZERO(POS6,4)+cBar+CHR(13))
                 
    **             oPrn:Say(0,0,"1 2 1 2 000 0030 0015"+DE+CHR(13))
                 oPrn:Say(0,0,"19110020012"+STRZERO(POS7,4)+DE+CHR(13))
                 oPrn:Say(0,0,"Q0001"+CHR(13))

                 POS1:=30+537
                 POS2:=320+537
                 POS3:=420+537
                 POS4:=288+537
                 POS5:=400+537
                 POS6:=20+537
                 POS7:=30+537
                 
                 IF (INT(I_1/2)=I_1/2 .AND. I_1<LEN(COL02) .and. etiqi=1) .or. (etiqi=2 .and. INT(I_1/2)#I_1/2 .AND. I_1<LEN(COL02)) 
                    oPrn:Say(0,0,CHR(2)+"F"+CHR(13))
                    oPrn:Say(0,0,"E"+CHR(13))
                    oPrn:Say(0,0,CHR(2)+"m"+CHR(13))
                    oPrn:Say(0,0,CHR(2)+"M0500"+CHR(13))
                    oPrn:Say(0,0,CHR(2)+"L"+CHR(13))
                    oPrn:Say(0,0,"H10"+CHR(13))
                    oPrn:Say(0,0,"D11"+CHR(13))
                    POS1:=30
                    POS2:=320
                    POS3:=420
                    POS4:=288
                    POS5:=400
                    POS6:=20
                    POS7:=30
                    
                 ENDIF
              endif
          next
          oPrn:Say(0,0,CHR(2)+"f220"+CHR(13))
          oPrn:Say(0,0,"E"+CHR(13))
       endif
    ENDIF
    oPrn:EndPage()
    oPrn:End()
    printfileraw(cprinter,TrueName(arq_file))

     

  3. O pessoal só vai realmente compilar em 64 bits, quando sair sistema operacional de 128 bits, que só vai aceitar exe compilados em 64 bits e 128 bits.

    Mas, por enquanto como os sistemas operacionais são 64 bits e aceitam exe 32 e 64, vamos ficar com 32 bits.

    Eu acredito que compilar fivewin 64 bits, é top, e a performance do programa, vai ficar melhor.

    Em breve, quero migrar pro 64 bits, tbm.

    Pompeo

    Guaratinguetá, SP

  4. ACHEI O ARQUIVO, FAVOR IGNORAR, ESSA REQUISIÇÃO

    Mas, mesmo com o arquivo CODEBAR.CH, continua dando erro de leitura, pelo App do BB.

     

    Olá, AGP.DS, fui compilar a sua versão, mas, não tenho o arquivo CODEBAR.CH

    Onde posso baixá-lo?

  5. Pessoal, eu acredito que foi alguma formatação fora do padrao, não sei como, porque acabei de pegar um computador formatado por outro tecnico, zero bala, e funcionou de primeira, e tbm, nesta mesma firma, tem um notebook com win11, que está emitindo nfe normalmente, então, resolvi mandar pra formatação, de novo, em outro tecnico.

     

  6. Bom dia, shalom, grandes guerreiros

    Eu tenho um cliente que o computador principal/servidor tinha win7 64 bits, e estava emitindo NFe via dll da flexdocs normalmente, mas, devidos a alguns pepinos do win7 que já morreu, esse computador foi formatado e instalado win10 pro. 

    Então, instalei a última versão da dll, da flexdocs, e quando fui emitir a nfe, aparece a mensagem que a nfe_util não foi encontrada no computador, e o erro é justamente na linha, onde vai criar o objeto da dll, cuja linha é essa:

       objoNfeUtil := CreateObject( "NFe_Util_2G.util" )
    Uma pergunta: Existe outros comandos além do CREATEOJECT, que eu possa substituir para criar esse objeto?

    Pois, ja fiz de tudo, já habilitei o dotnet no painel de controle em programas e recursos, pois estava desabilitado, desabilitei o firewall do windows, o antivirus avast, já coloque o nome da pasta do sistema dentro da lista de excessão do antivirus e do windows defender, já instalei uma versão anterior da dll da flexdocs, várias vezes, e nada até agora.

    Estou quase solicitando ao cliente, para levar o computador em outro tecnico para formatar e instalar o wind10 pro novamente.

    Desde já, eu agradeço por toda ajudar que vier.

    Grato

    Jose Adenildo/mkyx (codename: Pompeo)

    Guaratingueta, SP

  7. Boa tarde, pessoal,

    Alguém saberia explicar o problema que está acontecendo comigo.

    Eu tenho dois programas que geram o codigo de vinculação para o sat-cfe,  que é o programa da tanca e o programa da technospeed, ambos, geram codigo de vinculação usando o certificado digital A1.

    E os codigos gerados não iguais nos dois programas.

    Porem, quando vai fazer a vinculação usado o programa do sat, ou mesmo, se ficar a validação desse codigo de vinculação , dentro do site da sefaz, onde as softhouses mantém os seus cadastros, aparece a mensagem de codigo de vinculação INVÁLIDO.

    Alguém saberia ajudar, como resolver esse caso.

    Gratidão

    Pompeo - Guaratinguetá - SP

  8. Boa tarde,

    Tenho um cliente com windows 7 professional 32 bits, e quando executa o camando abaixo, para enviar e-mail, através da dll da flexdocs, aparece esse erro: DISP_E_MEMBERNOTFOUND: ENVEMAIL, e fecha o programa.

    A linha que é executada para enviar o email é essa:

    objNFeUtil := CreateObject("NFe_Util_2G.util")
    cResultado := objNFeUtil:EnvEmail(eMailRemetente, nomeRemetente, eMailDestinatario, eMailBcc, assunto, mensagem, arquivos, smtpCliente, smtpPorta, smtpSSL, smtpUsuario, smtpSenha, HTML, confirmacao, msgResultado)
     

    Em todos os outros clientes, está funcionando normalmente.

    Alguém já passou por isso?

    Obrigado.

     

     

     

  9. Boa noite, pessoal

    Por que será que a rotina abaixo, de buscar os dados do cnpj na internet, não funciona no windows 7, e dá o erro?

    Quando não lê, emite a mensagem: "Não conseguiu enviar solicitação para requisição dos dados do CNPJ"

    FUNCTION PEGA_CNPJ(CPF_C,OBJ01_C,FAN_C,OBJ02_C,NE_C,OBJ03_C,CE_C,OBJ04_C,EN_C,OBJ05_C,NU_C,OBJ06_C,CPL_C,OBJ07_C,BA_C,OBJ08_C,CD_C,OBJ09_C,UF_C,OBJ10_C,DTN_C,OBJ11_C,TEL_C,OBJ12_C,EM_C,OBJ13_C,IEST_C,OBJ14_C,SIM_NAC,OBJ15_C)
    Local oServerWS, cUrl, aArray, oCnpj:= TIRA(CPF_C,"Z")
    IF LEN(oCnpj)#14
       MSGINFO("Este botão só busca dados de pessoal jurídica!")
       return .t.
    endif
         cUrl:= "https://publica.cnpj.ws/cnpj/"+Alltrim(oCnpj) 
         Try
            oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.5.0' )  
         Catch oError
            try
              oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.6.0' )  
            catch oError
              try
                 oServerWS := CreateObject("Microsoft.XMLHTTP")
              catch oError
                 ? e:Description
                 return nil
              end
            END
         end
         TRY
            oServerWS:open('GET', cUrl, .f.)
            oServerWS:setRequestHeader('Content-Type'    , 'text/xml; charset=utf-8')    // Obtém ou define o valor de cabeçalho de Content-type HTTP. 
            oServerWS:send()    
         CATCH
            ? "Não conseguiu enviar solicitação para requisição dos dados do CNPJ"
            return .t.
         END
         IF oServerWS:Status != 200 // OK
            MsgStop( Alltrim(STR(oServerWS:Status)) +" - "+ oServerWS:StatusText , "Erro")
            RETURN NIL
         ENDIF
         
         WHILE oServerWS:readyState != 4
            oServerWS:waitForResponse(1000)
         END   
         txt:=  oServerWS:responseText
         Arq_1:=ALLTRIM(txt)
         cBat:=CURDRIVE()+":\"+CURDIR()+"\LEITURA_CNPJ.TXT"
         nHandle := FCreate( cBat )
         FWrite( nHandle, Arq_1 ,LEN(Arq_1) )
         FClose( nHandle )
    ** a partir daqui o conteudo da variavel arq_1, é tratada e separada os dados.

    .......

     

  10. Primeiro, o erro começou dando duplicidade nos cupons, então, atualizei a ddl da flexdocs, agora demora um tempão para enviar, e depois fica consultando indefinidamente a sefaz para pegar o retorno, aí, eu reinicio o computador porque trava tudo, e quando volta, o xml do cupom está formado e gravado, cada coisa loka, que  está acontecendo, num dá pra entender.

    vou verificar as rotinas do sistema, já que o xml completo está retornando.

    Gratidão a todos

  11. Boa tarde,

    Alguém está tendo problemas ao emitir NFCE?

    Uso a classe do Gilmer, juntamento com as dll da Flexdocs.

    Desde ontem 23/06/2022, que nenhum dos meus clientes, que usam a NFCE, não estão conseguim emitir.

    e antes disso, estava normal.

    Desde já agradeço pelo ajuda.

    Att.

    Pompeo

    Guaratinguetá, SP

     

×
×
  • Create New...