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!

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework 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;