openboleto / OpenCnabPHP

Biblioteca multibanco para geração e leitura de arquivos Cnab240 e Cna400 de remessa e retorno
MIT License
192 stars 117 forks source link

SICOOB 240 #144

Closed Alano-SIGPharma closed 4 years ago

Alano-SIGPharma commented 4 years ago

Olá, tudo bem?

Estamos com uma dúvida em relação ao layout:

No HEADER do ARQUIVO nós passamos o número da agencia, dv agencia, numero da conta, dv da conta, numero de inscricao.

Na hora de montar o HEADER do LOTE, o seu layout "aproveita" os dados referente a agência e numero de inscricao., mas não "aproveita" os dados referente as contas, há algum lugar que podemos pesquisar no seu projeto para validarmos o que estamos fazendo.

Não estamos entendendo esse tipo de "reaproveitamento" de código. Pode nos esclarecer por favor.

Rctnet commented 4 years ago

Ola, tudo certo.

Esse aproveitamento dos dados inseridos acontece no registro genérico de cada tipo de registro por exemplo o registro1 do layout 240 herda de genérico1 todas as funções que estão lá

https://github.com/QuilhaSoft/OpenCnabPHP/blob/d0849d2833f19995b82144cb17f53a278e2a1e68/src/resources/generico/remessa/cnab240/Generico1.php#L85

nessa linha do código por exemplo ele testa se foi incluído algum valor no elemento do array do lote, caso não tenha, ele pega o valor que foi passado na instanciação da classe remessa.

fora isso

https://github.com/QuilhaSoft/OpenCnabPHP/blob/d0849d2833f19995b82144cb17f53a278e2a1e68/src/RegistroRemAbstract.php#L56

nessa linha uso os métodos mágicos para capturar toda a vez que uma propriedade do objeto é setada e logo abaixo testo se existe um método com o nome mesmo nome da propriedade que está sendo alimentada e chamo ele para tratar a entrada, nesse modelo podem-se validar quaisquer campo que quiser, basta criar uma frunção get_nome_do_campo() e ela será chamda toda vez que o campo for alimentado.

espero ter ajudado....

qualquer duvida é só continuar perguntando

Alano-SIGPharma commented 4 years ago

Deu super certo. obrigado!