Git Product home page Git Product logo

Comments (16)

Rctnet avatar Rctnet commented on August 23, 2024 1

ok, achei a raiz do problema ;-)

em B756/remessa/cnab400/registro0.php na linha72 altere de 'alfa' para 'int'
isso vai resolver o problema na primeira linha (registro0)

agora para que o programa copie corretamente os dados do registro0 para o registro1
linhas 2 em diante é necessario alterar

protected function set_agencia_dv($value)
{
$this->data['agencia_dv'] = "0";//RemessaAbstract::$entryData['agencia_dv'];
}

para
protected function set_agencia_dv($value)
{
$this->data['agencia_dv'] = RemessaAbstract::getLote(0)->entryData['agencia_dv'];
}

essa alteração se faz necessária em todas as vezes que o codigo se referir a RemessaAbstract::$entryData em registro1

from opencnabphp.

duard avatar duard commented on August 23, 2024

Encontrei nas definições, muito obrigado.


        'agencia'=>array(
            'tamanho'=>4,
            'default'=>'0',
            'tipo'=>'int',
            'required'=>true),

from opencnabphp.

duard avatar duard commented on August 23, 2024

Achei que colocando o DEFAULT como 0 funcionaria, no entanto continua nulo o digito da agência
Minha agência é 3178-0
Eu passo o zero, porém, aparece null no header.

01REMESSA01COBRANÇA 3178 001166707 COMPRE CERTO A123123 756BANCOOBCED 1201180000001 000001

        $arquivo = new Remessa(756, "cnab400", array(
            'nome_empresa'                  => $result->header->beneficiario,
            'tipo_inscricao'                => 2,
            'agencia'                       => $result->header->agencia,
            'agencia_dv'                    => $result->header->agencia_dv,
            'codigo_beneficiario'           => $result->header->codigo_beneficiario,
            'codigo_beneficiario_dv'        => $result->header->codigo_beneficiario_dv,
            'numero_sequencial_arquivo'     => $result->header->numero_sequencial_arquivo,
            'situacao_arquivo'              => $ambiente
        ));

from opencnabphp.

duard avatar duard commented on August 23, 2024

Minha agência é 3178-0
Eu passo o zero, porém, aparece null no header.

from opencnabphp.

Rctnet avatar Rctnet commented on August 23, 2024

Bom dia, enquanto insistir em usar uma versão do PHP que não existe suporte nesse projeto vai continuar a dar problema, sinto muito, quanto ao zero, passe como string, pode resolver

from opencnabphp.

duard avatar duard commented on August 23, 2024

Baixei a versão 7.0 do PHP para podermos resolver este bug que não permite dígito da agência 0.
Também re-clonei o projeto, e erros diversos surgiram (alguns eu havia corrigido, colocando $valor), pois peguei o projeto original novamente.

Resumindo, estou com o projeto ORIGINAL, versão do PHP recomendada pelo projeto e os dados que estou passando no meu header (o header fica no fim) são :

