Git Product home page Git Product logo

Comments (11)

Rctnet avatar Rctnet commented on August 17, 2024

Bom dia, é provável que exista algum erro no seu programa, o exemplo funciona gerando na linha 2 posição 31,basta mudar o banco para 756 e testar,
estou usando para testes xampp PHP 7.0.2 e produção nginx,

from opencnabphp.

duard avatar duard commented on August 17, 2024

outro campo que eu preencho e que fica dizendo que é faltante

        <strong>Message:</strong> Campo faltante ou com valor nulo:numero_inscricao_empresa Boleto Numero:50

from opencnabphp.

duard avatar duard commented on August 17, 2024

@Rctnet não tem erro, eu estou enviando os valores, e pegando eles e passando para a classe gerar os dados, porém, o dígito da agência simplesmente some após entrar na classe. E também não reconhece o campo numero_inscricao_empresa como estando preenchido


 $app->post("/remessa-756",  function ($request, $response) {
   $body = $request->getParsedBody();
   $result = json_decode(json_encode($body,true));
   $ambiente = 'T';

   $arquivo = new Remessa("756", "cnab400",array(
     'nome_empresa'              =>  $result->header->beneficiario,
     'tipo_inscricao'            =>  2, // 1 para cpf, 2 cnpj
     '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 // use T para teste e P para produção
   ));

   $lote  = $arquivo->addLote(array('tipo_servico'=> 1)); // tipo_servico  = 1 para cobrança registrada, 2 para sem registro

   $arrContas = $result->contas;
   /*
   $length = count($arrContas);
   for ($i = 0; $i < $length; $i++) {
     // print_r($arrContas[$i]);
     $myConta = $arrContas[$i];
     echo $myConta->endereco_pagador;
   }
   */
   for ($i = 0; $i < count($result->contas); $i++) {
     $conta = $result->contas[$i];
     echo $conta->numero_inscricao;
     $lote->inserirDetalhe(array(
          'codigo_movimento' =>  1, //1 = Entrada de título, para outras opções ver nota explicativa C004 manual Cnab_SIGCB na pasta docs
          'tipo_inscricao'   =>  2, // 1 para cpf, 2 cnpj
          'numero_inscricao_empresa' => $conta->numero_inscricao,
          'numero_inscricao'  => '123.122.123-56',//cpf ou ncpj do pagador
          'codigo_movimento' => 1, //1 = Entrada de título, para outras opções ver nota explicativa C004 manual Cnab_SIGCB na pasta docs
          'nosso_numero'      => 50, // numero sequencial de boleto
          'seu_numero'        => 43,// se nao informado usarei o nosso numero
          /* campos necessarios somente para itau e siccob,  não precisa comentar se for outro layout    */
          'carteira_banco'    => 109, // codigo da carteira ex: 109,RG esse vai o nome da carteira no banco
          'cod_carteira'      => "01", // I para a maioria ddas carteiras do itau
          /* campos necessarios somente para itau,  não precisa comentar se for outro layout    */
          'especie_titulo'    => "DM", // informar dm e sera convertido para codigo em qualquer laytou conferir em especie.php
          'valor'             => 100.00, // Valor do boleto como float valido em php
          'emissao_boleto'    => 2, // tipo de emissao do boleto informar 2 para emissao pelo beneficiario e 1 para emissao pelo banco
          'protestar'         => 3, // 1 = Protestar com (Prazo) dias, 3 = Devolver ap�s (Prazo) dias
          'prazo_protesto'    => 5, // Informar o numero de dias apos o vencimento para iniciar o protesto
          'nome_pagador'      => "JOSÉ da SILVA ALVES", // O Pagador � o cliente, preste atenção nos campos abaixo
          'tipo_inscricao'    => 1, //campo fixo, escreva '1' se for pessoa fisica, 2 se for pessoa juridica
          'numero_inscricao'  => '123.122.123-56',//cpf ou ncpj do pagador
          'endereco_pagador'  => 'Rua dos developers,123 sl 103',
          'bairro_pagador'    => 'Bairro da insonia',
          'cep_pagador'       => '12345-123', // com h�fem
          'cidade_pagador'    => 'Londrina',
          'uf_pagador'        => 'PR',
          'data_vencimento'   => '2016-04-09', // informar a data neste formato
          'data_emissao'      => '2016-04-09', // informar a data neste formato
          'vlr_juros'         => 0.15, // Valor do juros de 1 dia'
          'data_desconto'     => '2016-04-09', // informar a data neste formato
          'vlr_desconto'      => '0', // Valor do desconto
          'baixar'            => 1, // codigo para indicar o tipo de baixa '1' (Baixar/ Devolver) ou '2' (N�o Baixar / N�o Devolver)
          'prazo_baixa'       => 90, // prazo de dias para o cliente pagar ap�s o vencimento
          'mensagem'          => 'JUROS de R$0,15 ao dia'.PHP_EOL."Não receber apos 30 dias",
          'email_pagador'     => '[email protected]', // data da multa
          'data_multa'        => '2016-04-09', // informar a data neste formato, // data da multa
          'vlr_multa'         => 30.00, // valor da multa
          // campos necessários somente para o sicoob
          'taxa_multa'         => 30.00, // taxa de multa em percentual
          'taxa_juros'         => 30.00 // taxa de juros em percentual
     ));
   }

   $resultado = $arquivo->getText(); // observar a header do seu php para não gerar comflitos de codificação de caracteres;
   if ($ambiente == 'T') {
     $arquivoGrava  = '756-remessa-teste'.'.rem';
   } else {
     $arquivoGrava  = '756-remessa-test-P-'.date('m-d-Y_hia').'.rem';
   }

   file_put_contents($arquivoGrava, $resultado);

   // echo $resultado;

   // echo $result->header->agencia.$result->header->agencia_dv;

   // echo count($result->contas);

 });

