Ajout fonction décalage sur fin de mois
This commit is contained in:
parent
1040ba2f0a
commit
3312604442
@ -95,7 +95,7 @@ $tabsql[8] = "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREF
|
|||||||
$tabsql[9] = "SELECT code, code_iso, label as libelle, active FROM ".MAIN_DB_PREFIX."c_currencies";
|
$tabsql[9] = "SELECT code, code_iso, label as libelle, active FROM ".MAIN_DB_PREFIX."c_currencies";
|
||||||
$tabsql[10]= "SELECT t.rowid, t.taux, p.libelle as pays, t.recuperableonly, t.note, t.active FROM ".MAIN_DB_PREFIX."c_tva as t, llx_c_pays as p WHERE t.fk_pays=p.rowid";
|
$tabsql[10]= "SELECT t.rowid, t.taux, p.libelle as pays, t.recuperableonly, t.note, t.active FROM ".MAIN_DB_PREFIX."c_tva as t, llx_c_pays as p WHERE t.fk_pays=p.rowid";
|
||||||
$tabsql[11]= "SELECT t.rowid as rowid, element, source, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_contact AS t";
|
$tabsql[11]= "SELECT t.rowid as rowid, element, source, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_contact AS t";
|
||||||
$tabsql[12]= "SELECT rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, active FROM ".MAIN_DB_PREFIX."cond_reglement AS c";
|
$tabsql[12]= "SELECT rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM ".MAIN_DB_PREFIX."cond_reglement AS c";
|
||||||
$tabsql[13]= "SELECT id as rowid, code, c.libelle, type, active FROM ".MAIN_DB_PREFIX."c_paiement AS c";
|
$tabsql[13]= "SELECT id as rowid, code, c.libelle, type, active FROM ".MAIN_DB_PREFIX."c_paiement AS c";
|
||||||
|
|
||||||
// Tri par defaut
|
// Tri par defaut
|
||||||
@ -125,7 +125,7 @@ $tabfield[8] = "code,libelle";
|
|||||||
$tabfield[9] = "code,code_iso,libelle";
|
$tabfield[9] = "code,code_iso,libelle";
|
||||||
$tabfield[10]= "pays,taux,recuperableonly,note";
|
$tabfield[10]= "pays,taux,recuperableonly,note";
|
||||||
$tabfield[11]= "element,source,code,libelle";
|
$tabfield[11]= "element,source,code,libelle";
|
||||||
$tabfield[12]= "code,libelle,libelle_facture,nbjour,fdm";
|
$tabfield[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
|
||||||
$tabfield[13]= "code,libelle,type";
|
$tabfield[13]= "code,libelle,type";
|
||||||
|
|
||||||
// Nom des champs dans la table pour insertion d'un enregistrement
|
// Nom des champs dans la table pour insertion d'un enregistrement
|
||||||
@ -140,7 +140,7 @@ $tabfieldinsert[8] = "code,libelle";
|
|||||||
$tabfieldinsert[9] = "code_iso,label";
|
$tabfieldinsert[9] = "code_iso,label";
|
||||||
$tabfieldinsert[10]= "fk_pays,taux,recuperableonly,note";
|
$tabfieldinsert[10]= "fk_pays,taux,recuperableonly,note";
|
||||||
$tabfieldinsert[11]= "element,source,code,libelle";
|
$tabfieldinsert[11]= "element,source,code,libelle";
|
||||||
$tabfieldinsert[12]= "code,libelle,libelle_facture,nbjour,fdm";
|
$tabfieldinsert[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
|
||||||
$tabfieldinsert[13]= "code,libelle,type";
|
$tabfieldinsert[13]= "code,libelle,type";
|
||||||
|
|
||||||
// Nom du rowid si le champ n'est pas de type autoincrément
|
// Nom du rowid si le champ n'est pas de type autoincrément
|
||||||
@ -359,6 +359,7 @@ if ($_GET["id"])
|
|||||||
if ($fieldlist[$field]=='recuperableonly') $valuetoshow=MENTION_NPR;
|
if ($fieldlist[$field]=='recuperableonly') $valuetoshow=MENTION_NPR;
|
||||||
if ($fieldlist[$field]=='nbjour') $valuetoshow=$langs->trans("NbOfDays");
|
if ($fieldlist[$field]=='nbjour') $valuetoshow=$langs->trans("NbOfDays");
|
||||||
if ($fieldlist[$field]=='fdm') $valuetoshow=$langs->trans("AtEndOfMonth");
|
if ($fieldlist[$field]=='fdm') $valuetoshow=$langs->trans("AtEndOfMonth");
|
||||||
|
if ($fieldlist[$field]=='decalage') $valuetoshow=$langs->trans("Offset");
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $valuetoshow;
|
print $valuetoshow;
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -406,7 +407,8 @@ if ($_GET["id"])
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
// La source de l'element (pour les type de contact).'
|
// La source de l'element (pour les type de contact).'
|
||||||
elseif ($fieldlist[$field] == 'source') {
|
elseif ($fieldlist[$field] == 'source')
|
||||||
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$elementList = array("internal"=>$langs->trans("Internal"),
|
$elementList = array("internal"=>$langs->trans("Internal"),
|
||||||
"external"=>$langs->trans("External"));
|
"external"=>$langs->trans("External"));
|
||||||
@ -427,13 +429,16 @@ if ($_GET["id"])
|
|||||||
elseif ($fieldlist[$field] == 'nbjour') {
|
elseif ($fieldlist[$field] == 'nbjour') {
|
||||||
print '<td><input type="text" class="flat" value="" size="3" name="'.$fieldlist[$field].'"></td>';
|
print '<td><input type="text" class="flat" value="" size="3" name="'.$fieldlist[$field].'"></td>';
|
||||||
}
|
}
|
||||||
|
elseif ($fieldlist[$field] == 'decalage') {
|
||||||
|
print '<td><input type="text" class="flat" value="" size="3" name="'.$fieldlist[$field].'"></td>';
|
||||||
|
}
|
||||||
elseif ($fieldlist[$field] == 'fdm') {
|
elseif ($fieldlist[$field] == 'fdm') {
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$html->selectyesno('fdm','',1);
|
$html->selectyesno('fdm','',1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print '<td><input type="text" class="flat" value="" name="'.$fieldlist[$field].'"></td>';
|
print '<td><input type="text" class="flat" value="" name="'.$fieldlist[$field].'" ></td>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print '<td colspan=3><input type="submit" class="button" name="actionadd" value="'.$langs->trans("Add").'"></td>';
|
print '<td colspan=3><input type="submit" class="button" name="actionadd" value="'.$langs->trans("Add").'"></td>';
|
||||||
@ -472,10 +477,11 @@ if ($_GET["id"])
|
|||||||
if ($fieldlist[$field]=='recuperableonly') $valuetoshow=MENTION_NPR;
|
if ($fieldlist[$field]=='recuperableonly') $valuetoshow=MENTION_NPR;
|
||||||
if ($fieldlist[$field]=='nbjour') $valuetoshow=$langs->trans("NbOfDays");
|
if ($fieldlist[$field]=='nbjour') $valuetoshow=$langs->trans("NbOfDays");
|
||||||
if ($fieldlist[$field]=='fdm') $valuetoshow=$langs->trans("AtEndOfMonth");
|
if ($fieldlist[$field]=='fdm') $valuetoshow=$langs->trans("AtEndOfMonth");
|
||||||
|
if ($fieldlist[$field]=='decalage') $valuetoshow=$langs->trans("Offset");
|
||||||
// Affiche nom du champ
|
// Affiche nom du champ
|
||||||
print_liste_field_titre($valuetoshow,"dict.php",$fieldlist[$field],"&id=".$_GET["id"],"","",$sortfield);
|
print_liste_field_titre($valuetoshow,"dict.php",$fieldlist[$field],"&id=".$_GET["id"],"","",$sortfield);
|
||||||
}
|
}
|
||||||
print_liste_field_titre($langs->trans("Activate")."/".$langs->trans("Disable"),"dict.php","active","&id=".$_GET["id"],"","",$sortfield);
|
print_liste_field_titre($langs->trans("Action"),"dict.php","active","&id=".$_GET["id"],"",'align="center"',$sortfield);
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
@ -501,7 +507,7 @@ if ($_GET["id"])
|
|||||||
print '<td>'.$valuetoshow.'</td>';
|
print '<td>'.$valuetoshow.'</td>';
|
||||||
|
|
||||||
}
|
}
|
||||||
print '<td>';
|
print '<td align="center">';
|
||||||
|
|
||||||
// Est-ce une entrée du dictionnaire qui peut etre désactivée ?
|
// Est-ce une entrée du dictionnaire qui peut etre désactivée ?
|
||||||
$iserasable=1; // Oui par defaut
|
$iserasable=1; // Oui par defaut
|
||||||
|
|||||||
@ -567,7 +567,7 @@ class Facture
|
|||||||
{
|
{
|
||||||
if (! $cond_reglement_id)
|
if (! $cond_reglement_id)
|
||||||
$cond_reglement_id=$this->cond_reglement_id;
|
$cond_reglement_id=$this->cond_reglement_id;
|
||||||
$sqltemp = 'SELECT c.fdm,c.nbjour';
|
$sqltemp = 'SELECT c.fdm,c.nbjour,c.decalage';
|
||||||
$sqltemp.= ' FROM '.MAIN_DB_PREFIX.'cond_reglement as c';
|
$sqltemp.= ' FROM '.MAIN_DB_PREFIX.'cond_reglement as c';
|
||||||
$sqltemp.= ' WHERE c.rowid='.$cond_reglement_id;
|
$sqltemp.= ' WHERE c.rowid='.$cond_reglement_id;
|
||||||
$resqltemp=$this->db->query($sqltemp);
|
$resqltemp=$this->db->query($sqltemp);
|
||||||
@ -578,6 +578,7 @@ class Facture
|
|||||||
$obj = $this->db->fetch_object($resqltemp);
|
$obj = $this->db->fetch_object($resqltemp);
|
||||||
$cdr_nbjour = $obj->nbjour;
|
$cdr_nbjour = $obj->nbjour;
|
||||||
$cdr_fdm = $obj->fdm;
|
$cdr_fdm = $obj->fdm;
|
||||||
|
$cdr_decalage = $obj->decalage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -586,15 +587,34 @@ class Facture
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
$this->db->free($resqltemp);
|
$this->db->free($resqltemp);
|
||||||
// Definition de la date limite
|
|
||||||
|
/* Definition de la date limite */
|
||||||
|
|
||||||
|
// 1 : ajout du nombre de jours
|
||||||
$datelim = $this->date + ( $cdr_nbjour * 3600 * 24 );
|
$datelim = $this->date + ( $cdr_nbjour * 3600 * 24 );
|
||||||
|
|
||||||
|
// 2 : application de la règle "fin de mois"
|
||||||
if ($cdr_fdm)
|
if ($cdr_fdm)
|
||||||
{
|
{
|
||||||
$mois=date('m', $datelim);
|
$mois=date('m', $datelim);
|
||||||
$annee=date('Y', $datelim);
|
$annee=date('Y', $datelim);
|
||||||
$fins=array(31,28,31,30,31,30,31,31,30,31,30,31);
|
if ($mois == 12)
|
||||||
$datelim=mktime(12,0,0,$mois,$fins[$mois-1],$annee);
|
{
|
||||||
|
$mois = 1;
|
||||||
|
$annee += 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mois += 1;
|
||||||
|
}
|
||||||
|
// On se déplace au début du mois suivant, et on retire un jour
|
||||||
|
$datelim=mktime(12,0,0,$mois,1,$annee);
|
||||||
|
$datelim -= (3600 * 24);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 3 : application du décalage
|
||||||
|
$datelim += ( $cdr_decalage * 3600 * 24);
|
||||||
|
|
||||||
return $datelim;
|
return $datelim;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -264,6 +264,7 @@ LabelUsedByDefault=Label used by default if no translation can be found for code
|
|||||||
LabelOnDocuments=Label on documents
|
LabelOnDocuments=Label on documents
|
||||||
NbOfDays=Nb of days
|
NbOfDays=Nb of days
|
||||||
AtEndOfMonth=At end of month
|
AtEndOfMonth=At end of month
|
||||||
|
Offset=Offset
|
||||||
AlwaysActive=Always active
|
AlwaysActive=Always active
|
||||||
UpdateRequired=Your system need to be updated. For this click on <a href="%s">Update now</a>.
|
UpdateRequired=Your system need to be updated. For this click on <a href="%s">Update now</a>.
|
||||||
WebServer=Web server
|
WebServer=Web server
|
||||||
|
|||||||
@ -68,3 +68,4 @@ MaxSizeList=Longueur maximum des listes
|
|||||||
TopMenuManager=Gestionnaire du menu du haut
|
TopMenuManager=Gestionnaire du menu du haut
|
||||||
MessageOfDay=Message du jour
|
MessageOfDay=Message du jour
|
||||||
DefaultLanguage=Langue à utiliser par défaut
|
DefaultLanguage=Langue à utiliser par défaut
|
||||||
|
Offset=Décalage
|
||||||
|
|||||||
@ -264,6 +264,7 @@ LabelUsedByDefault=Libell
|
|||||||
LabelOnDocuments=Libellé sur documents
|
LabelOnDocuments=Libellé sur documents
|
||||||
NbOfDays=Nbre de jours
|
NbOfDays=Nbre de jours
|
||||||
AtEndOfMonth=En fin de mois
|
AtEndOfMonth=En fin de mois
|
||||||
|
Offset=Décalage
|
||||||
AlwaysActive=Toujours actif
|
AlwaysActive=Toujours actif
|
||||||
UpdateRequired=Votre système nécessite une mise à jour. Pour cela cliquez sur <a href="%s">Mettre à jour</a>.
|
UpdateRequired=Votre système nécessite une mise à jour. Pour cela cliquez sur <a href="%s">Mettre à jour</a>.
|
||||||
WebServer=Serveur Web
|
WebServer=Serveur Web
|
||||||
|
|||||||
@ -35,6 +35,8 @@ alter table llx_product add gencode varchar(255) DEFAULT NULL;
|
|||||||
|
|
||||||
insert into llx_cond_reglement(rowid, code, sortorder, active, libelle, libelle_facture, fdm, nbjour) values (6,'PROFORMA', 6,1, 'Proforma','Réglement avant livraison',0,0);
|
insert into llx_cond_reglement(rowid, code, sortorder, active, libelle, libelle_facture, fdm, nbjour) values (6,'PROFORMA', 6,1, 'Proforma','Réglement avant livraison',0,0);
|
||||||
|
|
||||||
|
alter table llx_cond_reglement add (decalage smallint(6) default 0);
|
||||||
|
|
||||||
alter table llx_commande add fk_cond_reglement int(11) DEFAULT NULL;
|
alter table llx_commande add fk_cond_reglement int(11) DEFAULT NULL;
|
||||||
alter table llx_commande add fk_mode_reglement int(11) DEFAULT NULL;
|
alter table llx_commande add fk_mode_reglement int(11) DEFAULT NULL;
|
||||||
|
|
||||||
|
|||||||
@ -29,5 +29,6 @@ create table llx_cond_reglement
|
|||||||
libelle varchar(255),
|
libelle varchar(255),
|
||||||
libelle_facture text,
|
libelle_facture text,
|
||||||
fdm tinyint, -- reglement fin de mois
|
fdm tinyint, -- reglement fin de mois
|
||||||
nbjour smallint
|
nbjour smallint,
|
||||||
|
decalage smallint
|
||||||
)type=innodb;
|
)type=innodb;
|
||||||
|
|||||||
@ -33,5 +33,6 @@ create table llx_cond_reglement
|
|||||||
"libelle" varchar(255),
|
"libelle" varchar(255),
|
||||||
"libelle_facture" text,
|
"libelle_facture" text,
|
||||||
"fdm" smallint, -- reglement fin de mois
|
"fdm" smallint, -- reglement fin de mois
|
||||||
"nbjour" smallint
|
"nbjour" smallint,
|
||||||
|
"decalage" smallint
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user