$where["tiers_date_reglement"] = "IS NOT NULL";
    }
    if ($filter->_etat_reglement_tiers == "non_reglee") {
        $where["tiers_date_reglement"] = "IS NULL";
        $where["du_tiers"] = "> 0";
    }
}
// Reglements via les factures de consultation
$where["cloture"] = "IS NOT NULL";
$where["patient_id"] = "IS NOT NULL";
$order = "ouverture, praticien_id";
$facture = new CFactureCabinet();
if ($all_group_money) {
    $listFactures = $facture->loadList($where, $order, null, null, $ljoin);
} else {
    $listFactures = $facture->loadGroupList($where, $order, null, null, $ljoin);
}
$listPlages = array();
CMbObject::massLoadFwdRef($listFactures, "praticien_id");
CMbObject::massLoadFwdRef($listFactures, "patient_id");
CMbObject::massCountBackRefs($listFactures, "reglements");
CMbObject::massCountBackRefs($listFactures, "notes");
foreach ($listFactures as $_facture) {
    /* @var CFactureCabinet $_facture */
    $_facture->loadRefGroup();
    $_facture->loadRefPatient();
    $_facture->loadRefPraticien();
    $_facture->loadRefsConsultation();
    if (count($_facture->_ref_consults)) {
        $_facture->loadRefCoeffFacture();
        $_facture->updateMontants();
示例#2
0
// Récupération des paramètres
$date_min = CValue::getOrSession("_date_min", CMbDT::date());
$date_max = CValue::getOrSession("_date_max", CMbDT::date());
$chir_id = CValue::getOrSession("chir");
$taux_factures = array();
$list_taux = array();
// Filtre sur les praticiens
$listPrat = CConsultation::loadPraticiensCompta($chir_id);
$where = array();
$where["ouverture"] = "BETWEEN '{$date_min}' AND '{$date_max}'";
$where["facture_cabinet.praticien_id"] = CSQLDataSource::prepareIn(array_keys($listPrat));
$facture = new CFactureCabinet();
$list_taux = explode("|", CAppUI::conf("dPcabinet CConsultation default_taux_tva"));
foreach ($list_taux as $taux) {
    $where["taux_tva"] = " = '{$taux}'";
    $factures = $facture->loadGroupList($where, "ouverture, praticien_id");
    $taux_factures[$taux] = $factures;
}
$total_tva = 0;
$nb_factures = 0;
foreach ($taux_factures as $taux => $factures) {
    $nb_factures += count($factures);
    $total = $totalht = $totalttc = $totalst = 0;
    foreach ($factures as $facture) {
        $facture->loadRefPatient();
        $facture->loadRefPraticien();
        $facture->loadRefsObjects();
        $facture->loadRefsReglements();
        $total += $facture->du_tva;
        $totalht += $facture->_montant_avec_remise - $facture->du_tva;
        $totalttc += $facture->_montant_avec_remise;