Jump to content

dev botao

  • Este tópico foi criado há 217 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Posted

Pessoal estou com algumas dúvidas analisando o projeto acbrlib em c#, 
ao fazer os processos utilizando o ACBrLib.ini ele funciona normalmente.

1-Gostaria de saber se é possível a utilização dos componentes sem configurações *.ini ou isto é um pré requisito? não encontrei sobre isso. Notei que tem uma flag --new ACBrNFe("[Memory]");--, neste caso o ini não é utilizado porém da erros posteriores, mesmo eu preenchendo as variáveis necessárias para uma NFCE.

Valor não pode ser nulo.
Nome do parâmetro: iniData

2-Como tenho alguns clientes no mesmo estado, poderia somente alterar as propriedades
ACBrNFe.Config.DFe.DadosPFX=
ACBrNFe.Config.DFe.Senha=
para alternar entre clientes ?

3-No certificado passado em ACBrNFe.Config.DFe, não teria como ser um Stream ou byte[] ?, é sempre um arquivo fisico mesmo? Teria a possibilidade de ser um Stream ? Isso pois todos os certificados aceitam um path, serial caso instalado, um Stream ou um byte[].

image.thumb.png.00e08f9278ad2f9cac082fc86beb1d8b.png

ficou confuso este DadosPFX ser uma string, sendo que o original em Delphi seria um AnsiString, 
segundo a explicação do Daniel este dados seria um Blob, este tipo de objeto em c# seria um byte[];

 

4-uma outra coisa, notei que ele não agrega as exceptions, no caso tive que debugar e pegar a exceção inicial, pois ele só estourou a ultima exceção não trazendo que originou . 
não sei se isto seria uma limitação e não da para ser corrigido para a LIB, não é algo tão crucial, mas seria bom caso possível.
image.png.d46cbcf3aab2da0169a5d4501db60ed6.png

só reforçando que ao utilizar o projeto demo preenchendo tudo normalmente ele funciona perfeitamente, 
consulta status, 
enviar nfce,

....

image.thumb.webp.5062099b44618216a0f2063bdfc60847.webp

 

image.webp.a5d0e78e0e4c6bd67cfae4238be13413.webp

 

aproveitando, ao utilizar via teste, isso sem interface visual, os arquivos de .ini não se comportam de maneira correta


image.png.53301ee9367b115fafd7f2ed4a34ecdd.png

  • Fundadores
Posted

Imaginei que você estivesse usando os componentes em Delphi...

Na ACBrLib, os "DadosPFX" devem ser informados em Base64

Leia o certificado em um Stream e codifique ele em Base64

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Posted

Ok Daniel, pode desconsiderar os itens 1 ,3 e 4, consegui sanar aqui.
As demais dúvidas ainda persistem, inclusive o item 2
image.png.7260fb225f07a0471399a9f5f0506ea4.png

Referente ao item 2, isto seria possível ?, o recomendável por vocês seria uma instância por cliente ? ( levando em conta que tenho um serviço centralizado que emite intermitente nfe/nfce em lote para clientes distintos )
image.png.e64ef357094d6e9bc05deaa14adae4bb.png
ou posso reutilizar conforme informei acima ?

E referente ao item 4, ele estoura uma exceção superior, não sendo a originária, porém notei que nos logs ele coloca as mensagens corretas e isto eu consigo contornar aqui.
image.png.4e39ce1e0a0902e495232ecd54499848.png

 

Obrigado.

Att.;

  • Consultores
Posted

Bom dia !
Em memória tem que criar uma instância para cada cliente e como vai estar em memória, vc precisa usar a lib MT (multthread)
Cada instância e suas chamadas vai ter q passa o handle.
Lembrando que são basta só mudar o dadosPFX e senha, precisa mudar os dados da empressa emissora (CNPJ, RAZAO, END, CIDADE, logotipo, etc)

 

Em 08/06/2024 at 13:55, isaiasnas disse:

E referente ao item 4, ele estoura uma exceção superior, não sendo a originária, porém notei que nos logs ele coloca as mensagens corretas e isto eu consigo contornar aqui.

Deixe log paranoico
O Endereco informado é valido?

 

 

Em 07/06/2024 at 15:21, isaiasnas disse:

aproveitando, ao utilizar via teste, isso sem interface visual, os arquivos de .ini não se comportam de maneira correta

Ambiente sem interface visual que vc se refere é linux?

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Posted (edited)

Ok Daniel, 

Irei ver aqui como contornar, só não achei intuitivo duas lib's para a mesma finalidade, uma single thread e outra multi thread.
Como minha aplicação é dinâmica , ela que é responsável por ser single ou multi, e neste caso tenho que intercalar em qual lib utilizar,  
Geralmente esta responsabilidade e tomada de decisão fica no nível mais alto e não nos componentes, como consumo outras bibliotecas não tenho que me preocupar com isto.

O ambiente é Windows e nada tem interface visual, inclusive os testes, é tudo integração, porém indifere pois o comportamento da aplicação é o mesmo.

Irei analisar aqui a melhor forma para contornar.

Obrigado.
Att.;

Edited by isaiasnas
  • Consultores
  • Solution
Posted
3 horas atrás, isaiasnas disse:

Como minha aplicação é dinâmica , ela que é responsável por ser single ou multi, e neste caso tenho que intercalar em qual lib utilizar,  

Não há impeditivo de você utilizar a multi thread para apenas uma instância. 

No seu caso, implemente a MT e utilize apenas ela em todos os cenários.

  • Like 1
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...
The popup will be closed in 10 seconds...