Comments (16)
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.
Encontrei nas definições, muito obrigado.
'agencia'=>array(
'tamanho'=>4,
'default'=>'0',
'tipo'=>'int',
'required'=>true),
from opencnabphp.
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.
Minha agência é 3178-0
Eu passo o zero, porém, aparece null no header.
from opencnabphp.
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.
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.
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.
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.
quanto ao dv 0 passe como srting que da certo exemplo 'conta_dv' => (string)0
from opencnabphp.
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.
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.
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.
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.
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.
@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.
Perfeito, exatamente isto 👍
01REMESSA01COBRANÇA 31780001166707 COMPRE CERTO A123123 756BANCOOBCED 1501180000001 000001
from opencnabphp.
Related Issues (20)
- homologação BB com bronca nos Juros, mora e valor pago no retorno HOT 6
- Erro arquivo Caixa Versão Layout de Remessa HOT 1
- Erro Código convênio Bradesco HOT 1
- Estou tentando ler um arquivo CNAB com retorno é do Itau.
- Implementação Banco Safra HOT 4
- Leitura de remessa HOT 2
- Capturar dados do Header HOT 5
- Email pagador no arquivo de remessa
- Instalação laravel HOT 1
- _
- Retorno Santander abs( PHP 8
- Erro ao submeter remessa ao bradesco
- Multa do Itau não está sendo adicionada HOT 2
- Retorno do santander está quebrado!
- Implementação do layout L060 240 Santander 033 HOT 1
- Problema ao validar arquivo CNAB 240 no Sicoob HOT 3
- Uncaught TypeError: number_format(): Argument #1 ($num) must be of type float, string given in HOT 1
- Deycoval
- Multa no Itaú
- Implemantação Banco Inter
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opencnabphp.