Lançado Adianti Framework 7.6!
Clique aqui para saber mais
enableSection (replace seção em html) Boa tarde galera! Segui esse exemplo: https://www.adianti.com.br/framework_files/tutor/index.php?class=DocumentHtmlPdfView para gerar uma "certidão" dos contribuintes do município onde trabalho. A princípio esta tudo certo, mas fiz uma "gambia" para fazê-la funcionar. Como pode variar a quantidade de contribuintes e de cnaes de cada empresa, o array que é passado deve variar.....
MA
enableSection (replace seção em html)  
Boa tarde galera!

Segui esse exemplo:
https://www.adianti.com.br/framework_files/tutor/index.php?class=DocumentHtmlPdf

para gerar uma "certidão" dos contribuintes do município onde trabalho.



A princípio esta tudo certo, mas fiz uma "gambia" para fazê-la funcionar.
Como pode variar a quantidade de contribuintes e de cnaes de cada empresa, o array que é passado deve variar... e estou (devo estar) comendo bola para informar esse array.


Saca só.
Para mostrar os cnaes (sente só o naipe da gambia:)
  1. <?php
  2. //ARRAY OF CNAES
  3.               switch ($contcnaes)
  4.               {
  5.                   case 1:
  6.                   $replace['cnaes'] = [ ['listacnae' => [ [ 'informacao'  => $object[0]->informacao ]]]];
  7.                   break;
  8.                   case 2:
  9.                   $replace['cnaes'] = [ ['listacnae' => [ [ 'informacao'  => $object[0]->informacao ],
  10.                                                           [ 'informacao'  => $object[1]->informacao ] ] ] ];
  11.                   break;
  12.                   case 3:
  13.                   $replace['cnaes'] = [ ['listacnae' => [ [ 'informacao'  => $object[0]->informacao ],
  14.                                                           [ 'informacao'  => $object[1]->informacao ],
  15.                                                           [ 'informacao'  => $object[2]->informacao ] ] ] ];
  16.                   break;
  17.                   case 4:
  18.                   $replace['cnaes'] = [ ['listacnae' => [ [ 'informacao'  => $object[0]->informacao ],
  19.                                                           [ 'informacao'  => $object[1]->informacao ],
  20.                                                           [ 'informacao'  => $object[2]->informacao ],
  21.                                                           [ 'informacao'  => $object[3]->informacao ] ] ] ];
  22.                   break;
  23.                   case 5:
  24.                   $replace['cnaes'] = [ ['listacnae' => [ [ 'informacao'  => $object[0]->informacao ],
  25.                                                           [ 'informacao'  => $object[1]->informacao ],
  26.                                                           [ 'informacao'  => $object[2]->informacao ],
  27.                                                           [ 'informacao'  => $object[3]->informacao ],
  28.                                                           [ 'informacao'  => $object[4]->informacao ] ] ] ];
  29.                   break;
  30.                   case 6:
  31.                   $replace['cnaes'] = [ ['listacnae' => [ [ 'informacao'  => $object[0]->informacao ],
  32.                                                           [ 'informacao'  => $object[1]->informacao ],
  33.                                                           [ 'informacao'  => $object[2]->informacao ],
  34.                                                           [ 'informacao'  => $object[3]->informacao ],
  35.                                                           [ 'informacao'  => $object[4]->informacao ],
  36.                                                           [ 'informacao'  => $object[5]->informacao ] ] ] ];
  37.                   break;
  38.               }
  39. ?>



no html esta assim
<!--[cnaes]--> <table class="certidaofile" style="width:100%"> <tbody class="formdata"> <tr> <td class="activityheader">Lista de Atividades:</td> </tr> <!--[listacnae]--> <tr> <td class="activitylist">{$informacao}</td> </tr> <!--[/listacnae]--> <tr> <td class="secondheader">Obs: Esta certidão não substitui o alvará de funcionamento</td> </tr> <tr> </tr> </tbody> </table> <!--[/cnaes]-->



mas... da forma que fiz só vai mostrar um máximo de 6 cnaes....
queria fazer de uma forma que o sistema criasse e alimentasse o array de acordo com a quantidade passada (em um "for", por exemplo)
mas to me batendo nisso e não ta saindo....


Alguem teria uma "luz"?
Grato!

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (5)


MC

boas,
comentário rápido pq estou no transito....kkkk

Use um FOR ou um FOREACH e dentro deste laço coloque tantos quantos existirem o CNAE

Abraços
MA

tentei algo assim:


  1. <?php
  2. for( $i 0$i <= $contsocios$i++ )
  3.                 {
  4.                     $replace['socios'] = [ ['details' => [ [ 'nomesocio'  => $socio[$i]->nome,
  5.                                                                          'percentual' => $socio[$i]->percentual  ] ] ] ];
  6.                 }
  7. ?>


mas não funfou.
tentei ja também com o array_push()
MA

Perdão, passei a outra parte do código (que também preciso desta solução, haha


  1. <?php
  2. for( $i 0$i <= $contcnaes$i++ )
  3.                 {
  4.                                     $replace['cnaes'] = [ ['listacnae' => [ [ 'informacao'  => $object[$i]->informacao ]]]];
  5.                 }
  6. ?>
MA

Perdão, passei a outra parte do código (que também preciso desta solução, haha


  1. <?php
  2. for( $i 0$i <= $contcnaes$i++ )
  3.                 {
  4.                                     $replace['cnaes'] = [ ['listacnae' => [ [ 'informacao'  => $object[$i]->informacao ]]]];
  5.                 }
  6. ?>
MC

Marcos, chara.... boas

Você não esta pensando como array.

O seu código eh uma array multidimensional e você só precisa acrescentar a ultima parte (da direita para esquerda), ou seja ficaria algo assim...
se tiver errado o processo, e este caminho que vc tem que tomar, inclusive para os seus outros problemas.

Caso os outros campos também mudem a informação, ai seria um laço dentro de outro laço, tantas as vezes que mudar a dimensão da array.


  1. <?php
  2. for( $i 0$i <= $contcnaes$i++ )
  3.                 {
  4.                        $object[$i]->informacao;
  5.                 }
  6. ?>


depois

$replace['cnaes'] = [ ['listacnae' => [ [ 'informacao' => $object ]]]];



No exemplo abaixo, tem um laço dentro de outros laços para gerar o gráfico, talvez a logica te ajude.

https://www.adianti.com.br/forum/pt/view_3387?graficos-do-adianti-framework


Estou numa viagem, desculpe não lhe responder melhor.

Abraços;