[RESOLVIDO] Report PDF - Sub-Select com LEFT OUTER JOIN

Olá,

SC: 8.1.066
SO: Linux - Debian 64 bits

Existe a possibilidade na app Report PDF, ao criar um novo campo para Sub-Select utilizando junção ?

SELECT
pdi.pitqtdped,
pdi.pitvlrtot,
pdi.prdcod,
prd.prddes
FROM
web_gerencia.tbl_cgpdi pdi LEFT OUTER JOIN web_gerencia.tbl_cgprd prd USING ( pedcod )
WHERE
pdi.loccod = [nEMPCOD] AND pdi.pedcod = [nPEDCOD]

Após salvar o Subselect o SC adiciona o nome da tabela ao campo, porém nos campos da tabela “secundária” ele adiciona: “pdi.prd.prddes”.
Existe alguma outra maneira de fazer isto no SC, ou realmente o SC para o subselect não permite fazer junções ?

Grato,

coloque alias.

Grato pela pronta resposta e ajuda Haroldo,
Vou testar e retorno resultado

Olá,

Utilizei o subselect:

SELECT
cgpdi.pitqtdped AS pitqtdped,
cgpdi.pdiuni AS pdiuni,
cgpdi.pitvlrvta AS pitvlrvta,
cgpdi.pitvlrtot AS pitvlrtot,
cgpdi.prdcod AS prdcod,
cgpdi.gdeseq AS gdeseq,
cgprd.prddescpl AS prddescpl
FROM
web_gerencia.tbl_cgpdi cgpdi LEFT OUTER JOIN web_gerencia.tbl_cgprd cgprd USING ( loccod, prdcod )
WHERE
cgpdi.loccod = [nEMPCOD] AND cgpdi.pedcod = [nPEDCOD_d_COM]

  • Ao salvar não ocorre nenhum erro
  • Todos os campos do subselect ficaram todos com tbl_cgpdi.nome_do_campo
  • Ao gerar o código-fonte da app ocorre o erro:

2 = Invalid argument supplied for foreach()
/opt/NetMake/v81/wwwroot/scriptcase/devel/lib/php/database.inc.php 1852
2 = Invalid argument supplied for foreach()
/opt/NetMake/v81/wwwroot/scriptcase/devel/lib/php/database.inc.php 1852
2 = Invalid argument supplied for foreach()
/opt/NetMake/v81/wwwroot/scriptcase/devel/lib/php/database.inc.php 1852
2 = Invalid argument supplied for foreach()
/opt/NetMake/v81/wwwroot/scriptcase/devel/lib/php/database.inc.php 1852
2 = Invalid argument supplied for foreach()
/opt/NetMake/v81/wwwroot/scriptcase/devel/lib/php/database.inc.php 1852
2 = Invalid argument supplied for foreach()
/opt/NetMake/v81/wwwroot/scriptcase/devel/lib/php/database.inc.php 1852
2 = Invalid argument supplied for foreach()
/opt/NetMake/v81/wwwroot/scriptcase/devel/lib/php/database.inc.php 1852

Abaixo a parte do código fonte gerado pelo SC do subselect:
sc_pdf_set_y(65);
foreach ({tbl_cgpdi} as $NM_ind => $Dados)
{
sc_pdf_print_sub_sel($cell_tbl_cgpdi_pitqtdped[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_pdiuni[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_pitvlrvta[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_pitvlrtot[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_prdcod[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_gdeseq[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_prddescpl[$NM_ind]);
sc_pdf_sub_sel_end(4);
}

Abaixo alteração que fiz na parte do código fonte gerado pelo SC do subselect:
foreach ({tbl_cgpdi} as $NM_ind => $Dados)
{
sc_pdf_set_y(65);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_pitqtdped[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_pdiuni[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_pitvlrvta[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_pitvlrtot[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_prdcod[$NM_ind]);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_gdeseq[$NM_ind]);
sc_pdf_set_y(69);
sc_pdf_print_sub_sel($cell_tbl_cgpdi_prddescpl[$NM_ind]);
sc_pdf_sub_sel_end(4);
}

Mesmo com esta alteração o erro ao gerar o código-fonte ocorreu, mas o código foi gerado e funcionou.
Qual o motivo que aparece o erro na geração do código-fonte se o mesmo está sendo gerado e funciona ?

Att,