Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

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
Postado

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
Postado

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
Postado

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
Postado (editado)

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.;

Editado por isaiasnas
  • Consultores
  • Solution
Postado
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.

  • Curtir 1
×
×
  • 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.