Jump to content
Fivewin Brasil

edutraini

Membros
  • Posts

    1,401
  • Joined

  • Last visited

  • Days Won

    30

Posts posted by edutraini

  1. Boa tarde Pessoal,

    Será que existe alguma forma  de fechar o sistema automaticamente por falta de uso

    Tenho uma situação que o usuario entra no sistema e por algum motivo, deixa o sistema aberto no seu usuario.

    Dessa forma outro usuario acaba usando sua senha 

    Preciso achar uma solução para caso o sistema nao for usado por algum tempo ele feche

    Obrigado

     

     

  2. Bom dia, Pessoal 

    Estou colocando esse tópico aqui no forum pois estão surgindo algumas informações sobre mudança no calculo do Difal

    Pelo que sei o difal somente e calculado quando a venda e feita para outro estado e que o cliente seja 9-Não contribuinte do Icms

    Surgiram algumas informações que o difal tem que ser calculado quando o emitente da nota for uma industria e o cliente for usar a mercadoria para consumo próprio,

    que também seja calculado o difal.

    Caso for para revenda ai não precisa.

    Alguém aqui do forum tem conhecimento fiscal para me ajudar.

    Obrigado

     

     

  3. Bom dia

    Um Feliz 2024 com muita paz e saude para todos.

    Conforme dica do Kapi estudei a ferramenta HARUPDF e resolvi todos os meus problemas de Relatorios.

    Agora gero tudo direto no pdf, acabou meu Rpv 

    Não preciso mais instalar nada na maquina do cliente.

    Obrigado a todos

     

     

  4. Bom dia Pessoal

    Eu uso harupdf para gerar relatorio em pdf 

    Alguem poderia me ajudar quando uso o comando  HPDF_Page_TextOut como faz para jogar o conteudo alinhado para direita ou esquerda 

    Exemplo

    HPDF_Page_TextOut(page, 340, page_height - nLinDet,trans(cotiimp->unitario,"@E 99,999.99"))

    Obrigado

  5. Bom dia Pessoal 

    eu uso esse comando  FWSavePreviewToPDF( oPrncot, cFilePdf , .F. ) para gerar o relatorio direto em pdf

    Funciona perfeitamente, somente quando uso  na horizontal oPrncot:SetLandScape() //->Horizontal(Paisagem)

    a funcao nao consegue gerar o documento corretamente

    Alguem sabe me dizer se preciso passar algum parametro na FWSavePreviewtoPDf para ele entender

     

     

  6. Bom dia 

    resolvi dessa forma nao sei se esta certo

    mImpressoraPadrao:=PrnGetName()
    mImpressora:=PrnGetName()

    PRINTER oPrnPed to mImpressora NAME "Pedido Nro "+str(pedlst->nropedido,8) PREVIEW MODAL

    apos a impressao

    SetDefaultPrinter( mImpressoraPadrao )
    PRINTER oPrncot to mImpressoraPadrao
    oPrncot:End()

  7. Pessoal boa noite

    Uso essa classe para imprimir relatorio usando o comando 

    PRINTER oPrnPed  NAME "Pedido Nro "+str(pedlst->nropedido,8) PREVIEW MODAL

    no Preview meu cliente seleciona a impressora e que  fica padrao toda hora que abre o preview novamente

    Gostaria que sempre viesse a  impressora padrao do Windows

    Alguem poderia me dar uma dica

    Obrigado

     

     

  8. Atualizando as informacoes

    executei um comando no windows que um amigo de hardware me passou chamado

    tracert e o ip que ele verifica se a conexao se esgota  no caminho e dessa forma vc perde velocidade 

    Na Vivo ele esgota varias vezes ja na Net tudo normal

    isso explica porque os clientes que usam a Vivo estao com o sistema lento

     

  9. Boa tarde Pessoal

    Uso flexdocs com a rotina do gilmer 

    Gostaria de saber se existe alguma forma de gravar o protocolo de cancelamento da nota fiscal direto no xml da nota que foi emitida

    Hoje quando cancelo uma nota e gerado um xml do cancelamento gerando dois arquivo um da nota chave-nfe.xml e outra chave-can.xml 

    Sera que esse cancelamento tem como gravar dentro do arquivo da nota pois os contadores estao reclamando evitando assim que vai uma nota para contabilidade sem o protocolo de cancelamento

     

  10. Bom dia Pessoal

    Preciso ter acesso ao webservice Datasus para pegar o CNS de varios beneficiarios, pois, a ANS passou a validar esse nro.......preciso saber como fazer para solicitar

    Estou tentando me cadastrar dentro do site mas apos digitar todos os dados da empresa junto com o certificado o site do datasus nem responder

    Alguem que tem experiencia nisso poderia me ajudar

    Obrigado

     

  11. Bom dia

    Eu achei essa rotina em meus arquivos

    Nunca usei mas derrepente pode ajudar

    function pacognre()
       // Parametrizacao de uso
       cPath          := cFilePath( GetModuleFileName( GetInstance() ) )
       //
       cPathNFE       := VerifyINI( "PATHS", "PathNFE"         , cPath + "\NF-e\remessa\NFE"          , cPath + "\" + "nfw.ini", .f.)
       cPathGNRE      := VerifyINI( "PATHS", "PathGNRE"        , cPath + "\NF-e\remessa\GNRE"         , cPath + "\" + "nfw.ini", .f.)
       // Dados da empresa
       cClNome        := VerifyINI( "EMPRESA", "Nome"    , "5VOLUTION.COM"            , cPath + "\" + "nfw.ini", .f. )
       cClEndereco    := VerifyINI( "EMPRESA", "Endereco", "R Des M C Costa Leite, 25", cPath + "\" + "nfw.ini", .f. )
       cClBairro      := VerifyINI( "EMPRESA", "Bairro"  , "Pirituba"                 , cPath + "\" + "nfw.ini", .f. )
       cClCidade      := VerifyINI( "EMPRESA", "Cidade"  , "Sao Paulo"                , cPath + "\" + "nfw.ini", .f. )
       cClCEP         := VerifyINI( "EMPRESA", "CEP"     , "05171-560"                , cPath + "\" + "nfw.ini", .f. )
       cClEstado      := VerifyINI( "EMPRESA", "Estado"  , "SP"                       , cPath + "\" + "nfw.ini", .f. )
       cClCNPJ        := VerifyINI( "EMPRESA", "CNPJ"    , "18.066.611/0001-06"       , cPath + "\" + "nfw.ini", .f. )
       cClInscr       := VerifyINI( "EMPRESA", "IE"      , "142.365.346.110"          , cPath + "\" + "nfw.ini", .f. )
       cClIM          := VerifyINI( "EMPRESA", "IM"      , "4.743.049-4"              , cPath + "\" + "nfw.ini", .f. )
       //
       cCodUF         := VerifyINI( "NFELETRONICA", "cCodUF" , "35"  , cPath + "\" + "nfw.ini", .f.)

       oGNRE := tGNRE():new()

       oGNRE:nLote                             := 0  // Se numero de lote for igual a ZERO sera gerada uma guia unica, o contratio gera lote com varias guias
       oGNRE:Homologacao                       := .t. // Se homologacao direciona para webservices especificos  

       oGNRE:c01_UfFavorecida                  := 26 // Contém a sigla da UF favorecida. Campo com 2 dígitos. (Ver ANEXO 1, na aba 'Anexos')
       oGNRE:c02_receita                       := 1000099 // Contém o código da receita. Campo numérico com 6 dígitos. (Consultar na aba 'Regras de Preenchimento')
       oGNRE:c25_detalhamentoReceita           := 10101010 // Contém o código do detalhamento da receita. Campo numérico. A quantidade de dígitos corresponde a quantidade de dígitos do código. (Consultar na aba 'Regras de Preenchimento').
       oGNRE:c26_produto                       := "TESTE DE PROD" // Contém o código do produto. Campo numérico. A quantidade de dígitos corresponde a quantidade de dígitos do código. (Consultar na aba 'Regras de Preenchimento').
       oGNRE:c27_tipoIdentificacaoEmitente     := 1 // Contém o código do tipo de identificação do contribuinte emitente (Responsável pelo Pagamento do Tributo). Campo numérico com 1 dígito. (Ver ANEXO 2, na aba 'Anexos'). Caso a identificação seja pela inscrição estadual, esse campo e sua tag poderão ser omitidos.
       oGNRE:c03_idContribuinteEmitente        := 41819055000105 // Contém o número do documento de identificação do contribuinte emitente. O CPF/ CNPJ não deverá conter espaços, pontos ou traços e apenas um documento poderá ser colocado no arquivo. Caso a identificação seja pela inscrição estadual, esse campo e sua tag poderão ser omitidos. Caso a identificação seja pelo CNPJ, a tag de CPF e de Inscrição Estadual poderão ser omitidas. Caso a identificação seja pelo CPF, os campos e as tags de CNPJ e de Inscrição Estadual poderão ser omitidos.
                                                                 // Exemplos:
                                                                 // CNPJ : <CNPJ>11111111111111</CNPJ>
                                                                 // CPF : <CPF>11111111111</CPF>
       oGNRE:c28_tipoDocOrigem                 := 10 // Contém o código do tipo de documento de origem. Campo numérico. A quantidade de dígitos corresponde a quantidade de dígitos do código. (Consultar na aba 'Regras de Preenchimento'). Caso a receita não exija documento de origem, esse campo e sua tag poderão ser omitidos.
       oGNRE:c04_docOrigem                     := 5656 // Contém o número contido no documento de origem. Campo numérico sem espaços, traços, pontos ou vírgulas. A quantidade de dígitos corresponde a quantidade de dígitos do número. Caso a receita não exija documento de origem, esse campo e sua tag poderão ser omitidos.
       oGNRE:c06_valorPrincipal                := 10.99 // Contém o valor original da guia. Digitar apenas números. Usar ponto (".") como separador de decimal, e este deve ter 2 números. Caso a receita não exija valor principal, esse campo e sua tag poderão ser omitidos.
       oGNRE:c10_valorTotal                    := 12.52 // Contém valor total da guia (valor original + encargos). Digitar apenas números. Usar ponto (".") como separador de decimal, e este deve ter 2 números. Caso a receita não exija valor total, esse campo e sua tag poderão ser omitidos. Para calcular os encargos, procurar informações na Sefaz do Estado da UF favorecida.
       oGNRE:c14_dataVencimento                := "2015-05-01" // Contém a data que o contribuinte deve pagar o tributo de acordo com a legislação de cada UF. Formato: AAAA-MM-DD.
       oGNRE:c15_convenio                      := 546456 // Contém o número do convênio. Sem espaços, traços, pontos ou vírgulas. Este campo não é obrigatório e o tamanho do campo corresponde ao número do convênio. No caso de não ter essa informação, esse campo e sua tag poderão ser omitidos.
       oGNRE:c16_razaoSocialEmitente           := "GNRE PHP EMITENTE" // Contém o nome da razão social do contribuinte emitente. No caso da identificação do contribuinte ser por inscrição estadual, esse campo e sua tag poderão ser omitidos.
       oGNRE:c17_inscricaoEstadualEmitente     := 56756 // Contém a inscrição estadual do contribuinte emitente na UF favorecida. Campo numérico sem espaços ou traços. Caso seja inscrito na UF Favorecida, preencher este campo. Caso contrário, esse campo e sua tag poderão ser omitidos.
       oGNRE:c18_enderecoEmitente              := "Queens St" // Contém o endereço do contribuinte emitente. No caso da identificação do contribuinte ser por inscrição estadual, esse campo e sua tag poderão ser omitidos.
       oGNRE:c19_municipioEmitente             := 5300108 // Contém o código do município de localização do contribuinte emitente. Campo numérico. (Consultar no site do IBGE). O IBGE informará o código do município no formato "EEmmmmd". Tirar os 2 primeiros números que indicam o número do Estado e só colocar os 5 números restantes, ficando no formato "mmmmd".
                                                          // A cidade Recife tem o código 2611606, você tirará os dígitos "26" e colocará no arquivo de lote apenas os dígitos "11606".
       oGNRE:c20_ufEnderecoEmitente            := "DF" // Contém a UF de localização do contribuinte emitente. Campo com 2 dígitos. (Ver ANEXO 1, na aba 'Anexos'). No caso da identificação do contribuinte ser por inscrição estadual, esse campo e sua tag poderão ser omitidos.
       oGNRE:c21_cepEmitente                   := "08215917" // Contém o CEP do contribuinte emitente com 8 dígitos. Digitar apenas números. Esse campo não é obrigatório. No caso da identificação do contribuinte ser por inscrição estadual, esse campo e sua tag poderão ser omitidos.
       oGNRE:c22_telefoneEmitente              := 1199999999 // Contém o telefone do contribuinte emitente. Colocar o DDD e o número do telefone. Digitar apenas números. Esse campo não é obrigatório. No caso de não ter essa informação, esse campo e sua tag poderão ser omitidos. Onde: 11 => DDD e 22222222 => Telefone
       oGNRE:c34_tipoIdentificacaoDestinatario := 1 // Contém o código do tipo de identificação do contribuinte destinatário. Campo numérico com 1 dígito. (Ver ANEXO 2, na aba 'Anexos'). Caso a receita não exija destinatário, esse campo e sua tag poderão ser omitidos.
       oGNRE:c35_idContribuinteDestinatario    := 86268158000162 // Contém o número do documento de identificação do contribuinte destinatário. O CPF/ CNPJ não deverá conter espaços, pontos ou traços e apenas um documento poderá ser colocado no arquivo. Caso a receita não exija destinatário, esse campo e sua tag poderão ser omitidos.
       oGNRE:c36_inscricaoEstadualDestinatario := 10809181 // Contém a inscrição estadual do contribuinte destinatário. Campo numérico sem espaços ou traços. Caso seja inscrito na UF Favorecida, preencher este campo. Caso a receita não exija destinatário, esse campo e sua tag poderão ser omitidos.
       oGNRE:c37_razaoSocialDestinatario       := "RAZAO SOCIAL GNRE PHP DESTINATARIO" // Contém o nome da firma ou a razão social do contribuinte destinatário. Caso a receita não exija destinatário, esse campo e sua tag poderão ser omitidos.
       oGNRE:c38_municipioDestinatario         := 2702306 // Contém o município de localização do contribuinte destinatário. Campo numérico. (Consultar no site do IBGE). O IBGE informará o código do município no formato "EEmmmmd". Tirar os 2 primeiros números que indicam o número do Estado e só colocar os 5 números restantes, ficando no formato "mmmmd".
       oGNRE:c33_dataPagamento                 := "2015-11-30" // Contém a data que o contribuinte irá pagar o tributo.Formato: AAAA-MM-DD.
     //oGNRE:c05_referencia                    := "" // Contém as informações do período de referência. Caso a receita não exija período de referência, esse campo e sua tag poderão ser omitidos.
       oGNRE:mes                               := "05" // Contém o mês de referência da apuração. Campo numérico com 2 dígitos. (Ver ANEXO 3, na aba 'Anexos'). Caso a receita não exija mês de período de referência, esse campo e sua tag poderão ser omitidos.
       oGNRE:ano                               := 2015 // Contém o ano de referência da apuração. Campo numérico com 4 dígitos. Caso a receita não exija ano de período de referência, esse campo e sua tag poderão ser omitidos.
       oGNRE:parcela                           := 2 // Contém o número da parcela do débito. Campo numérico com tamanho máximo de 3 dígitos. Caso a receita não exija parcela no período de referência, esse campo e sua tag poderão ser omitidos.
       oGNRE:periodo                           := 2014 // Contém o código do período. Campo numérico. A quantidade de dígitos corresponde a quantidade de dígitos do código. (Consultar na aba 'Regras de Preenchimento'). Caso a receita não exija código do período, esse campo e sua tag poderão ser omitidos
       // Nao importantes
       //c39_camposExtras                        := "" // Lista de campos extras. Poderá ter no máximo 3 campos extras por guia. Caso a receita não exija campos extras, esse campo e sua tag poderão ser omitidos.
       //oGNRE:codigo                            := 0 // Contém o código do campo extra. Campo numérico. A quantidade de dígitos corresponde a quantidade de dígitos do código. (Consultar na aba 'Regras de Preenchimento'). Caso a receita não exija campos extras, esse campo e sua tag poderão ser omitidos.
       //oGNRE:tipo                              := "" // Contém o tipo do campo extra. Campo com um caracter. (Consultar na aba 'Regras de Preenchimento'). Caso a receita não exija campos extras, esse campo e sua tag poderão ser omitidos.
       //oGNRE:valor                             := 0.00 // Contém o valor solicitado no campo extra. Se for do tipo Data 'D', o formato é: AAAA-MM-DD. Se for do tipo Númerico 'N', usar ponto (".") como separador de decimal, e este deve ter 2 números.
       //oGNRE:c42_identificadorGuia             := 0 // Contém o identificador da guia no lote. O valor deste campo deverá ser informado pelo contribuinte para a identificação da guia. Esta informação é opcional e deve conter apenas números (até 10 posições).
       
       //     $lote = new Lote();
       //     $lote->addGuia($guia);
       oGNRE:AdicionaGuia()

       oGNRE:Serializa()

       ? oGNRE:MostraXML()
       
       oGNRE:Enviar()
       
    return .t.

    CREATE CLASS tGNRE
       VAR nLote
       VAR cFileName
       VAR Homologacao
       VAR aGNRERegistros
       VAR aGNRERegExtras
       VAR c01_UfFavorecida
       VAR c02_receita
       VAR c25_detalhamentoReceita
       VAR c26_produto
       VAR c27_tipoIdentificacaoEmitente
       VAR c03_idContribuinteEmitente
       VAR c28_tipoDocOrigem
       VAR c04_docOrigem
       VAR c06_valorPrincipal
       VAR c10_valorTotal
       VAR c14_dataVencimento
       VAR c15_convenio
       VAR c16_razaoSocialEmitente
       VAR c17_inscricaoEstadualEmitente
       VAR c18_enderecoEmitente
       VAR c19_municipioEmitente
       VAR c20_ufEnderecoEmitente
       VAR c21_cepEmitente
       VAR c22_telefoneEmitente
       VAR c34_tipoIdentificacaoDestinatario
       VAR c35_idContribuinteDestinatario
       VAR c36_inscricaoEstadualDestinatario
       VAR c37_razaoSocialDestinatario
       VAR c38_municipioDestinatario
       VAR c33_dataPagamento
     //VAR c05_referencia
       VAR mes
       VAR ano
       VAR parcela
       VAR periodo
       //
       METHOD New
       METHOD AdicionaGuia
       METHOD Serializa
       METHOD MostraXML
       //
       METHOD Enviar
       METHOD Consulta
    END CLASS

    METHOD New( cGNREFileName ) CLASS tGNRE
       if cGNREFileName == nil
          ::cFileName := "GNRE.TXT"
       else
          ::cFileName := cGNREFileName
       endif
       ::nLote := 0
       ::Homologacao := .f.
       ::aGNRERegistros := {}
       ::aGNRERegExtras := {}
    RETURN( self )
     
    METHOD AdicionaGuia() CLASS tGNRE
       aadd( ::aGNRERegistros, { ::c01_UfFavorecida                  ,;
                                 ::c02_receita                       ,;
                                 ::c25_detalhamentoReceita           ,;
                                 ::c26_produto                       ,;
                                 ::c27_tipoIdentificacaoEmitente     ,;
                                 ::c03_idContribuinteEmitente        ,;
                                 ::c28_tipoDocOrigem                 ,;
                                 ::c04_docOrigem                     ,;
                                 ::c06_valorPrincipal                ,;
                                 ::c10_valorTotal                    ,;
                                 ::c14_dataVencimento                ,;
                                 ::c15_convenio                      ,;
                                 ::c16_razaoSocialEmitente           ,;
                                 ::c17_inscricaoEstadualEmitente     ,;
                                 ::c18_enderecoEmitente              ,;
                                 ::c19_municipioEmitente             ,;
                                 ::c20_ufEnderecoEmitente            ,;
                                 ::c21_cepEmitente                   ,;
                                 ::c22_telefoneEmitente              ,;
                                 ::c34_tipoIdentificacaoDestinatario ,;
                                 ::c35_idContribuinteDestinatario    ,;
                                 ::c36_inscricaoEstadualDestinatario ,;
                                 ::c37_razaoSocialDestinatario       ,;
                                 ::c38_municipioDestinatario         ,;
                                 ::c33_dataPagamento                 ,;
                                 ::mes                               ,;
                                 ::ano                               ,;
                                 ::parcela                           ,;
                                 ::periodo                           })
       //aadd( ::aGNRERegExtras, { ::c39_camposExtras                  ,;
       //                          ::codigo                            ,;
       //                          ::tipo                              ,;
       //                          ::valor                             ,;
       //                          ::c42_identificadorGuia             })
       return ::aGNRERegistros

    METHOD Serializa() CLASS tGNRE
       local aGNRE := ::aGNRERegistros
       local nGNRE := fCreate( ::cFileName )
       cResultado := "" // [<?xml version="1.0" encoding="utf-8"?>] + CRLF
       if ::nLote > 0
          //cResultado := cResultado + [            <TLote_GNRE xmlns="http://www.gnre.pe.gov.br">] + CRLF
          //cResultado := cResultado + [                <guias>]  + CRLF
          //
       endif
       FOR I = 1 TO LEN(aGNRE)
         //cResultado := cResultado + [            <guias>] + CRLF
           cResultado := cResultado + [               <TDadosGNRE>] + CRLF
           cResultado := cResultado + [                  <c01_UfFavorecida>] + alltrim(str(aGNRE[01])) + [</c01_UfFavorecida>] + CRLF
           cResultado := cResultado + [                  <c02_receita>] + alltrim(str(aGNRE[02])) + [</c02_receita>] + CRLF
           cResultado := cResultado + [                  <c25_detalhamentoReceita>] + alltrim(str(aGNRE[03])) + [</c25_detalhamentoReceita>] + CRLF
           cResultado := cResultado + [                  <c26_produto>] + alltrim(aGNRE[04]) + [</c26_produto>] + CRLF
           cResultado := cResultado + [                  <c27_tipoIdentificacaoEmitente>] + alltrim(str(aGNRE[05])) + [</c27_tipoIdentificacaoEmitente>] + CRLF
           cResultado := cResultado + [                  <c03_idContribuinteEmitente>] + CRLF
           cResultado := cResultado + [                     <CNPJ>] + alltrim(str(aGNRE[06])) + [</CNPJ>] + CRLF
           cResultado := cResultado + [                  </c03_idContribuinteEmitente>] + CRLF
           cResultado := cResultado + [                  <c28_tipoDocOrigem>] + alltrim(str(aGNRE[07])) + [</c28_tipoDocOrigem>] + CRLF
           cResultado := cResultado + [                  <c04_docOrigem>] + alltrim(str(aGNRE[08])) + [</c04_docOrigem>] + CRLF
           cResultado := cResultado + [                  <c06_valorPrincipal>] + alltrim(str(aGNRE[09],2)) + [</c06_valorPrincipal>] + CRLF
           cResultado := cResultado + [                  <c10_valorTotal>] + alltrim(str(aGNRE[10],2)) + [</c10_valorTotal>] + CRLF
           cResultado := cResultado + [                  <c14_dataVencimento>] + alltrim(aGNRE[11]) + [</c14_dataVencimento>] + CRLF
           cResultado := cResultado + [                  <c15_convenio>] + alltrim(str(aGNRE[12])) + [</c15_convenio>] + CRLF
           cResultado := cResultado + [                  <c16_razaoSocialEmitente>] + alltrim(aGNRE[13]) + [</c16_razaoSocialEmitente>] + CRLF
           cResultado := cResultado + [                  <c17_inscricaoEstadualEmitente>] + alltrim(str(aGNRE[14])) + [</c17_inscricaoEstadualEmitente>] + CRLF
           cResultado := cResultado + [                  <c18_enderecoEmitente>] + alltrim(aGNRE[15]) + [</c18_enderecoEmitente>] + CRLF
           cResultado := cResultado + [                  <c19_municipioEmitente>] + alltrim(str(aGNRE[16])) + [</c19_municipioEmitente>] + CRLF
           cResultado := cResultado + [                  <c20_ufEnderecoEmitente>] + alltrim(aGNRE[17]) + [</c20_ufEnderecoEmitente>] + CRLF
           cResultado := cResultado + [                  <c21_cepEmitente>] + alltrim(aGNRE[18]) + [</c21_cepEmitente>] + CRLF
           cResultado := cResultado + [                  <c22_telefoneEmitente>] + alltrim(str(aGNRE[19])) + [</c22_telefoneEmitente>] + CRLF
           cResultado := cResultado + [                  <c34_tipoIdentificacaoDestinatario>] + alltrim(str(aGNRE[20])) + [</c34_tipoIdentificacaoDestinatario>] + CRLF
           cResultado := cResultado + [                  <c35_idContribuinteDestinatario>] + CRLF
           cResultado := cResultado + [                     <CNPJ>] + alltrim(str(aGNRE[21])) + [</CNPJ>] + CRLF
           cResultado := cResultado + [                  </c35_idContribuinteDestinatario>] + CRLF
           cResultado := cResultado + [                  <c36_inscricaoEstadualDestinatario>] + alltrim(str(aGNRE[22])) + [</c36_inscricaoEstadualDestinatario>] + CRLF
           cResultado := cResultado + [                  <c37_razaoSocialDestinatario>] + alltrim(aGNRE[23]) + [</c37_razaoSocialDestinatario>] + CRLF
           cResultado := cResultado + [                  <c38_municipioDestinatario>] + alltrim(str(aGNRE[24])) + [</c38_municipioDestinatario>] + CRLF
           cResultado := cResultado + [                  <c33_dataPagamento>] + alltrim(aGNRE[25]) + [</c33_dataPagamento>] + CRLF
           cResultado := cResultado + [                  <c05_referencia>] + CRLF
           cResultado := cResultado + [                     <mes>] + alltrim(aGNRE[26]) + [</mes>] + CRLF
           cResultado := cResultado + [                     <ano>] + alltrim(str(aGNRE[27])) + [</ano>] + CRLF
           cResultado := cResultado + [                     <parcela>] + alltrim(str(aGNRE[28])) + [</parcela>] + CRLF
           cResultado := cResultado + [                     <periodo>] + alltrim(str(aGNRE[29])) + [</periodo>] + CRLF
           cResultado := cResultado + [                  </c05_referencia>] + CRLF
           /*
           cResultado := cResultado + [                        <c39_camposExtras>]
           cResultado := cResultado + [                            <campoExtra>]
           cResultado := cResultado + [                                <codigo>16</codigo>]
           cResultado := cResultado + [                                <tipo>T</tipo>]
           cResultado := cResultado + [                                <valor>1200012</valor>]
           cResultado := cResultado + [                            </campoExtra>]
           cResultado := cResultado + [                            <campoExtra>]
           cResultado := cResultado + [                                <codigo>15</codigo>]
           cResultado := cResultado + [                                <tipo>D</tipo>]
           cResultado := cResultado + [                                <valor>2015-03-02</valor>]
           cResultado := cResultado + [                            </campoExtra>]
           cResultado := cResultado + [                            <campoExtra>]
           cResultado := cResultado + [                                <codigo>10</codigo>]
           cResultado := cResultado + [                                <tipo>T</tipo>]
           cResultado := cResultado + [                                <valor>17.21</valor>]
           cResultado := cResultado + [                            </campoExtra>]
           cResultado := cResultado + [                        </c39_camposExtras>]
           */
           cResultado := cResultado + [               </TDadosGNRE>] + CRLF
       NEXT
       if ::nLote > 0
          //
          //cResultado := cResultado + [                </guias>] + CRLF
          //cResultado := cResultado + [            </TLote_GNRE>] + CRLF
       endif
       fWrite( nGNRE, cResultado, LEN(cResultado) )
       fClose( nGNRE )
       return cResultado

    METHOD MostraXML() CLASS tGNRE
       return MemoRead( ::cFileName )

    METHOD Enviar() CLASS tGNRE
       LOCAL cResultado
       cURL := iif( ::Homologacao, "http://www.gnre-he.sp.gov.br", "http://www.gnre.sp.gov.br" )
       //
       cResultado := [<?xml version="1.0" encoding="utf-8"?>]
       //
       cResultado := cResultado + [<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">] + CRLF
       cResultado := cResultado + [   <soap12:Header>] + CRLF
       cResultado := cResultado + [      <gnreCabecMsg xmlns="http://www.gnre.pe.gov.br/wsdl/processar">] + CRLF
       cResultado := cResultado + [         <versaoDados>1.00</versaoDados>] + CRLF
       cResultado := cResultado + [      </gnreCabecMsg>] + CRLF
       cResultado := cResultado + [   </soap12:Header>] + CRLF
       cResultado := cResultado + [   <soap12:Body>] + CRLF
       cResultado := cResultado + [      <gnreDadosMsg xmlns="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao">] + CRLF
       cResultado := cResultado + [         <TLote_GNRE xmlns="] + cURL + [">] + CRLF
       cResultado := cResultado + [            <guias>]  + CRLF
       cResultado := cResultado + ::MostraXML()  + CRLF
       cResultado := cResultado + [            </guias>] + CRLF
       cResultado := cResultado + [         </TLote_GNRE>] + CRLF
       cResultado := cResultado + [      </gnreDadosMsg>] + CRLF
       cResultado := cResultado + [   </soap12:Body>] + CRLF
       cResultado := cResultado + [</soap12:Envelope>] + CRLF
       //
       //?"Enviar",  cResultado
       cResultado := GNREWebService( cResultado, "POST", cURL, "" ) // cSoapAction )
       return cResultado

    METHOD Consulta( cProtocolo, cUsuario, cSenha, cCNPJ, cCategoria ) CLASS tGNRE
       LOCAL cResultado
       //
       cResultado :=              [<?xml version="1.0" encoding="utf-8"?>]
       cResultado := ""
       //
       return cResultado

    Function GNREWebService( cXMLFile, cMethod, cURL, cSoapAction )
       DEFAULT cMethod := "POST", cSoapAction := cURL
       DEFAULT cURL    := "http://www.gnre.pe.gov.br/wsdl/processar"
       oEDXSend:= TOLEAuto():New( "Microsoft.XMLHTTP" )
       oEDXSend:Open( cMethod, cURL, .F. )
       //oEDXSend:setrequestheader( "SOAPAction", cSoapAction )
       //oEDXSend:setrequestheader( "content-type", "text/xml" )
       oEDXSend:Send( cXMLFile )
       cResultado := oEDXSend:ResponseText()
       return cResultado
       
       
    function VerifyINI( _section_, _entry_, _var_, _inifile_, _grava_ )
       oIni := TIni():New( _inifile_ )
       if _grava_ = .t.
          oIni:Set( _section_, _entry_, _var_ )
       endif
       return oIni:Get( _section_, _entry_, _var_, _var_ )   

    function Consulta_sintegra()
    local oDlglink,oDlgxml
                                                                                    

     *cRioGrandeSul := ( "https://www.sefaz.rs.gov.br/NFE/NFE-CCC.aspx" )
     cRioGrandeSul := ( "https://dfe-portal.svrs.rs.gov.br/BPE/CCC")
     
     
      MsgRun( ( "Conectando a Página da SEFAZ.            " ), ;
                                    "Conectando a Página da SEFAZ. Aguarde... ",   ;
                      { || ShellExecute(GetActiveWindow(),"open",'"'+cRioGrandeSul+'"', 0 ) } ) 
     
     
     
     
     *  REDEFINE BUTTONBMP oRioGrandeSul    ID 320 OF oDlgLink                       ;
     *           ACTION( ( MsgRun( ( "Conectando a Página da SEFAZ.            " ), ;
     *                               "Conectando a Página da SEFAZ. Aguarde... ",   ;
     *                 { || ShellExecute(GetActiveWindow(),"open",'"'+cRioGrandeSul+'"', 0 ) } ) ) )
     *
     *  oRioGrandeSul:cToolTip := OemToAnsi( "Sefaz do Estado do Rio Grande do Sul" )
     
    *   cValidSefazRS := ( "https://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx" )
    *  
    *   REDEFINE BUTTONBMP oValidSefazRS ID 301 OF oDlgXml WHEN( lLigaBtnDesab )   ;
    *            ACTION( ShellExecute(GetActiveWindow(),"open",'"'+cValidSefazRS+'"', 0 ) )

    *   oValidSefazRS:cToolTip := OemToAnsi( "Validador de Arquivos *.XML da SEFAZ/RS" )
       
    retur(.t.)
     // http://www.odaircontador.cnt.br/2015/12/tabela-do-fundo-de-combate-pobreza-icms.html
     // https://blog.quantosobra.com.br/emitir-nota-fiscal-passo-passo-como-emitir-uma-nota-fiscal-eletronica/
     
     

×
×
  • Create New...