{
  "quantidade_contas": 5,
  "contas": [
    {
      "qtd_dias_protesto": "00",
      "numero_contrato_dv": "0",
      "aceito_titulo": "0",
      "valor_titulo": "2.00",
      "primeira_instrucao": "00",
      "conta_caucao": "0",
      "segunda_instrucao": "",
      "numero_banco": "756",
      "numero_parcela": "1",
      "tipo_emissao": "2",
      "mensagem_para_sacador": "Goiaba são verdinhas",
      "numero_cpf_ou_cnpj": "19422069000155",
      "prefixo_cooperatica": "3178",
      "comando_movimento": "01",
      "tipo_inscricao_pagamento": "02",
      "numero_inscricao": "55422069000119",
      "uf_pagador": "MG",
      "variacao_carteira": "000",
      "numero_contrato": "00000",
      "numero_convenio": "000000",
      "endereco_pagador": "RUA DAS GOIABINHAS DELICIOSAS, 6655",
      "codigo_moeda": "000000000000",
      "numero_empresa": "260",
      "cidade_pagador": "ARAXÁ",
      "bairro_pagador": "SÃO BENEDITO",
      "especie_titulo": "99",
      "conta_corrente": "5880",
      "carteira_modalidade": "01",
      "grupo_valor": "00",
      "cep_pagador": "38022-100",
      "conta_corrente_dv": "5880",
      "sequencial_registro": "0",
      "nosso_numero": "ZZZZZZZZZZZZ",
      "valor_abatimento": "0000000000000",
      "numero_empresa_dv": "0",
      "data_primeiro_desconto": "",
      "digito_verificador_prefixo": "0",
      "identificacao_registro": "1",
      "observacoes_mensagem": "",
      "prefixo_cooperativa": "3178",
      "tipo_inscricao": "02",
      "nome_pagador": "Loja do Goiaba Sabina",
      "data_emissao": "051217",
      "data_vencimento": "071217"
    },
    {
      "qtd_dias_protesto": "00",
      "numero_contrato_dv": "0",
      "aceito_titulo": "0",
      "valor_titulo": "2.00",
      "primeira_instrucao": "00",
      "conta_caucao": "0",
      "segunda_instrucao": "",
      "numero_banco": "756",
      "numero_parcela": "1",
      "tipo_emissao": "2",
      "mensagem_para_sacador": "Goiaba são verdinhas",
      "numero_cpf_ou_cnpj": "55422069000119",
      "prefixo_cooperatica": "3178",
      "comando_movimento": "01",
      "tipo_inscricao_pagamento": "02",
      "numero_inscricao": "55422069000119",
      "uf_pagador": "MG",
      "variacao_carteira": "000",
      "numero_contrato": "00000",
      "numero_convenio": "000000",
      "endereco_pagador": "RUA DAS GOIABINHAS DELICIOSAS, 6655",
      "codigo_moeda": "000000000000",
      "numero_empresa": "261",
      "cidade_pagador": "ARAXÁ",
      "bairro_pagador": "SÃO BENEDITO",
      "especie_titulo": "99",
      "conta_corrente": "5880",
      "carteira_modalidade": "01",
      "grupo_valor": "00",
      "cep_pagador": "38022-100",
      "conta_corrente_dv": "5880",
      "sequencial_registro": "1",
      "nosso_numero": "ZZZZZZZZZZZZ",
      "valor_abatimento": "0000000000000",
      "numero_empresa_dv": "0",
      "data_primeiro_desconto": "",
      "digito_verificador_prefixo": "0",
      "identificacao_registro": "1",
      "observacoes_mensagem": "",
      "prefixo_cooperativa": "3178",
      "tipo_inscricao": "02",
      "nome_pagador": "Loja do Goiaba Sabina",
      "data_emissao": "051217",
      "data_vencimento": "081217"
    },
    {
      "qtd_dias_protesto": "00",
      "numero_contrato_dv": "0",
      "aceito_titulo": "0",
      "valor_titulo": "2.00",
      "primeira_instrucao": "00",
      "conta_caucao": "0",
      "segunda_instrucao": "",
      "numero_banco": "756",
      "numero_parcela": "1",
      "tipo_emissao": "2",
      "mensagem_para_sacador": "Goiaba são verdinhas",
      "numero_cpf_ou_cnpj": "55422069000119",
      "prefixo_cooperatica": "3178",
      "comando_movimento": "01",
      "tipo_inscricao_pagamento": "02",
      "numero_inscricao": "55422069000119",
      "uf_pagador": "MG",
      "variacao_carteira": "000",
      "numero_contrato": "00000",
      "numero_convenio": "000000",
      "endereco_pagador": "RUA DAS GOIABINHAS DELICIOSAS, 6655",
      "codigo_moeda": "000000000000",
      "numero_empresa": "262",
      "cidade_pagador": "ARAXÁ",
      "bairro_pagador": "SÃO BENEDITO",
      "especie_titulo": "99",
      "conta_corrente": "5880",
      "carteira_modalidade": "01",
      "grupo_valor": "00",
      "cep_pagador": "38022-100",
      "conta_corrente_dv": "5880",
      "sequencial_registro": "2",
      "nosso_numero": "ZZZZZZZZZZZZ",
      "valor_abatimento": "0000000000000",
      "numero_empresa_dv": "0",
      "data_primeiro_desconto": "",
      "digito_verificador_prefixo": "0",
      "identificacao_registro": "1",
      "observacoes_mensagem": "",
      "prefixo_cooperativa": "3178",
      "tipo_inscricao": "02",
      "nome_pagador": "Loja do Goiaba Sabina",
      "data_emissao": "051217",
      "data_vencimento": "111217"
    },
    {
      "qtd_dias_protesto": "00",
      "numero_contrato_dv": "0",
      "aceito_titulo": "0",
      "valor_titulo": "2.00",
      "primeira_instrucao": "00",
      "conta_caucao": "0",
      "segunda_instrucao": "",
      "numero_banco": "756",
      "numero_parcela": "1",
      "tipo_emissao": "2",
      "mensagem_para_sacador": "Goiaba são verdinhas",
      "numero_cpf_ou_cnpj": "55422069000119",
      "prefixo_cooperatica": "3178",
      "comando_movimento": "01",
      "tipo_inscricao_pagamento": "02",
      "numero_inscricao": "55422069000119",
      "uf_pagador": "MG",
      "variacao_carteira": "000",
      "numero_contrato": "00000",
      "numero_convenio": "000000",
      "endereco_pagador": "RUA DAS GOIABINHAS DELICIOSAS, 6655",
      "codigo_moeda": "000000000000",
      "numero_empresa": "263",
      "cidade_pagador": "ARAXÁ",
      "bairro_pagador": "SÃO BENEDITO",
      "especie_titulo": "99",
      "conta_corrente": "5880",
      "carteira_modalidade": "01",
      "grupo_valor": "00",
      "cep_pagador": "38022-100",
      "conta_corrente_dv": "5880",
      "sequencial_registro": "3",
      "nosso_numero": "ZZZZZZZZZZZZ",
      "valor_abatimento": "0000000000000",
      "numero_empresa_dv": "0",
      "data_primeiro_desconto": "",
      "digito_verificador_prefixo": "0",
      "identificacao_registro": "1",
      "observacoes_mensagem": "",
      "prefixo_cooperativa": "3178",
      "tipo_inscricao": "02",
      "nome_pagador": "Loja do Goiaba Sabina",
      "data_emissao": "051217",
      "data_vencimento": "111217"
    },
    {
      "qtd_dias_protesto": "00",
      "numero_contrato_dv": "0",
      "aceito_titulo": "0",
      "valor_titulo": "2.00",
      "primeira_instrucao": "00",
      "conta_caucao": "0",
      "segunda_instrucao": "",
      "numero_banco": "756",
      "numero_parcela": "1",
      "tipo_emissao": "2",
      "mensagem_para_sacador": "Goiaba são verdinhas",
      "numero_cpf_ou_cnpj": "55422069000119",
      "prefixo_cooperatica": "3178",
      "comando_movimento": "01",
      "tipo_inscricao_pagamento": "02",
      "numero_inscricao": "55422069000119",
      "uf_pagador": "MG",
      "variacao_carteira": "000",
      "numero_contrato": "00000",
      "numero_convenio": "000000",
      "endereco_pagador": "RUA DAS GOIABINHAS DELICIOSAS, 6655",
      "codigo_moeda": "000000000000",
      "numero_empresa": "264",
      "cidade_pagador": "ARAXÁ",
      "bairro_pagador": "SÃO BENEDITO",
      "especie_titulo": "99",
      "conta_corrente": "5880",
      "carteira_modalidade": "01",
      "grupo_valor": "00",
      "cep_pagador": "38022-100",
      "conta_corrente_dv": "5880",
      "sequencial_registro": "4",
      "nosso_numero": "ZZZZZZZZZZZZ",
      "valor_abatimento": "0000000000000",
      "numero_empresa_dv": "0",
      "data_primeiro_desconto": "",
      "digito_verificador_prefixo": "0",
      "identificacao_registro": "1",
      "observacoes_mensagem": "",
      "prefixo_cooperativa": "3178",
      "tipo_inscricao": "02",
      "nome_pagador": "Loja do Goiaba Sabina",
      "data_emissao": "051217",
      "data_vencimento": "121217"
    }
  ],
  "header": {
    "numero_sequencial_arquivo": "000001",
    "codigo_beneficiario_dv": "7",
    "tipo_servico": "01",
    "identificacao_banco": "756BANCOOBCED",
    "tipo_operacao": "1",
    "tipo_servico_desc": "COBRANCA",
    "data_gravacao": "11-01-2018",
    "agencia_dv": "0",
    "beneficiario": "INDUSTRIA DAS GOIABAS SADIAS",
    "agencia": "3178",
    "codigo_beneficiario": "5880",
    "tipo_operacao_desc": "REMESSA",
    "sequencial_remessa": "01",
    "identificacao_registro": "0"
  }
}