from opencnabphp.

duard avatar duard commented on August 17, 2024

Está bizarro, nem passando FIXO, o campo é reconhecido

   $lote->inserirDetalhe(array(
          'codigo_movimento' =>  1, //1 = Entrada de título, para outras opções ver nota explicativa C004 manual Cnab_SIGCB na pasta docs
          'tipo_inscricao'   =>  2, // 1 para cpf, 2 cnpj
          'numero_inscricao_empresa' => '16882069000191',
          'numero_inscricao'  => '16882069000191',//cpf ou ncpj do pagador
          'codigo_movimento' => 1, //1 = Entrada de título, para outras opções ver nota explicativa C004 manual Cnab_SIGCB na pasta docs
          'nosso_numero'      => 50, // numero sequencial de boleto
          'seu_numero'        => 43,// se nao informado usarei o nosso numero

from opencnabphp.

duard avatar duard commented on August 17, 2024

Achei o problema cara, era aqui óh :

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

    }

Deve ser

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

    }

from opencnabphp.

Rctnet avatar Rctnet commented on August 17, 2024

isso é em generico1?

from opencnabphp.

Rctnet avatar Rctnet commented on August 17, 2024

se sim qual a versão do PHP que você esta usando, porque esse método é assim para que não seja necessário informar esse valor nos registros e somente na instanciação da classe.

from opencnabphp.

Rctnet avatar Rctnet commented on August 17, 2024

Li seu código acima e percebi que já esta passando os dados nos registros então no seu caso use assim mesmo e por favor nos passe a versão de PHP que esta usando para podermos alertar em caso de versão antiga, ou corrigirmos de outra forma se for mais nova.

from opencnabphp.

duard avatar duard commented on August 17, 2024

PHP 7.1.4 usando XAMPP também 7.1.4

from opencnabphp.

Rctnet avatar Rctnet commented on August 17, 2024

ok, farei alguns testes com essa versão e em atualizações futuras criarei outra solução, mas por hora recomendo usar PHP 7.0 que é o que eu uso em produção, isso pode evitar mais surpresas indesejadas.

from opencnabphp.

duard avatar duard commented on August 17, 2024

Colocando $value funciona, aguardo seus testes para saber como proceder.

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.