Não enviei, porque o código está dividido em métodos.
[code]$dt = $ds->fields[‘data’];
$ttdia = 0;
while ((!$ds->EOF) && ($ds->fields[‘data’]==$dt)){
$dtemp = date_format(date_create($ds->fields['data']), 'd/m/Y');
$nrsernf = $ds->fields['nr_fiscal'];
if (!empty($ds->fields['numero_serie'])) {
$nrsernf .= '/' . $ds->fields['numero_serie'];
}
if ($ds->fields['tp_emp'] == 'O') $tpemp = 'Ordinário';
else if ($ds->fields['tp_emp'] == 'E') $tpemp = 'Estimado';
else if ($ds->fields['tp_emp'] == 'G') $tpemp = 'Global';
imprimir_linha([
$ds->fields['nr_liq'] . '<br/>'. $ds->fields['class_orc'],
$dtemp . '<br/>' . $ds->fields['nr_preemp'],
$ds->fields['nr_proc'],
substr(lib_funcoes_remove_acentos($ds->fields['nm_forn']),0,40),
$ds->fields['nr_cpf_gestor'] . '<br/>' . $ds->fields['nr_oc'],
$tpemp . '<br/>' . $ds->fields['nr_liq'],
$ds->fields['valor'] > 0 ? number_format($ds->fields['valor'], 2) : number_format(0,2)
],
$larguras, $alinhamento, false, false, false);
getNotasFiscais($ds);
$idLiq = $ds->fields['id_liq'];
getRetencoes($idLiq);
getPagamentos($idLiq);
$ttdia += $ds->fields['valor'];
[linha]++;
$ds->MoveNext();
}
[/code]
Essa é a primeira parte. A segunda parte está no método getPagamentos:
[code]$larguras = [15, 15, 40, 15, 15]; //100
$alinhamento = [‘left’, ‘left’, ‘left’, ‘left’, ‘right’];
imprimir_linha([‘Pagamento’, ‘Data Emissão’, ‘Credor’, ‘Conta a Débito’, ‘Valor’], $larguras, $alinhamento, false, false, true);
$sqlPg = "
SELECT
b.id_liq,
b.id_bxemp,
b.dt_pg,
b.cd_forn,
f.nm_forn,
b.nr_conta_credor,
b.vl_pg
FROM bxemp b
LEFT JOIN forn f ON f.cd_forn = b.cd_forn
WHERE b.flag_desconto = 0
AND b.id_liq = ‘$idLiq’
";
sc_select(dsPaga, $sqlPg);
var_dump($dsPaga);
if ($dsPaga != FALSE) {
while (!$dsPaga->EOF) {
imprimir_linha([
$dsPaga->fields['id_bxemp'],
sc_date_conv($dsPaga->fields['dt_pg'], "aaaa-mm-dd", "dd/mm/aaaa"),
$dsPaga->fields['nm_forn'],
$dsPaga->fields['nr_conta_credor'],
$dsPaga->fields['vl_pg'] > 0 ? number_format($dsPaga->fields['vl_pg'], 2) : number_format(0,2)
],
$larguras, $alinhamento, false, false, false);
$dsPaga->MoveNext();
}
$dsPaga->Close();
} [/code]