Os seguintes problemas foram reportados :


Notice: Undefined index: numero_inscricao in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 40

Notice: Undefined index: conta in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 61

Notice: Undefined index: conta_dv in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 66

Notice: Undefined index: numero_inscricao in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 40

Notice: Undefined index: conta in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 61

Notice: Undefined index: conta_dv in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 66

Notice: Undefined index: numero_inscricao in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 40

Notice: Undefined index: conta in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 61

Notice: Undefined index: conta_dv in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 66

Notice: Undefined index: numero_inscricao in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 40

Notice: Undefined index: conta in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 61

Notice: Undefined index: conta_dv in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 66

Notice: Undefined index: numero_inscricao in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 40

Notice: Undefined index: conta in C:\xampp\htdocs\dominio2.com.br\vendor\rctnet\opencnabphp\src\resources\generico\remessa\cnab400\Generico1.php on line 61

from opencnabphp.

duard avatar duard commented on August 23, 2024

Mesmo com PHP 7.0 (como recomendado), preciso alterar as seguintes linhas no Generico1.php

protected function set_numero_inscricao_empresa($value)
  {
      // $this->data['numero_inscricao_empresa'] = str_ireplace(array('.','/','-'),array(''), RemessaAbstract::$entryData['numero_inscricao']);
      $this->data['numero_inscricao_empresa'] =  $value;
  }

  protected function set_numero_inscricao($value)
  {
      $this->data['numero_inscricao'] = str_ireplace(array('.','/','-'),array(''), $value);
  }

  protected function set_agencia($value)
  {
      $this->data['agencia'] = RemessaAbstract::$entryData['agencia'];
  }
  protected function set_agencia_dv($value)
  {
      $this->data['agencia_dv'] = RemessaAbstract::$entryData['agencia_dv'];
  }

  protected function set_conta($value)
  {
      // $this->data['conta'] = RemessaAbstract::$entryData['conta'];
      $this->data['conta'] = $value;
  }

  protected function set_conta_dv($value)
  {
      // $this->data['conta_dv'] = RemessaAbstract::$entryData['conta_dv'];
      $this->data['conta_dv'] = $value;
  }

