Jump to content
Fivewin Brasil

SISCO

Membros
  • Posts

    108
  • Joined

  • Last visited

Posts posted by SISCO

  1. Obrigado Kapi por responde

    Eu já tinha visto esse material

    Estou pensando em fazer no braço essa rotina. Mas estou enviando o meu código.

     

    FUNCTION IMPDANFEPDF()
     carq=Alltrim(NFECAB->Chvnfe)+".PDF"
     cDestino=CurDrive()+":\"+CurDir()+"\"+cDirPDFNFe
     If !File(cDestino + carq) 
           cFileXmlProtocolo := CurDrive()+":\"+CurDir()+"\"+cDirXMLProtocolado+NFECAB->Chvnfe+".xml"
          If File(cFileXmlProtocolo) 
             CriaPdfDanfeAutorizado( cFileXmlProtocolo, NFECAB->Chvnfe )
           cFilePdf:=CurDrive()+":\"+CurDir()+"\"+cDirPDFNFe+NFECAB->Chvnfe+".pdf"
              Run( "Start " + cDestino + carq )
         Else 
            If MsgNoYes( " Nota não enviada para a SEFA. Você deseja fazer uma Pré-Visualização ?","Atenção") 
              cFileAssinado:=CurDrive()+":\"+CurDir()+"\"+cDirXMLAssinado+NFECAB->Chvnfe+".xml"
              CriaPdfAssinado( cFileAssinado, NFECAB->Chvnfe )
              cFilePdf:=cDirPDFTrb+NFECAB->Chvnfe+".pdf"
              Run( "Start " + cFilePdf )
    //           impdanfe()
             Endif        
         Endif
     Else
       cDestino := CurDrive()+":\"+CurDir()+cDirPDFNFe
         Run( "Start " + cDestino + carq )
     Endif
    RETURN .T.
    **
    Function CriaPdfDanfeAutorizado( cFileXmlProtocolo, cChaveNFe )
    LOCAL OrigDadosEmissor := "", quadroRecibo := "I", quadroFatura := "S", quadroISSQN := "S", DPEC := "", separadorItem := "T"
    LOCAL gravaPDF := "[ARQUIVO="+Alltrim(cChaveNFe)+".PDF"+"][PASTA="+CurDrive()+":\"+CurDir()+"\"+cDirPDFNFeFlex+"]", nResultado:=0, msgResultado := ""
    local cFileXmlProtocolo2
    local objNFeUtilPDF

    objNFeUtilPDF := CreateObject("NFe_Util_2G.util")

    If File( CurDrive()+":\"+CurDir()+"\BMP\LogoNFE.jpg" )
        OrigDadosEmissor := CurDrive()+":\"+CurDir()+"\BMP\LogoNFE.jpg"
    Endif

    cFileXmlProtocolo2:=MemoRead(cFileXmlProtocolo)

    nResultado := objNFeUtilPDF:geraPdfDANFE(cFileXmlProtocolo2, OrigDadosEmissor, quadroRecibo, quadroFatura, quadroISSQN, DPEC, separadorItem, gravaPDF, msgResultado)

    If nresultado < 7902 
        MsgAlert(msgResultado,"Informação")
    Else
        MsgAlert("Processo de geração do PDF falhou..."+CRLF+msgResultado,"Atenção")
    End If

    Return(Nil)

    **                                                                        
    Function CriaPdfAssinado( cFileXmlProtocolo, cChaveNFe )
    LOCAL OrigDadosEmissor := "", quadroRecibo := "I", quadroFatura := "S", quadroISSQN := "S", DPEC := "", separadorItem := "T"
    LOCAL gravaPDF := "[ARQUIVO="+Alltrim(cChaveNFe)+".PDF"+"][PASTA="+cDirPDFTrbFlex+"]", cResultado:=0, msgResultado := ""
    local cFileXmlProtocolo2
    objNFeUtil := CreateObject("NFe_Util_2G.util")

    If File( CurDrive()+":\"+CurDir()+"\BMP\LogoNFE.jpg" )
        OrigDadosEmissor := CurDrive()+":\"+CurDir()+"\BMP\LogoNFE.jpg"
    Endif

    cFileXmlProtocolo2:=MemoRead(cFileXmlProtocolo)
    cResultado := objNFeUtil:geraPdfDANFE(cFileXmlProtocolo2, OrigDadosEmissor, quadroRecibo, quadroFatura, quadroISSQN, DPEC, separadorItem, gravaPDF, msgResultado)
    Return(Nil)
     

  2. Eu Utilizo objNFeUtilPDF da Flexdocs, mas não sei porque em alguns computadores não funciona e agora parece que piorou. A minha maior dificuldade é a descrição do produto, estou com um cliente que a descrição tem mais de 80 caracteres e essa dll me servia muito bem. 

    Se alguém teve esse problema e poder dar a dica ou se tiver uma outra forma de imprimir ficarei grato.

     

  3. Boa noite a todos esse erro:

       Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20190307)
       FiveWin  version: FWH 19.05
       C compiler version: Borland/Embarcadero C++ 7.4 (32-bit)
       Windows version: 6.2, Build 9200 

       Time from start: 0 hours 3 mins 48 secs 
       Error occurred at: 15/01/2024, 20:09:42
       Error description: Error BASE/1004  Class: 'NIL' has no exported method: OCHILD
     

    pelo que vi se refere a essa linha 

    Method ImportXml() Class TVoImpDanFe
    Local oxmlNode := ::oXmlDoc:oRoot:oChild,nPos,cAtributos:=""
    ::aFieldsValue:={}
    ::cChaveAcesso:=""
    ::lXmlAssinado:=.f.

     

    Estava normal e hoje que deu esse erro


     

     

     

     

    Alguém já viu

  4. Application
    ===========
       Path and name: C:\Sistemas\MySISCCO\MySISCCO.EXE (32 bits)
       Size: 8,709,120 bytes
       Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20190307)
       FiveWin  version: FWH 19.05
       C compiler version: Borland/Embarcadero C++ 7.4 (32-bit)
       Windows version: 6.2, Build 9200 

       Time from start: 0 hours 0 mins 9 secs 
       Error occurred at: 16/02/2023, 15:07:21
       Error description: Error BASE/1003  Vari vel nÆo existe: DEFAULT_CODEBAR

  5. Valeu Kapi

    Esses links tem um vasto material de QRCode.

    Fiz uns testes e gerou normalmente, mas não ficou como eu queria.

    Utilizo o XDevStudio 0.70 e ele está reclamando do codebar.ch e não estou conseguindo encontrar ele.

    Se poder me ajudar ficarei grato. 

    •  
    •  

     

  6. CNPJ: 00.036.306/8512-91  Inscrição Estadual: 15.867.243-7  UF: PA 
    Razão Social: RONALDO CURSAGE MAFRA 


    ENDEREÇO

    Logradouro: RUA VELHA URIBOCA KM 3,7 
    Número: SN  Complemento: LOTE 1519  Bairro: URIBOCA 
    UF: PA  Município: MARITUBA  CEP: 67200000 
    Endereço Eletrônico:  

     

  7. Bom dia 

    Não sei se alguém já passou por isso, mas estou tentando emitir uma Nota Fiscal de uma empresa Simples Nacional para uma empresa MEI, não estou conseguindo.

    Estranho esse CNPJ 00.036.306/8512-91, me parece que é um CPF, está normal na SEFA, possui até Inscrição Estadual, quando emito com os zeros a esquerda não passa na SEFA, quando tiro os zeros nem na validação passa.

     

  8. Resolvi assim

    Informações no grupo

    P05.DLL a Toledo não deixa disponível no site, tem que solicitar ao suporte 

    {Atenção!!! Os parâmetros do P05 possuem a seguinte ordem:
    1o. Parâmetro   = Porta COM             => 1 = COM 1, 2 = COM 2, 3 = COM 3, 4 = COM 4
    2o. Parâmetro   = BaudRate              => 0 = 2400, 1 = 4800, 2 = 9600, 3 = 1200, 4 = 19200
    3o. Parâmetro   = Data Bits             => 0 = 7 bits, 1 = 8 bits
    4o. Parâmetro   = Paridade              => 0 = Nenhum, 1 = Ímpar, 2 = Par, 3 = Espaço
    5o. Parâmetro   = Disponibilizar em     => 0 = Arq Texto, 1 = Área de Transferência
    6o. Parâmetro   = Diretorio onde será gravado o arquivo. Se vazio significa o diretorio local do programa
    7o. Parâmetro   = Tipo de leitura    => 0=P05/P05A, 1=P05B sem tara, 2=P05B com tara
    8o. Parâmetro   = Utilizar 1 stop bit   => 0=não utiliza; 1=utliliza (Opcional)
    }    
    */
    FUNCTION PegaPesoBalanca(vpeso_balanca)

       LOCAL retorno
       LOCAL Peso := Space(5)

       XPorta    := 2 // 1=com1; 2=com2; 3=com3
       XBaudrate := 2 // 0=2400 1=4800 2=9600
       XDatabits := 1 // 0=7; 1=8
       XParidade := 0 // 0=nenhum 1=impar 2=par 3=espaço

       IF ! FILE("P05.DLL")
          MSGINFO("O Arquivo P05.DLL não foi encontrado, solicite a Empresa Desenvolvedora","Atenção" )
          RETURN( 1 )
       ENDIF

       xDllbToledo := LoadLibrary( "P05.DLL" )

        RETORNO := AbrePorta( XPorta, XBaudrate, XDatabits, XParidade )

    //    ? RETORNO

       If Retorno # 1
          RETORNO := FechaPorta()
          FreeLibrary( xDllbToledo )
          MsgInfo( "O Sistema não conseguiu abrir a porta COM.","Erro" )
          RETURN( 0 )
       Endif

       Retorn1 := PegaPeso(0, @Peso, "c:\" )
       xQtd := val(peso)
       xQtd := Round(xQtd/1000,3)
       If xQtd <= 0
          If MsgNoYes( "O Sistema Não Conseguiu Ler o Peso da Balança." + CRLF + ;
             "Retire o produto da balança e coloque novamente para nova leitura."+ CRLF + ;
             "Deseja Digitar o Peso do Produto?","Erro na Leitura da Balança" )
          Else
             Peso := Space(5)
             Retorno := PegaPeso( 0, @Peso, "c:\" )
             xQtd := val(peso)
          Endif
       Endif
       Retorno := FechaPorta()
       FreeLibrary( xDllbToledo )

       MsgInfo("Peso "+alltrim(str(xQtd)), "Aviso")
        vpeso_balanca := xQtd
    //Return( xQtd )
    Return( vpeso_balanca )

        DLL32 FUNCTION AbrePorta( Porta AS LONG, BaudRate AS LONG, DataBits AS LONG, Paridade AS LONG ) AS LONG PASCAL  lib xDllbToledo
        DLL32 FUNCTION PegaPeso( OpcaoEscrita AS LONG, Peso AS STRING, Diretorio AS STRING ) AS LONG PASCAL  lib xDllbToledo
        DLL32 FUNCTION FechaPorta() AS LONG PASCAL  lib xDllbToledo
     

  9. Olá a todos

    Essa é a minha primeira integração Balança no PDV.

    Testei essa rotina com a Balança Toledo 8217 USB TOLEDO, FiveWin 16.8

    Mas o dado de retorno estão vindo em branco.

     image.png.8c890862337bf4833c17295af999dc8c.png

    FUNCTION LER_PESO_BALANCA()
        nHandle    := Init_Port("COM2",9600,8,0,1,8000) // conf da porta serial
       OutBufClr(nHandle) // Limpa o Buffer de Saida
       OUTCHR(nHandle,CHR(5))
       SysWait(0.3)
       Bytes := InbufSize(nHandle)
       DADOS=SPACE(20)

       Buffer := InChr( nHandle, Bytes, @DADOS) //LER BUFFER DE ENTRADA DA BALANCA
       UnInt_Port(nHandle)

       dados=alltrim(dados)

       nPeso:=val(substr(dados,4,6))/1000
    return(nPeso)

     

  10. Tenho uma tabela que que possui 2 ids uma para a tabela de pedido (DOC PDV) e outra para o id do cupom eletrônico (DOC NFCe)
    sendo que aproveito a tabela de pedido para gravar também as informações do cupom eletrônico
    O meu pedido pode ser um cupom eletrônico ou uma nota fiscal, com isso o id do pedido vai ficar diferente do id do cupom eletrônico
    A pergunta é a seguinte o MySQL tem um contador somente de ID ou qual seria a melhor solução para eu gerar um id para o cupom eletrônico

    1215762167_gerarid.png.de298957862f7a6183379be71d55af80.png

×
×
  • Create New...