Facture mass validation: sort by date to avoid conflicts

This commit is contained in:
Thomas Negre 2022-03-02 10:16:48 +01:00
parent 7c866ce6a2
commit 288663be36

View File

@ -1209,6 +1209,26 @@ if (!$error && $massaction == 'validate' && $permissiontoadd) {
setEventMessages($langs->trans('ErrorMassValidationNotAllowedWhenStockIncreaseOnAction'), null, 'errors');
$error++;
}
if ($objecttmp->element == 'facture') {
if (!empty($toselect) && !empty($conf->global->INVOICE_CHECK_POSTERIOR_DATE)) {
// order $toselect by date
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'facture';
$sql .= ' WHERE rowid IN ('.$db->escape(implode(', ', $toselect)).')';
$sql .= ' ORDER BY datef';
$resql = $db->query($sql);
if ($resql) {
$toselectnew = [];
while ( !empty($arr = $db->fetch_row($resql))) {
$toselectnew[] = $arr[0];
}
$toselect = (empty($toselectnew)) ? $toselect : $toselectnew;
} else {
dol_print_error($db);
$error++;
}
}
}
if (!$error) {
$db->begin();