from opencnabphp.

Rctnet avatar Rctnet commented on August 23, 2024

Primeiramente peço desculpas por presumir que não existia um problema, já que esse erro só aparece para min no debug e ninguém mais reclamou, me fazendo acreditar que tinha algum problema de verão do PHP.
Bem, vamos ao problema, troque RemessaAbstract::$entryData por RemessaAbstract::getLote(0)->$entryData em todos os lugares e me avise para que eu faça as devidas correções ou adicione uma PR, se assim desejar.

from opencnabphp.

Rctnet avatar Rctnet commented on August 23, 2024

quanto ao dv 0 passe como srting que da certo exemplo 'conta_dv' => (string)0

from opencnabphp.

Rctnet avatar Rctnet commented on August 23, 2024

se possível teste no PHP 7.1 para sabermos se funciona e se podemos retirar a recomendação de versão do readme do projeto

from opencnabphp.

duard avatar duard commented on August 23, 2024

Estou rodando no XAMPP com php 7.0 no momento, e aparentemente o único problema que sobrou foi este do dígito da agência, pois, se ele é MAIOR QUE ZERO, funciona, se ele for ZERO, aparece NULL

01REMESSA01COBRANÇA 3178 001166707 COMPRE CERTO SERVICOS LTDA 756BANCOOBCED 1501180000001 000001

