Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementação do layout L060 240 Santander 033 #227

Open
KaduAmaral opened this issue Jun 27, 2023 · 1 comment
Open

Implementação do layout L060 240 Santander 033 #227

KaduAmaral opened this issue Jun 27, 2023 · 1 comment

Comments

@KaduAmaral
Copy link

KaduAmaral commented Jun 27, 2023

Olá,

Eu já utilizo a biblioteca para gerar remessa e ler retornos para emissão de boletos, até aqui tudo certo. Porém agora preciso do Pagamento de Fornecedores. Fiz um fork e comecei a implementação pelo banco Santander.

O problema que encontrei é que o layout 060 do Santander tem uma peculiaridade do Registro 3 Segmento B (acho que pode acontecer com outros também, mas ainda não cheguei lá) que é quando é DOC/TED o Layout é de um jeito, mas quando é PIX o Layout é outro.

Como ficaria a estrutura de classes para essa situação, pensei em criar algo tipo isso:

class Registro3B extends Generico3 
{

    
    protected $meta = NULL;

    public function __construct($data = null)
    {
        if ($this->isPix($data)) {
            $this->meta = Registro3B_Pix::$meta;
        } else {
            $this->meta = Registro3B_TedDoc::$meta;
        }

        if (empty($this->data)) {
            parent::__construct($data);
        }
        $this->inserirDetalhe($data);
    }

E assim só determinar o layout quanto estivesse lendo a linha.

Teriam alguma ideia pra fazer essa implementação?

Segue o link da documentação do arquivo: https://cms.santander.com.br/sites/WPS/documentos/arq-layout-pagamento-fornecedores-mai22/23-03-07_150124_pagamento_a_fornecedores_layout_cnab_240_v11.3.2_newpt.pdf

Layout para TED/DOC/etc (Página 11 do PDF)
image

Layout para PIX (Página 16 do PDF)
image

@Rctnet
Copy link
Collaborator

Rctnet commented Aug 30, 2023

Olá @KaduAmaral , acredito que se houver uma difrença signicativa no layout para essa função, vc pode criar um layout novo,
já no arquivo reigstro3 vc pode fazer a chamada para carregar os registros auxiliares, normalmente o registro 3P é obrigatorio em todo layout, e a partir dele eu chamo os outros, vc pode observar o layout que foi criado para o Banco ABC, nele tem alguma coisa nesse sentido, onde os registros auxiliares pode ser carregados de forma opcional inclusive

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants