}
 $recebimentosDollar = $p->recuperaValorTodosAbatimentos($oMoeda->DOLLAR());
 $recebimentosReal = $p->recuperaValorTodosAbatimentos($oMoeda->REAL());
 //alimenta a primeira linha do relatorio
 $tpl->CAMBIO_CUSTO = $oMoeda->money($oGrupo->cotacaoCusto, "atb");
 $tpl->CUSTO_DOLLAR = $oMoeda->money($custoDollar, "atb");
 $tpl->CUSTO_REAL = $oMoeda->money($custoReal, "atb");
 $tpl->RECEBIMENTOS_DOLLAR = $oMoeda->money($recebimentosDollar, "atb");
 $tpl->RECEBIMENTOS_REAL = $oMoeda->money($recebimentosReal, "atb");
 //SOMATORIOS DE VALORES
 $TOTAL_RECEBIMENTO_DOLLAR += $recebimentosDollar;
 $TOTAL_RECEBIMENTO_REAL += $recebimentosReal;
 $TOTAL_CUSTO_DOLLAR += $custoDollar;
 $TOTAL_CUSTO_REAL += $custoReal;
 //busca os pagamentos ativos do participante
 $rsAbat = $oAbatimento->getRows(0, 999, array(), array("participante" => "=" . $p->id));
 foreach ($rsAbat as $keyAbat => $abat) {
     $pag = $abat->pagamento;
     $tipoPag = $pag->tipo->descricao;
     //somatorios dos valores
     switch ($pag->tipo->id) {
         case $oTP->DINHEIRO():
             $TOTAL_ESPECIE += $abat->getValorReal();
             break;
         case $oTP->CARTAO():
             $TOTAL_CARTAO += $abat->getValorReal();
             break;
         case $oTP->CHEQUE():
             $TOTAL_CHEQUE += $abat->getValorReal();
             break;
         case $oTP->CREDITO():
    $tpl->block("BLOCK_GRUPO_DOLLAR_HEAD");
}
//recupera participantes aprovados
$opartic = new Participante();
$rs = $opartic->getRows(0, 999, array("id" => "asc"), array("grupo" => "=" . $ogrupo->id, "status" => "in(" . $opartic->STATUS_PENDENTE() . "," . $opartic->STATUS_APROVADO() . ")"));
$cont = 1;
$totalGeralPagoReal = 0;
$totalGeralPagoDollar = 0;
$totalGeralPendente = 0;
foreach ($rs as $key => $p) {
    $totalDollar = 0;
    $totalReal = 0;
    $tpl->ID = $cont;
    $tpl->NOME_PARTICIPANTE = $p->cliente->nomeCompleto;
    $tpl->STATUS = $p->status->descricao;
    $rsabats = $oAbat->getRows(0, 999, array(), array("participante" => "=" . $p->id));
    foreach ($rsabats as $keyA => $abat) {
        $totalDollar += $abat->getValorDollar();
        $totalReal += $abat->getValorReal();
    }
    $tpl->VALOR_PAGO_REAL = $om->money($totalReal, "atb");
    $tpl->VALOR_PAGO_DOLLAR = $om->money($totalDollar, "atb");
    $totalGeralPagoReal += $totalReal;
    $totalGeralPagoDollar += $totalDollar;
    if ($ogrupo->moeda->id == $om->DOLLAR()) {
        $tpl->VALOR_PENDENTE = $om->money($p->valorTotal - $totalDollar, "atb");
        $totalGeralPendente += $p->valorTotal - $totalDollar;
        $tpl->block("BLOCK_GRUPO_DOLLAR");
    } else {
        $tpl->VALOR_PENDENTE = $om->money($p->valorTotal - $totalReal, "atb");
        $totalGeralPendente += $p->valorTotal - $totalReal;
 function recuperaValorTodosAbatimentos($idMoeda)
 {
     $oPagamento = new Pagamento();
     $oAbatimento = new Abatimento();
     $om = new Moeda();
     $total = 0;
     $rs = $oAbatimento->getRows(0, 999, array(), array("participante" => "=" . $this->id));
     foreach ($rs as $key => $abat) {
         if ($idMoeda == $om->DOLLAR()) {
             $total += $abat->getValorDollar();
         } else {
             $total += $abat->getValorReal();
         }
     }
     return $total;
 }