Este é o código que passo os dados. Lembrando que existe uma exigência (required) do numero_inscricao_empresa, sendo que no layout do SICOOB não é solicitado o CNPJ da empresa no header ... só passo ele para o método prosseguir :

        $arquivo = new Remessa(756, "cnab400", array(
            'nome_empresa'                  => $result->header->beneficiario,
            'tipo_inscricao'                => 2,
            'numero_inscricao'              => $result->header->cnpj,
            'agencia'                       => $result->header->agencia,
            'agencia_dv'                    => (string)$result->header->agencia_dv,
            // 'conta'                         => $result->header->conta,
            // 'conta_dv'                      => $result->header->conta_dv,
            'codigo_beneficiario'           => $result->header->codigo_beneficiario,
            'codigo_beneficiario_dv'        => $result->header->codigo_beneficiario_dv,
            'numero_sequencial_arquivo'     => $result->header->numero_sequencial_arquivo,
            'situacao_arquivo'              => $ambiente
        ));

from opencnabphp.

duard avatar duard commented on August 23, 2024

Tentei forçar zero, e mesmo assim nada :

    protected function set_agencia_dv($value)
    {
        $this->data['agencia_dv'] = "0";//RemessaAbstract::$entryData['agencia_dv'];
    }

01REMESSA01COBRANÇA 3178 001166707 COMPRE CERTO SERVICOS LTDA 756BANCOOBCED 1501180000001 000001

from opencnabphp.

duard avatar duard commented on August 23, 2024

Ocorre algo, que talvez o ajude a sacar onde resolver este problema:

Quando seto a propriedade do objeto assim, forçando o digito igual a 9 :

        $arquivo = new Remessa(756, "cnab400", array(
            'nome_empresa'                  => $result->header->beneficiario,
            'tipo_inscricao'                => 2,
            'numero_inscricao'              => $result->header->cnpj,
            'agencia'                       => $result->header->agencia,
            'agencia_dv'                    => 9,
            // 'conta'                         => $result->header->conta,
            // 'conta_dv'                      => $result->header->conta_dv,
            'codigo_beneficiario'           => $result->header->codigo_beneficiario,
            'codigo_beneficiario_dv'        => $result->header->codigo_beneficiario_dv,
            'numero_sequencial_arquivo'     => $result->header->numero_sequencial_arquivo,
            'situacao_arquivo'              => $ambiente
        ));

ao rodar o REMESSA, eu também forcei aqui, como zero, veja

// Generico01.php
    protected function set_agencia_dv($value)
    {
        $this->data['agencia_dv'] = "0";//RemessaAbstract::$entryData['agencia_dv'];
    }

Porém, o dígito sai como 9 e não como 0, veja

01REMESSA01COBRANÇA 31789001166707 COMPRE CERTO SERVICOS LTDA 756BANCOOBCED 1501180000001 000001

from opencnabphp.

Rctnet avatar Rctnet commented on August 23, 2024

Quando o php instancia a classe Remessa ele ja gera o registro0 com os dados do array passado como parametro, então esta certo sair 9 na linha 1 (registro0), independente do que esta escrito no arquivo do registro1

O que faço em RemessaAbstract::getLote(0)->$entryData['agencia_dv']; é abrir o registro 0 e pegar o que foi colocado lá e trazer para colocar dentro do registro1. acredito que se fizer a substituição conforme o que postei antes deve resolver.

from opencnabphp.

duard avatar duard commented on August 23, 2024

@Rctnet não enteid onde devo fazer a substituição, já que alterei em todos os lugares e quando o dígito é ZERO ele simplesmente é transformado em NULL no arquivo de remessa.rem final :-|

from opencnabphp.

duard avatar duard commented on August 23, 2024

Perfeito, exatamente isto 👍
01REMESSA01COBRANÇA 31780001166707 COMPRE CERTO A123123 756BANCOOBCED 1501180000001 000001

from opencnabphp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.