Ir para conteúdo
  • Cadastre-se

RobertoRP

Membros
  • Total de ítens

    146
  • Registro em

  • Última visita

Posts postados por RobertoRP

  1. O acbrframework quando usado "ativar"

    ele ta um erro, estouro de pilha

    A minha solução foi voltar para a versão 0.7.3 que está funcionando normalmente em todas plataformas do windows

    obs: aqui usei o windows 10 para compilar o mesmo.

     

    neste tópico 

     tem um relato do erro também 

     

    Alguem mais passando por isso?

    Alguem  tem a solução?

    Estou fazendo testes.. o próximo teste que vou fazer é compilar o acbr dentro do windows 7 e ver no que da

  2. Hmm, Vou estar estudando a viabilidade de implementar algo para o acbrframework , porque no caso talvez não compensa, talvez compense eu desenvolver um framework tef próprio da minha empresa exclusivo para c#, faço para cappta e ntk inicialmente (seria opensource é usando as apis (não seria diretamente com arquivos) enfim.. tudo tenho que estar estudando as viabilidades, se tiver uma opinião sobre isso agradeço hehe). Logo logo vou estar fazendo esse estudo. Queria somente saber.

     

    Obrigado Rafael Dias.

  3. existe o acbr virtual para nfc-e no framework.net?

     

    ou temos que implementar algo proprio mesmo? to perguntando pq vou usar em um projeto nfc-e que temos aqui (já uso o tef com ecf)

    ai queria usar o tef no nfc-e e queria saber se o mesmo já tem o acbr virtual , somente isso. obrigado.

  4. Bom dei uma pesquisada no forum, li que é somente mandar o acbr imprimir o danfe e ta zero ele já sabe pelo tipo de emissão que o danfe é offline e emite duas vias 

    mas não e oque ocorre, quando mando ele imprimir na impressora padrão (no meu caso é um emissor de pdf) ele gera somente uma unica via para o cliente 

    danfe em anexo ele imprime somente isso, obs: está em produção a nota (goiás)

    alguém poderia ajudar por favor

    danfe acbr.png

  5. Grande Rafael, muito obrigado pela ajuda! 

    Deu certo aqui =) 

    Assim não sei se é muito pedir, mas podia incluir nos fontes? enfim muito obrigado.

     

    observação que esqueci de comentar.. os fontes estão uma versão anterior a mais atual, porque a mais atual não quer compilar ela trava na hora de dar new qualquercomponenteacbrframework();

  6. Tem aqui a não ser que é outro lugar e estou enganado

    {Req}
    TEF_Req_GetHeader, TEF_Req_SetHeader,
    TEF_Req_GetDocumentoVinculado,TEF_Req_SetDocumentoVinculado,
    TEF_Req_GetCMC7, TEF_Req_SetCMC7,
    TEF_Req_GetDocumentoPessoa, TEF_Req_SetDocumentoPessoa,
    TEF_Req_GetRede, TEF_Req_SetRede,
    TEF_Req_GetNSU, TEF_Req_SetNSU,
    TEF_Req_GetFinalizacao, TEF_Req_SetFinalizacao,
    TEF_Req_GetID, TEF_Req_SetID,
    TEF_Req_GetMoeda, TEF_Req_SetMoeda,
    TEF_Req_GetTipoPessoa, TEF_Req_SetTipoPessoa,
    TEF_Req_GetValorTotal, TEF_Req_SetValorTotal,
    TEF_Req_GetDataCheque, TEF_Req_SetDataCheque,
    TEF_Req_GetDataHoraTransacaoComprovante, TEF_Req_SetDataHoraTransacaoComprovante,
    TEF_Req_GravaInformacao, // aqui 

    Baixando o arquivo e abrindo no notepad++ a linha é 10713

  7. seguinte, eu homologuei recentemente para a cappta é ntk (as duas simultâneas..) 

    problemas.. sim tive.. mas normal rlx..

    tive problema na impressão do comprovante cappta pelo que entendi o gp da cappta retorna na hora de pedir uma re-impressão

    registros 030 

    e os de mais também! todos de uma vez na re-impressão 

     

    mas quando você solicita somente o recibo do lojista por exemplo ele retorna todos registros e somente o 030 que vem com o recibo sozinho do lojista

     

    minha solução.. interceptei com um código que eu mesmo fiz o arquivo e fiz a leitura manual do registro 030 e mandei imprimir (isso na hora da impressão, tem o evento no acbr..)

     

    como ficou meu código 

    try
                {
                    switch (e.TipoRelatorio)
                    {
                        case TipoRelatorio.Gerencial:
    
                            switch (SessaoSistema.ConfigTef.OperadoraTef)
                            {
                                case OperadorasTef.Cappta:
                                    SessaoEcf.EcfFiscal.LinhaRelatorioGerencial(
                                        _viasGerencialTefCappta.ImprimiComprovante(e.Via));
                                    break;
                                default:
                                    SessaoEcf.EcfFiscal.LinhaRelatorioGerencial(e.ImagemComprovante);
                                    break;
                            }
    
                            break;
    
                        case TipoRelatorio.Vinculado:
                            SessaoEcf.EcfFiscal.LinhaCupomVinculado(e.ImagemComprovante);
                            break;
                    }
    
                    e.RetornoECF = true;
                }
                catch (Exception)
                {
                    e.RetornoECF = false;
                }

    agora se vc for homologar somente para ntk não precisara de nada disso.. e totalmente de boas =) 

    Rafael se tiver como dar uma olhada neste topico .. 

     

  8. Function TEF_Req_GravaInformacao(const tefHandle : PTEFHandle; const reqHandle : TACBrTEFDReq; Identificacao, Sequencia : Integer; Informacao : pChar): Integer ; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF} export;
    begin
       if (tefHandle = nil) then
        begin
           Result := -2;
           Exit;
        end;
    
       try
          reqHandle.GravaInformacao(Identificacao, Sequencia, Informacao);
          Result := 0;
       except
          on exception : Exception do
          begin
             tefHandle^.UltimoErro := exception.Message;
             Result := -1;
          end
       end;
    
    end;

    fiz essa mudança no arquivo ACBrTEFDll.pas

     

     

    public void GravaInformacao(int Identificacao, int Sequencia, String Informacao)
    	    {
                int ret = ACBrTEFInterop.TEF_Req_GravaInformacao(Handle, ComposedHandle, Identificacao, Sequencia, Informacao);
    
                CheckResult(ret);
            }

    e fiz essa mudança no arquivo Req.cs

     

    [DllImport(ACBr, CallingConvention = CallingConvention.Cdecl)]
            public static extern int TEF_Req_GravaInformacao(IntPtr tefHandle, IntPtr reqHandle, int Identificacao, int Sequencia, String Informacao);

    e fiz essa muandaça no arquivo ACBrTEFInterop.cs

    Arquivos.. anexados

    O negocio é , quando compilo para o c# e executo, diz que o método de iterop não existe, ai queria ajuda em saber oque estou fazendo de errado, para estar aprendendo é poder contribuir para o projeto.

    obs: gerado a DLL do lazarus antes e depois coloco ela na devida pasta e mando compilar o projeto acbrframework.net 

    Obrigado.

     

    ACBrTEFDll.pas

    ACBrTEFInterop.cs

    Req.cs

  9. Seguinte estou homologando para a cappta atualmente,

    ai oque acontece

    quando reimprimir um comprovante o gp deles me retorna os blocos 029, 711, 715

    nisso eu fiz a operação ADM > Reimpressao do ultimo > Opção Via somente Cliente

     

    li no forum que teve pessoas que passaram por problemas da impressão da via somente cliente e sai lojista, via somente lojista e sai cliente

    e um erro de uma determinada versão do gp que já foi corrigida.

     

    Falando com o suporte deles, eles aconselharam a impressão do campo 029

    tem como eu fazer isso usando o ACBR? dar prioridade para um determinado campo?

  10.  

    e o mesmo problema, sem solução também.

    Eu voltei uma versão do acbr para trás.. porque de acordo com os logs eles mudaram somente a estrutura da pasta e fizeram adaptações para o vb.net

     

    Não da para comprar os arquivos de maneira fácil bom pelo menos eu não achei uma maneira fácil, pois eles mudaram a estrutura dos arquivos ai oque acontece

    se tenho um arquivo na pasta x

    movo o mesmo arquivo para a pasta y

    O svn no caso do acbr entende que deletou o arquivo x e criou o arquivo y

    Ou seja.. não existe compare.

    Mas... você pode criar uma pasta qualquer e dar um git init (usando o git por exemplo que é oque sei usar.)

    pega o arquivo X coloca ele dentro da pasta 

    faz um git add -A

    git commit -m "commit"

    move o arquivo y para a pasta..

    git diff

    ai você tera as diferenças dos arquivos,

    pelo que vi existe algumas diferenças de #if alguma coisa.. 

    Como eu não entendo legal de iterop desisti , resolvi voltar uma versão e está funcionando.

    Agora começei a estudar iterop até criei um topico sobre o assunto mas o tempo e curto..

    mas to com muita vontade de aprender, se alguém se disponibilizar que entenda do AcbrFramework para dar uma introdução para quem quer aprender, não preciso de nada mais do que uma introdução sobre o funcionamento da iterop para pegar o jeito fácil , mas precisava de uma introdução para encurtar o meu aprendizando.. andar mais rapido .. sei que vou aprender mas.. né um passo de cada vez.

  11. A 49 solucionei assim

    private void OnAntesCancelarTransacao(object sender, AntesCancelarTransacaoEventArgs e)
            {
                try
                {
                    var estado = SessaoEcf.EcfFiscal.Estado();
    
                    switch (estado)
                    {
                        case EstadoEcfFiscal.Pagamento:
                        case EstadoEcfFiscal.Venda:
                            CancelarVenda();
                            break;
    
                        case EstadoEcfFiscal.Relatorio:
                            SessaoEcf.EcfFiscal.FechaRelatorio();
    
                            if (e.RespostaPendente.Header.Equals("CRT"))
                            {
                                CancelarVenda();
                            }
                            break;
    
                        case EstadoEcfFiscal.Livre:
                        case EstadoEcfFiscal.Desconhecido:
                        case EstadoEcfFiscal.NaoInicializada:
                            break;
    
                        default:
                            SessaoEcf.EcfFiscal.CorrigeEstadoErro();
                            break;
                    }
                }
                catch (Exception)
                {
                    // ignored
                }
            }

     

    adicionei a condição

    if (e.RespostaPendente.Header.Equals("CRT"))
    {
        CancelarVenda();
    }

    E funcionou beleza.

    Já ah 43, bom quando finaliza os processos PGTerm.exe ele envia o erro para a tela no evento exibemensagem e não faz mais nada

    o CRT retorna false e pronto acabou.

    poderia colocar CRT volto false eu cancelaria a venda.. mas não posso fazer isso porque o usuário pode simplesmente cancelar o pagamento ou simplesmente poderia

    deixar passar o tempo e automaticamente seria cancelado e daria no mesmo

    existe alguma maneira de min verificar isso pelos componentes acbr?

    executei o mesmo processo no AcbrDemo em lazarus e o resultado e o mesmo

  12. Seguinte minha dúvida esta nestes requisitos 

    o 43 (exceção) como procedo? 

    a venda desfeita , ela tem que ser desfeita na ECF? eu obtenho a ultima venda e cancelo ela so.

    porque a transação foi desfeita automaticamente, a venda na ECF é para ser desfeita também?

    ----

    49 (exceção)

    O simulador do tef pede para finalizar o checkout , eu finalizo mas.. o simulador fica lá parado na tela dizendo pra finalizar o checkout, ai eu finalizei ele também

    e re-abri o simulador é o checkout somente assim ocorreu tudo beleza comigo. O processo seria esse mesmo?

    ---

     

    27 (administrativo) 

    é opcional mas queria implementar o mesmo como e feita a implementação dele? digo como procedo com isso no demo para chegar no resultado esperado?

     

    Existe também os Testes básicos – Cancelamento (opcional)

    nos testes básicos eles fazem três vendas..

    e depois cancelam as três vendas Venda1 (R$1,00), Venda2(R$2,00), Venda3(R$12.345,67) todas impressas com sucesso e com valores pre determinados

    1º pede para realizar o cancelamento da Venda2

    2º pede para realizar o cancelamento da Venda3

    3º pede para realizar o cancelamento da Venda1

    Nesse caso dos cancelamentos das vendas, bom o cancelamento seria somente as transações né?

     

    obs: minhas dúvidas estão referentes a homologação e não a funcionalidade do componente, em todos eu passei (NTK) os que são obrigatórios mas queria tirar essa dúvida 

     

    screen-17.03.32[18.05.2016].png

    screen-08.20.42[19.05.2016].png

    screen-08.20.07[19.05.2016].png

  13. Boa tarde, queria uma orientação do uso do TEF Demo

    exemplo

    Abro um cupom 

    Vendo item

    vendo item

    vendo item

    subtotaliza

    (até aqui vai dar 3R$)

    faço dois pagamentos com o CRT de 1 cada..

     

    executo o pagamento , indice 02 - 1 R$

    executo o pagamento, indice 02 - 1 R$

    executo o pagamento, indice 01 - 1 R$

    Clico em finalizar cupom (tef)

    Clico em imprimir transacoes pendentes

     

    e ele da erro de impressão o coo pega correto mas pega ele com indice 02 com valor de 2 então da o erro 

    como procedo nesse ponto? 

    os logs estão apartir do momento em que executo o crt.. 

     

     

    ecf_log.txt

    tef_log.txt

     

    edit.. deixei como false as opções de autoefetuarpagamento é autofinalizarcupom, 

    como true deixei o multiplocartões 

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.