New: Can choose warehouse for stock change on supplier approbation or

supplier invoice validation
This commit is contained in:
Laurent Destailleur 2011-11-09 22:10:58 +01:00
parent 8745ef572d
commit 10961fb2c9
32 changed files with 370 additions and 269 deletions

View File

@ -129,10 +129,10 @@ class Facture extends CommonObject
* Create invoice in database * Create invoice in database
* Note: this->ref can be set or empty. If empty, we will use "(PROV)" * Note: this->ref can be set or empty. If empty, we will use "(PROV)"
* *
* @param user Object user that create * @param User $user Object user that create
* @param notrigger 1=Does not execute triggers, 0 otherwise * @param int $notrigger 1=Does not execute triggers, 0 otherwise
* @param forceduedate 1=Do not recalculate due date from payment condition but force it with value * @param int $forceduedate 1=Do not recalculate due date from payment condition but force it with value
* @return int <0 if KO, >0 if OK * @return int <0 if KO, >0 if OK
*/ */
function create($user,$notrigger=0,$forceduedate=0) function create($user,$notrigger=0,$forceduedate=0)
{ {
@ -1491,14 +1491,14 @@ class Facture extends CommonObject
// Protection // Protection
if (! $this->brouillon) if (! $this->brouillon)
{ {
dol_syslog("Facture::validate no draft status", LOG_WARNING); dol_syslog(get_class($this)."::validate no draft status", LOG_WARNING);
return 0; return 0;
} }
if (! $user->rights->facture->valider) if (! $user->rights->facture->valider)
{ {
$this->error='Permission denied'; $this->error='Permission denied';
dol_syslog("Facture::validate ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::validate ".$this->error, LOG_ERR);
return -1; return -1;
} }
@ -1581,11 +1581,11 @@ class Facture extends CommonObject
} }
$sql.= ' WHERE rowid = '.$this->id; $sql.= ' WHERE rowid = '.$this->id;
dol_syslog("Facture::validate sql=".$sql); dol_syslog(get_class($this)."::validate sql=".$sql);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if (! $resql) if (! $resql)
{ {
dol_syslog("Facture::validate Echec update - 10 - sql=".$sql, LOG_ERR); dol_syslog(get_class($this)."::validate Echec update - 10 - sql=".$sql, LOG_ERR);
dol_print_error($this->db); dol_print_error($this->db);
$error++; $error++;
} }
@ -1637,7 +1637,7 @@ class Facture extends CommonObject
$dirdest = $conf->facture->dir_output.'/'.$snumfa; $dirdest = $conf->facture->dir_output.'/'.$snumfa;
if (file_exists($dirsource)) if (file_exists($dirsource))
{ {
dol_syslog("Facture::validate rename dir ".$dirsource." into ".$dirdest); dol_syslog(get_class($this)."::validate rename dir ".$dirsource." into ".$dirdest);
if (@rename($dirsource, $dirdest)) if (@rename($dirsource, $dirdest))
{ {
@ -1689,11 +1689,13 @@ class Facture extends CommonObject
} }
/** /**
* \brief Set draft status * Set draft status
* \param user Object user that modify *
* \param int <0 if KO, >0 if OK * @param User $user Object user that modify
* @param int $idwarehouse Id warehouse to use for stock change
* @return int <0 if KO, >0 if OK
*/ */
function set_draft($user) function set_draft($user,$idwarehouse=0)
{ {
global $conf,$langs; global $conf,$langs;
@ -1701,7 +1703,7 @@ class Facture extends CommonObject
if ($this->statut == 0) if ($this->statut == 0)
{ {
dol_syslog("Facture::set_draft already draft status", LOG_WARNING); dol_syslog(get_class($this)."::set_draft already draft status", LOG_WARNING);
return 0; return 0;
} }
@ -1711,7 +1713,7 @@ class Facture extends CommonObject
$sql.= " SET fk_statut = 0"; $sql.= " SET fk_statut = 0";
$sql.= " WHERE rowid = ".$this->id; $sql.= " WHERE rowid = ".$this->id;
dol_syslog("Facture::set_draft sql=".$sql, LOG_DEBUG); dol_syslog(get_class($this)."::set_draft sql=".$sql, LOG_DEBUG);
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
// Si on decremente le produit principal et ses composants a la validation de facture, on réincrement // Si on decremente le produit principal et ses composants a la validation de facture, on réincrement

View File

@ -25,6 +25,7 @@
/** /**
* Get value of an HTML field, do Ajax process and show result * Get value of an HTML field, do Ajax process and show result
*
* @param selected Preselecte value * @param selected Preselecte value
* @param htmlname HTML name of input field * @param htmlname HTML name of input field
* @param url Url for request: /chemin/fichier.php * @param url Url for request: /chemin/fichier.php

View File

@ -94,9 +94,10 @@ class CommandeFournisseur extends Commande
/** /**
* Get object and lines from database * Get object and lines from database
* @param id Id of order to load *
* @param ref Ref of object * @param int $id Id of order to load
* @return int >0 if OK, <0 if KO * @param string $ref Ref of object
* @return int >0 if OK, <0 if KO
*/ */
function fetch($id,$ref='') function fetch($id,$ref='')
{ {
@ -267,7 +268,9 @@ class CommandeFournisseur extends Commande
/** /**
* Validate an order * Validate an order
* @param user Utilisateur qui valide *
* @param User $user Utilisateur qui valide
* @return int <0 if KO, >0 if OK
*/ */
function valid($user) function valid($user)
{ {
@ -614,16 +617,17 @@ class CommandeFournisseur extends Commande
/** /**
* Accept an order * Accept an order
* *
* @param user Object user * @param User $user Object user
* @return int <0 if KO, >0 if OK * @param int $idwarehouse Id of warhouse for stock change
* @return int <0 if KO, >0 if OK
*/ */
function approve($user) function approve($user, $idwarehouse=0)
{ {
global $langs,$conf; global $langs,$conf;
$error=0; $error=0;
dol_syslog("CommandeFournisseur::Approve"); dol_syslog(get_class($this)."::Approve");
if ($user->rights->fournisseur->commande->approuver) if ($user->rights->fournisseur->commande->approuver)
{ {
@ -634,13 +638,13 @@ class CommandeFournisseur extends Commande
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
$result = 0;
$this->log($user, 2, time()); // Statut 2 $this->log($user, 2, time()); // Statut 2
// If stock is incremented on validate order, we must increment it // If stock is incremented on validate order, we must increment it
if ($result >= 0 && $conf->stock->enabled && $conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) if (! $error && $conf->stock->enabled && $conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER)
{ {
require_once(DOL_DOCUMENT_ROOT."/product/stock/class/mouvementstock.class.php"); require_once(DOL_DOCUMENT_ROOT."/product/stock/class/mouvementstock.class.php");
$langs->load("agenda");
$cpt=count($this->lines); $cpt=count($this->lines);
for ($i = 0; $i < $cpt; $i++) for ($i = 0; $i < $cpt; $i++)
@ -650,14 +654,13 @@ class CommandeFournisseur extends Commande
{ {
$mouvP = new MouvementStock($this->db); $mouvP = new MouvementStock($this->db);
// We decrement stock of product (and sub-products) // We decrement stock of product (and sub-products)
$entrepot_id = "1"; // TODO ajouter possibilite de choisir l'entrepot $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("OrderApprovedInDolibarr",$this->ref));
$result=$mouvP->reception($user, $this->lines[$i]->fk_product, $entrepot_id, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("OrderApprovedInDolibarr",$this->ref));
if ($result < 0) { $error++; } if ($result < 0) { $error++; }
} }
} }
} }
if ($error == 0) if (! $error)
{ {
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
@ -667,7 +670,7 @@ class CommandeFournisseur extends Commande
// Fin appel triggers // Fin appel triggers
} }
if ($error == 0) if (! $error)
{ {
$this->db->commit(); $this->db->commit();
return 1; return 1;
@ -1153,7 +1156,8 @@ class CommandeFournisseur extends Commande
/** /**
* Delete line * Delete line
* @param idligne *
* @param int $idligne Id of line to delete
*/ */
function deleteline($idligne) function deleteline($idligne)
{ {
@ -1162,7 +1166,7 @@ class CommandeFournisseur extends Commande
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid = ".$idligne; $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid = ".$idligne;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
dol_syslog("Fournisseur.commande.class::deleteline sql=".$sql); dol_syslog(get_class($this)."::deleteline sql=".$sql);
if ($resql) if ($resql)
{ {
$result=$this->update_price(); $result=$this->update_price();
@ -1181,8 +1185,9 @@ class CommandeFournisseur extends Commande
} }
/** /**
* Delete an order * Delete an order
* @return int <0 if KO, >0 if OK *
* @return int <0 if KO, >0 if OK
*/ */
function delete() function delete()
{ {

View File

@ -735,11 +735,13 @@ class FactureFournisseur extends Facture
/** /**
* Tag invoice as validated + call trigger BILL_VALIDATE * Tag invoice as validated + call trigger BILL_VALIDATE
* @param user Object user that validate *
* @param force_number Reference to force on invoice * @param User $user Object user that validate
* @return int <0 if KO, =0 if nothing to do, >0 if OK * @param string $force_number Reference to force on invoice
* @param int $idwarehouse Id of warehouse for stock change
* @return int <0 if KO, =0 if nothing to do, >0 if OK
*/ */
function validate($user, $force_number='') function validate($user, $force_number='', $idwarehouse=0)
{ {
global $conf,$langs; global $conf,$langs;
@ -748,7 +750,7 @@ class FactureFournisseur extends Facture
// Protection // Protection
if ($this->statut > 0) // This is to avoid to validate twice (avoid errors on logs and stock management) if ($this->statut > 0) // This is to avoid to validate twice (avoid errors on logs and stock management)
{ {
dol_syslog("FactureFournisseur::validate no draft status", LOG_WARNING); dol_syslog(get_class($this)."::validate no draft status", LOG_WARNING);
return 0; return 0;
} }
@ -779,12 +781,12 @@ class FactureFournisseur extends Facture
$sql.= " SET fk_statut = 1, fk_user_valid = ".$user->id; $sql.= " SET fk_statut = 1, fk_user_valid = ".$user->id;
$sql.= " WHERE rowid = ".$this->id; $sql.= " WHERE rowid = ".$this->id;
dol_syslog("FactureFournisseur::validate sql=".$sql); dol_syslog(get_class($this)."::validate sql=".$sql);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if ($resql) if ($resql)
{ {
// Si on incrémente le produit principal et ses composants à la validation de facture fournisseur // Si on incrémente le produit principal et ses composants à la validation de facture fournisseur
if ($conf->stock->enabled && $conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) if (! $error && $conf->stock->enabled && $conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL)
{ {
require_once(DOL_DOCUMENT_ROOT."/product/stock/class/mouvementstock.class.php"); require_once(DOL_DOCUMENT_ROOT."/product/stock/class/mouvementstock.class.php");
$langs->load("agenda"); $langs->load("agenda");
@ -796,14 +798,13 @@ class FactureFournisseur extends Facture
{ {
$mouvP = new MouvementStock($this->db); $mouvP = new MouvementStock($this->db);
// We increase stock for product // We increase stock for product
$entrepot_id = "1"; // TODO ajouter possibilite de choisir l'entrepot $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->pu_ht, $langs->trans("InvoiceValidatedInDolibarr",$num));
$result=$mouvP->reception($user, $this->lines[$i]->fk_product, $entrepot_id, $this->lines[$i]->qty, $this->lines[$i]->pu_ht, $langs->trans("InvoiceValidatedInDolibarr",$num));
if ($result < 0) { $error++; } if ($result < 0) { $error++; }
} }
} }
} }
if ($error == 0) if (! $error)
{ {
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
@ -813,7 +814,7 @@ class FactureFournisseur extends Facture
// Fin appel triggers // Fin appel triggers
} }
if ($error == 0) if (! $error)
{ {
$this->db->commit(); $this->db->commit();
return 1; return 1;

View File

@ -274,17 +274,17 @@ if ($action == 'updateligne' && $user->rights->fournisseur->commande->creer && $
$localtax2_tx=get_localtax($_POST['tva_tx'],2,$societe); $localtax2_tx=get_localtax($_POST['tva_tx'],2,$societe);
$result = $object->updateline( $result = $object->updateline(
$_POST['elrowid'], $_POST['elrowid'],
$_POST['eldesc'], $_POST['eldesc'],
$_POST['pu'], $_POST['pu'],
$_POST['qty'], $_POST['qty'],
$_POST['remise_percent'], $_POST['remise_percent'],
$_POST['tva_tx'], $_POST['tva_tx'],
$localtax1_tx, $localtax1_tx,
$localtax2_tx, $localtax2_tx,
'HT', 'HT',
0, 0,
isset($_POST["type"])?$_POST["type"]:$product->type isset($_POST["type"])?$_POST["type"]:$product->type
); );
if ($result >= 0) if ($result >= 0)
@ -304,13 +304,13 @@ if ($action == 'updateligne' && $user->rights->fournisseur->commande->creer && $
} }
} }
if ($action == 'confirm_deleteproductline' && $confirm == 'yes') if ($action == 'confirm_deleteproductline' && $confirm == 'yes' && $user->rights->fournisseur->commande->creer)
{ {
if ($user->rights->fournisseur->commande->creer) $object->fetch($id);
{
$object->fetch($id);
$result = $object->deleteline($_GET['lineid']);
$result = $object->deleteline(GETPOST('lineid'));
if ($result >= 0)
{
$outputlangs = $langs; $outputlangs = $langs;
if (! empty($_REQUEST['lang_id'])) if (! empty($_REQUEST['lang_id']))
{ {
@ -319,6 +319,17 @@ if ($action == 'confirm_deleteproductline' && $confirm == 'yes')
} }
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) supplier_order_pdf_create($db, $object, $object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref')); if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) supplier_order_pdf_create($db, $object, $object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref'));
} }
else
{
$error++;
$mesg=$object->error;
}
if (! $error)
{
Header("Location: fiche.php?id=".$id);
exit;
}
} }
if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fournisseur->commande->valider) if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fournisseur->commande->valider)
@ -342,8 +353,8 @@ if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fournisseu
$mesg=$object->error; $mesg=$object->error;
} }
// If we have permission, we go directly on approved step // If we have permission, and if we don't need to provide th idwarehouse, we go directly on approved step
if ($user->rights->fournisseur->commande->approuver) if ($user->rights->fournisseur->commande->approuver && ! (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $object->hasProductsOrServices(1)))
{ {
$action='confirm_approve'; $action='confirm_approve';
} }
@ -351,16 +362,34 @@ if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fournisseu
if ($action == 'confirm_approve' && $confirm == 'yes' && $user->rights->fournisseur->commande->approuver) if ($action == 'confirm_approve' && $confirm == 'yes' && $user->rights->fournisseur->commande->approuver)
{ {
$idwarehouse=GETPOST('idwarehouse');
$object->fetch($id); $object->fetch($id);
$result = $object->approve($user); $object->fetch_thirdparty();
if ($result > 0)
// Check parameters
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $object->hasProductsOrServices(1))
{ {
Header("Location: fiche.php?id=".$id); if (! $idwarehouse || $idwarehouse == -1)
exit; {
$error++;
$errors[]=$langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("Warehouse"));
$action='';
}
} }
else
if (! $error)
{ {
$mesg=$object->error; $result = $object->approve($user, $idwarehouse);
if ($result > 0)
{
Header("Location: fiche.php?id=".$id);
exit;
}
else
{
$mesg=$object->error;
}
} }
} }
@ -832,7 +861,20 @@ if ($id > 0 || ! empty($ref))
*/ */
if ($action == 'approve') if ($action == 'approve')
{ {
$ret=$form->form_confirm("fiche.php?id=$object->id",$langs->trans("ApproveThisOrder"),$langs->trans("ConfirmApproveThisOrder",$object->ref),"confirm_approve", '', 1, 1); $formquestion=array();
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $object->hasProductsOrServices(1))
{
$langs->load("stocks");
require_once(DOL_DOCUMENT_ROOT."/product/class/html.formproduct.class.php");
$formproduct=new FormProduct($db);
$formquestion=array(
//'text' => $langs->trans("ConfirmClone"),
//array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1),
//array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1),
array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockDecrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'),'idwarehouse','',1)));
}
$ret=$form->form_confirm("fiche.php?id=".$object->id,$langs->trans("ApproveThisOrder"),$langs->trans("ConfirmApproveThisOrder",$object->ref),"confirm_approve", $formquestion, 1, 1, 240);
if ($ret == 'html') print '<br>'; if ($ret == 'html') print '<br>';
} }
/* /*
@ -1023,10 +1065,10 @@ if ($id > 0 || ! empty($ref))
print '<tr><td>'.$langs->trans("AmountTTC").'</td><td align="right">'.price($object->total_ttc).'</td>'; print '<tr><td>'.$langs->trans("AmountTTC").'</td><td align="right">'.price($object->total_ttc).'</td>';
print '<td>'.$langs->trans("Currency".$conf->monnaie).'</td></tr>'; print '<td>'.$langs->trans("Currency".$conf->monnaie).'</td></tr>';
print "</table>"; print "</table><br>";
if ($mesg) print $mesg; dol_htmloutput_mesg($mesg);
else print '<br>'; dol_htmloutput_errors('',$errors);
/* /*
* Lines * Lines
@ -1264,6 +1306,7 @@ if ($id > 0 || ! empty($ref))
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'>'; print '<tr '.$bc[$var].'>';
print '<td colspan="3">'; print '<td colspan="3">';
$form->select_produits_fournisseurs($object->fourn_id,'','idprodfournprice','',$filtre); $form->select_produits_fournisseurs($object->fourn_id,'','idprodfournprice','',$filtre);
if (! $conf->global->PRODUIT_USE_SEARCH_TO_SELECT) print '<br>'; if (! $conf->global->PRODUIT_USE_SEARCH_TO_SELECT) print '<br>';

View File

@ -1,30 +1,30 @@
<?php <?php
/* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr> * Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.fr> * Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.fr>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** /**
* \file htdocs/fourn/facture/fiche.php * \file htdocs/fourn/facture/fiche.php
* \ingroup facture, fournisseur * \ingroup facture, fournisseur
* \brief Page for supplier invoice card (view, edit, validate) * \brief Page for supplier invoice card (view, edit, validate)
*/ */
require("../../main.inc.php"); require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php");
@ -56,7 +56,7 @@ $object=new FactureFournisseur($db);
/* /*
* Actions * Actions
*/ */
// Action clone object // Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes') if ($action == 'confirm_clone' && $confirm == 'yes')
@ -84,32 +84,48 @@ if ($action == 'confirm_clone' && $confirm == 'yes')
if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fournisseur->facture->valider) if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fournisseur->facture->valider)
{ {
$object->fetch($id); $idwarehouse=GETPOST('idwarehouse');
$result = $object->validate($user);
if ($result < 0)
{
$mesg='<div class="error">'.$object->error.'</div>';
}
}
if ($action == 'confirm_delete' && $confirm == 'yes') $object->fetch($id);
{ $object->fetch_thirdparty();
if ($user->rights->fournisseur->facture->supprimer )
// Check parameters
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) && $object->hasProductsOrServices(1))
{ {
$object->fetch($id); $langs->load("stocks");
$result=$object->delete($id); if (! $idwarehouse || $idwarehouse == -1)
if ($result > 0)
{ {
Header('Location: index.php'); $error++;
exit; $errors[]=$langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("Warehouse"));
$action='';
} }
else }
if (! $error)
{
$result = $object->validate($user,'',$idwarehouse);
if ($result < 0)
{ {
$mesg='<div class="error">'.$object->error.'</div>'; $mesg='<div class="error">'.$object->error.'</div>';
} }
} }
} }
if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->fournisseur->facture->supprimer)
{
$object->fetch($id);
$result=$object->delete($id);
if ($result > 0)
{
Header('Location: index.php');
exit;
}
else
{
$mesg='<div class="error">'.$object->error.'</div>';
}
}
if ($action == 'confirm_deleteproductline' && $confirm == 'yes') if ($action == 'confirm_deleteproductline' && $confirm == 'yes')
{ {
if ($user->rights->fournisseur->facture->creer) if ($user->rights->fournisseur->facture->creer)
@ -190,7 +206,7 @@ if ($action == 'update' && ! $_POST['cancel'])
if (! $error) if (! $error)
{ {
// TODO move to DAO class // TODO move to DAO class
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture_fourn set '; $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture_fourn set ';
$sql .= " facnumber='".$db->escape(trim($_POST['facnumber']))."'"; $sql .= " facnumber='".$db->escape(trim($_POST['facnumber']))."'";
$sql .= ", libelle='".$db->escape(trim($_POST['libelle']))."'"; $sql .= ", libelle='".$db->escape(trim($_POST['libelle']))."'";
@ -203,7 +219,7 @@ if ($action == 'update' && ! $_POST['cancel'])
} }
/* /*
* Action creation * Action creation
*/ */
if ($action == 'add' && $user->rights->fournisseur->facture->creer) if ($action == 'add' && $user->rights->fournisseur->facture->creer)
{ {
$error=0; $error=0;
@ -245,15 +261,23 @@ if ($action == 'add' && $user->rights->fournisseur->facture->creer)
$element = $subelement = $_POST['origin']; $element = $subelement = $_POST['origin'];
/*if (preg_match('/^([^_]+)_([^_]+)/i',$_POST['origin'],$regs)) /*if (preg_match('/^([^_]+)_([^_]+)/i',$_POST['origin'],$regs))
{ {
$element = $regs[1]; $element = $regs[1];
$subelement = $regs[2]; $subelement = $regs[2];
}*/ }*/
// For compatibility // For compatibility
if ($element == 'order') { $element = $subelement = 'commande'; } if ($element == 'order') {
if ($element == 'propal') { $element = 'comm/propal'; $subelement = 'propal'; } $element = $subelement = 'commande';
if ($element == 'contract') { $element = $subelement = 'contrat'; } }
if ($element == 'order_supplier') { $element = 'fourn'; $subelement = 'fournisseur.commande'; } if ($element == 'propal') {
$element = 'comm/propal'; $subelement = 'propal';
}
if ($element == 'contract') {
$element = $subelement = 'contrat';
}
if ($element == 'order_supplier') {
$element = 'fourn'; $subelement = 'fournisseur.commande';
}
$object->origin = $_POST['origin']; $object->origin = $_POST['origin'];
$object->origin_id = $_POST['originid']; $object->origin_id = $_POST['originid'];
@ -290,20 +314,20 @@ if ($action == 'add' && $user->rights->fournisseur->facture->creer)
if ($lines[$i]->date_end) $date_end=$lines[$i]->date_end; if ($lines[$i]->date_end) $date_end=$lines[$i]->date_end;
$result = $object->addline( $result = $object->addline(
$desc, $desc,
$lines[$i]->subprice, $lines[$i]->subprice,
$lines[$i]->tva_tx, $lines[$i]->tva_tx,
$lines[$i]->localtax1_tx, $lines[$i]->localtax1_tx,
$lines[$i]->localtax2_tx, $lines[$i]->localtax2_tx,
$lines[$i]->qty, $lines[$i]->qty,
$lines[$i]->fk_product, $lines[$i]->fk_product,
$lines[$i]->remise_percent, $lines[$i]->remise_percent,
$date_start, $date_start,
$date_end, $date_end,
0, 0,
$lines[$i]->info_bits, $lines[$i]->info_bits,
'HT', 'HT',
$product_type $product_type
); );
if ($result < 0) if ($result < 0)
@ -618,7 +642,7 @@ if ($action == 'reopen' && $user->rights->fournisseur->facture->creer)
/* /*
* Add file in email form * Add file in email form
*/ */
if ($_POST['addfile']) if ($_POST['addfile'])
{ {
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php"); require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
@ -634,7 +658,7 @@ if ($_POST['addfile'])
/* /*
* Remove file in email form * Remove file in email form
*/ */
if (! empty($_POST['removedfile'])) if (! empty($_POST['removedfile']))
{ {
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php"); require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
@ -650,7 +674,7 @@ if (! empty($_POST['removedfile']))
/* /*
* Send mail * Send mail
*/ */
if ($action == 'send' && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_POST['cancel']) if ($action == 'send' && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_POST['cancel'])
{ {
$langs->load('mails'); $langs->load('mails');
@ -747,7 +771,9 @@ if ($action == 'send' && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_P
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
$interface=new Interfaces($db); $interface=new Interfaces($db);
$result=$interface->run_triggers('BILL_SUPPLIER_SENTBYMAIL',$object,$user,$langs,$conf); $result=$interface->run_triggers('BILL_SUPPLIER_SENTBYMAIL',$object,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) {
$error++; $this->errors=$interface->errors;
}
// Fin appel triggers // Fin appel triggers
if ($error) if ($error)
@ -806,7 +832,7 @@ if ($action == 'send' && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_P
/* /*
* Build document * Build document
*/ */
if ($action == 'builddoc') if ($action == 'builddoc')
{ {
@ -853,7 +879,7 @@ if ($action == 'remove_file')
/* /*
* View * View
*/ */
$form = new Form($db); $form = new Form($db);
$formfile = new FormFile($db); $formfile = new FormFile($db);
@ -886,10 +912,19 @@ if ($action == 'create')
else if (in_array($element,array('order_supplier'))) else if (in_array($element,array('order_supplier')))
{ {
// For compatibility // For compatibility
if ($element == 'order') { $element = $subelement = 'commande'; } if ($element == 'order') {
if ($element == 'propal') { $element = 'comm/propal'; $subelement = 'propal'; } $element = $subelement = 'commande';
if ($element == 'contract') { $element = $subelement = 'contrat'; } }
if ($element == 'order_supplier') { $element = 'fourn'; $subelement = 'fournisseur.commande'; } if ($element == 'propal') {
dol_htmloutput_errors('',$errors);
$element = 'comm/propal'; $subelement = 'propal';
}
if ($element == 'contract') {
$element = $subelement = 'contrat';
}
if ($element == 'order_supplier') {
$element = 'fourn'; $subelement = 'fournisseur.commande';
}
require_once(DOL_DOCUMENT_ROOT.'/'.$element.'/class/'.$subelement.'.class.php'); require_once(DOL_DOCUMENT_ROOT.'/'.$element.'/class/'.$subelement.'.class.php');
$classname = ucfirst($subelement); $classname = ucfirst($subelement);
@ -964,74 +999,74 @@ if ($action == 'create')
/* /*
// Deposit // Deposit
print '<tr height="18"><td width="16px" valign="middle">'; print '<tr height="18"><td width="16px" valign="middle">';
print '<input type="radio" name="type" value="3"'.($_POST['type']==3?' checked="checked"':'').'>'; print '<input type="radio" name="type" value="3"'.($_POST['type']==3?' checked="checked"':'').'>';
print '</td><td valign="middle">'; print '</td><td valign="middle">';
$desc=$form->textwithpicto($langs->trans("InvoiceDeposit"),$langs->transnoentities("InvoiceDepositDesc"),1); $desc=$form->textwithpicto($langs->trans("InvoiceDeposit"),$langs->transnoentities("InvoiceDepositDesc"),1);
print $desc; print $desc;
print '</td></tr>'."\n"; print '</td></tr>'."\n";
// Proforma // Proforma
if ($conf->global->FACTURE_USE_PROFORMAT) if ($conf->global->FACTURE_USE_PROFORMAT)
{ {
print '<tr height="18"><td width="16px" valign="middle">'; print '<tr height="18"><td width="16px" valign="middle">';
print '<input type="radio" name="type" value="4"'.($_POST['type']==4?' checked="checked"':'').'>'; print '<input type="radio" name="type" value="4"'.($_POST['type']==4?' checked="checked"':'').'>';
print '</td><td valign="middle">'; print '</td><td valign="middle">';
$desc=$form->textwithpicto($langs->trans("InvoiceProForma"),$langs->transnoentities("InvoiceProFormaDesc"),1); $desc=$form->textwithpicto($langs->trans("InvoiceProForma"),$langs->transnoentities("InvoiceProFormaDesc"),1);
print $desc; print $desc;
print '</td></tr>'."\n"; print '</td></tr>'."\n";
} }
// Replacement // Replacement
print '<tr height="18"><td valign="middle">'; print '<tr height="18"><td valign="middle">';
print '<input type="radio" name="type" value="1"'.($_POST['type']==1?' checked="checked"':''); print '<input type="radio" name="type" value="1"'.($_POST['type']==1?' checked="checked"':'');
if (! $options) print ' disabled="disabled"'; if (! $options) print ' disabled="disabled"';
print '>'; print '>';
print '</td><td valign="middle">'; print '</td><td valign="middle">';
$text=$langs->trans("InvoiceReplacementAsk").' '; $text=$langs->trans("InvoiceReplacementAsk").' ';
$text.='<select class="flat" name="fac_replacement"'; $text.='<select class="flat" name="fac_replacement"';
if (! $options) $text.=' disabled="disabled"'; if (! $options) $text.=' disabled="disabled"';
$text.='>'; $text.='>';
if ($options) if ($options)
{ {
$text.='<option value="-1">&nbsp;</option>'; $text.='<option value="-1">&nbsp;</option>';
$text.=$options; $text.=$options;
} }
else else
{ {
$text.='<option value="-1">'.$langs->trans("NoReplacableInvoice").'</option>'; $text.='<option value="-1">'.$langs->trans("NoReplacableInvoice").'</option>';
} }
$text.='</select>'; $text.='</select>';
$desc=$form->textwithpicto($text,$langs->transnoentities("InvoiceReplacementDesc"),1); $desc=$form->textwithpicto($text,$langs->transnoentities("InvoiceReplacementDesc"),1);
print $desc; print $desc;
print '</td></tr>'; print '</td></tr>';
// Credit note // Credit note
print '<tr height="18"><td valign="middle">'; print '<tr height="18"><td valign="middle">';
print '<input type="radio" name="type" value="2"'.($_POST['type']==2?' checked=true':''); print '<input type="radio" name="type" value="2"'.($_POST['type']==2?' checked=true':'');
if (! $optionsav) print ' disabled="disabled"'; if (! $optionsav) print ' disabled="disabled"';
print '>'; print '>';
print '</td><td valign="middle">'; print '</td><td valign="middle">';
$text=$langs->transnoentities("InvoiceAvoirAsk").' '; $text=$langs->transnoentities("InvoiceAvoirAsk").' ';
// $text.='<input type="text" value="">'; // $text.='<input type="text" value="">';
$text.='<select class="flat" name="fac_avoir"'; $text.='<select class="flat" name="fac_avoir"';
if (! $optionsav) $text.=' disabled="disabled"'; if (! $optionsav) $text.=' disabled="disabled"';
$text.='>'; $text.='>';
if ($optionsav) if ($optionsav)
{ {
$text.='<option value="-1">&nbsp;</option>'; $text.='<option value="-1">&nbsp;</option>';
$text.=$optionsav; $text.=$optionsav;
} }
else else
{ {
$text.='<option value="-1">'.$langs->trans("NoInvoiceToCorrect").'</option>'; $text.='<option value="-1">'.$langs->trans("NoInvoiceToCorrect").'</option>';
} }
$text.='</select>'; $text.='</select>';
$desc=$form->textwithpicto($text,$langs->transnoentities("InvoiceAvoirDesc"),1); $desc=$form->textwithpicto($text,$langs->transnoentities("InvoiceAvoirDesc"),1);
//.' ('.$langs->trans("FeatureNotYetAvailable").')',$langs->transnoentities("InvoiceAvoirDesc"),1); //.' ('.$langs->trans("FeatureNotYetAvailable").')',$langs->transnoentities("InvoiceAvoirDesc"),1);
print $desc; print $desc;
print '</td></tr>'."\n"; print '</td></tr>'."\n";
*/ */
print '</table>'; print '</table>';
print '</td></tr>'; print '</td></tr>';
@ -1136,12 +1171,13 @@ else
/* /*
* View card * View card
*/ */
$head = facturefourn_prepare_head($object); $head = facturefourn_prepare_head($object);
$titre=$langs->trans('SupplierInvoice'); $titre=$langs->trans('SupplierInvoice');
dol_fiche_head($head, 'card', $titre, 0, 'bill'); dol_fiche_head($head, 'card', $titre, 0, 'bill');
dol_htmloutput_mesg($mesg); dol_htmloutput_mesg($mesg);
dol_htmloutput_errors('',$errors);
// Confirmation de la suppression d'une ligne produit // Confirmation de la suppression d'une ligne produit
if ($action == 'confirm_delete_line') if ($action == 'confirm_delete_line')
@ -1166,7 +1202,20 @@ else
// Confirmation de la validation // Confirmation de la validation
if ($action == 'valid') if ($action == 'valid')
{ {
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateBill'), $langs->trans('ConfirmValidateBill', $object->ref), 'confirm_valid', '', 0, 1); $formquestion=array();
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) && $object->hasProductsOrServices(1))
{
$langs->load("stocks");
require_once(DOL_DOCUMENT_ROOT."/product/class/html.formproduct.class.php");
$formproduct=new FormProduct($db);
$formquestion=array(
//'text' => $langs->trans("ConfirmClone"),
//array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1),
//array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1),
array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockDecrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'),'idwarehouse','',1)));
}
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateBill'), $langs->trans('ConfirmValidateBill', $object->ref), 'confirm_valid', $formquestion, 0, 1);
if ($ret == 'html') print '<br>'; if ($ret == 'html') print '<br>';
} }
@ -1179,7 +1228,7 @@ else
/* /*
* Confirmation de la suppression de la facture fournisseur * Confirmation de la suppression de la facture fournisseur
*/ */
if ($action == 'delete') if ($action == 'delete')
{ {
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteBill'), $langs->trans('ConfirmDeleteBill'), 'confirm_delete', '', 0, 1); $ret=$form->form_confirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteBill'), $langs->trans('ConfirmDeleteBill'), 'confirm_delete', '', 0, 1);
@ -1189,7 +1238,7 @@ else
/* /*
* Facture * Facture
*/ */
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
// Ref // Ref
@ -1255,7 +1304,7 @@ else
/* /*
* List of payments * List of payments
*/ */
$nbrows=7; $nbrows=7;
if ($conf->projet->enabled) $nbrows++; if ($conf->projet->enabled) $nbrows++;
@ -1404,7 +1453,7 @@ else
/* /*
* Lines * Lines
*/ */
print '<br>'; print '<br>';
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
$var=1; $var=1;
@ -1557,7 +1606,7 @@ else
/* /*
* Form to add new line * Form to add new line
*/ */
if ($object->statut == 0 && $action != 'mod_ligne') if ($object->statut == 0 && $action != 'mod_ligne')
{ {
@ -1662,7 +1711,7 @@ else
/* /*
* Boutons actions * Boutons actions
*/ */
print '<div class="tabsAction">'; print '<div class="tabsAction">';
@ -1743,7 +1792,7 @@ else
/* /*
* Documents generes * Documents generes
*/ */
$ref=dol_sanitizeFileName($object->ref); $ref=dol_sanitizeFileName($object->ref);
$subdir = get_exdir($object->id,2).$ref; $subdir = get_exdir($object->id,2).$ref;
@ -1755,8 +1804,6 @@ else
print '<br>'; print '<br>';
$somethingshown=$formfile->show_documents('facture_fournisseur',$subdir,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf); $somethingshown=$formfile->show_documents('facture_fournisseur',$subdir,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf);
$object=$fac;
/* /*
* Linked object block * Linked object block
*/ */
@ -1775,7 +1822,7 @@ else
} }
/* /*
* Show mail form * Show mail form
*/ */
if ($action == 'presend') if ($action == 'presend')
{ {
$ref = dol_sanitizeFileName($object->ref); $ref = dol_sanitizeFileName($object->ref);

View File

@ -46,8 +46,8 @@ RuleForStockManagementIncrease=Regla de gestió d'increments d'estoc
DeStockOnBill=Decrementar els estocs físics sobre les factures/abonaments a clients DeStockOnBill=Decrementar els estocs físics sobre les factures/abonaments a clients
DeStockOnValidateOrder=Decrementar els estocs físics sobre les comandes de clients DeStockOnValidateOrder=Decrementar els estocs físics sobre les comandes de clients
DeStockOnShipment=Decrementar els estocs físics sobre els enviaments DeStockOnShipment=Decrementar els estocs físics sobre els enviaments
ReStockOnBill=Incrementar els estocs físics sobre les factures/abonaments de proveïdors (atenció, en aquesta versió, encara es fa l'ajustament sobre el magatzem número 1) ReStockOnBill=Incrementar els estocs físics sobre les factures/abonaments de proveïdors
ReStockOnValidateOrder=Incrementar els estocs físics sobre les comandes a proveïdors (atenció, en aquesta versió, encara es fa l'ajustament sobre el magatzem número 1) ReStockOnValidateOrder=Incrementar els estocs físics sobre les comandes a proveïdors
ReStockOnDispatchOrder=Incrementa els estocs físics en el desglossament manual de la recepció de les comandes a proveïdors en els magatzems ReStockOnDispatchOrder=Incrementa els estocs físics en el desglossament manual de la recepció de les comandes a proveïdors en els magatzems
OrderStatusNotReadyToDispatch=La comanda encara no està o no té un estat que permeti un desglossament d'estoc. OrderStatusNotReadyToDispatch=La comanda encara no està o no té un estat que permeti un desglossament d'estoc.
StockDiffPhysicTeoric=Motiu de la diferència entre valors físics i teòrics StockDiffPhysicTeoric=Motiu de la diferència entre valors físics i teòrics

View File

@ -55,8 +55,8 @@ RuleForStockManagementDecrease=Reglen for lagerstyring fald
RuleForStockManagementIncrease=Reglen for lagerstyring stigning RuleForStockManagementIncrease=Reglen for lagerstyring stigning
DeStockOnBill=Fraførsel reelle bestande på fakturaer / kreditnotaer DeStockOnBill=Fraførsel reelle bestande på fakturaer / kreditnotaer
DeStockOnValidateOrder=Fraførsel reelle bestande om ordrer noter DeStockOnValidateOrder=Fraførsel reelle bestande om ordrer noter
ReStockOnBill=Forhøjelse reelle bestande på fakturaer / kreditnotaer (advarsel, i denne version, er det kun i oplag nummer 1, at bestanden er ændret) ReStockOnBill=Forhøjelse reelle bestande på fakturaer / kreditnotaer
ReStockOnValidateOrder=Forhøjelse reelle bestande om ordrer noter (advarsel, i denne version, er det kun i oplag nummer 1, at bestanden er ændret) ReStockOnValidateOrder=Forhøjelse reelle bestande om ordrer noter
StockLimitShort=Limit StockLimitShort=Limit
StockLimit=Stock grænse for indberetninger StockLimit=Stock grænse for indberetninger
PhysicalStock=Fysiske lager PhysicalStock=Fysiske lager

View File

@ -52,8 +52,8 @@ RuleForStockManagementIncrease=Regel für Lagerstandsanpassung (Erhöhung)
DeStockOnBill=Verringere realen Bestände in den Rechnungen / Gutschriften DeStockOnBill=Verringere realen Bestände in den Rechnungen / Gutschriften
DeStockOnValidateOrder=Decrease realen Bestände auf Bestellungen stellt fest DeStockOnValidateOrder=Decrease realen Bestände auf Bestellungen stellt fest
DeStockOnShipment=Verringere Lagerstände nach erfolgtem Versand (empfohlen) DeStockOnShipment=Verringere Lagerstände nach erfolgtem Versand (empfohlen)
ReStockOnBill=Erhöhung der tatsächlichen Bestände in den Rechnungen / Gutschriften (Achtung: In dieser Version werden nur die Lagerstände des Lagers 1 aktualisiert) ReStockOnBill=Erhöhung der tatsächlichen Bestände in den Rechnungen / Gutschriften
ReStockOnValidateOrder=Erhöhung der realen Bestände auf Bestellungen stellt fest (Achtung: In dieser Version werden nur die Lagerstände des Lagers 1 aktualisiert) ReStockOnValidateOrder=Erhöhung der realen Bestände auf Bestellungen stellt fest
StockDiffPhysicTeoric=Grund für die Differenz physisch. und theoret. Lagerbestand StockDiffPhysicTeoric=Grund für die Differenz physisch. und theoret. Lagerbestand
StockLimitShort=Mindestbestand StockLimitShort=Mindestbestand
StockLimit=Sicherungsbestand für autom. Benachrichtigung StockLimit=Sicherungsbestand für autom. Benachrichtigung

View File

@ -52,8 +52,8 @@ RuleForStockManagementIncrease=Regel für Lagerstandsanpassung (Erhöhung)
DeStockOnBill=Verringere realen Bestände in den Rechnungen / Gutschriften DeStockOnBill=Verringere realen Bestände in den Rechnungen / Gutschriften
DeStockOnValidateOrder=Decrease realen Bestände auf Bestellungen stellt fest DeStockOnValidateOrder=Decrease realen Bestände auf Bestellungen stellt fest
DeStockOnShipment=Verringere Lagerstände nach erfolgtem Versand (empfohlen) DeStockOnShipment=Verringere Lagerstände nach erfolgtem Versand (empfohlen)
ReStockOnBill=Erhöhung der tatsächlichen Bestände in den Rechnungen / Gutschriften (Achtung: In dieser Version werden nur die Lagerstände des Lagers 1 aktualisiert) ReStockOnBill=Erhöhung der tatsächlichen Bestände in den Rechnungen / Gutschriften
ReStockOnValidateOrder=Erhöhung der realen Bestände auf Bestellungen stellt fest (Achtung: In dieser Version werden nur die Lagerstände des Lagers 1 aktualisiert) ReStockOnValidateOrder=Erhöhung der realen Bestände auf Bestellungen stellt fest
StockDiffPhysicTeoric=Grund für die Differenz physisch. und theoret. Lagerbestand StockDiffPhysicTeoric=Grund für die Differenz physisch. und theoret. Lagerbestand
StockLimitShort=Mindestbestand StockLimitShort=Mindestbestand
StockLimit=Sicherungsbestand für autom. Benachrichtigung StockLimit=Sicherungsbestand für autom. Benachrichtigung

View File

@ -55,8 +55,8 @@ RuleForStockManagementIncrease=Κανόνας για την αύξηση της
DeStockOnBill=Μείωση πραγματικών αποθεμάτων για τους πελάτες τιμολόγια / πιστωτικά επικύρωση σημειώσεις DeStockOnBill=Μείωση πραγματικών αποθεμάτων για τους πελάτες τιμολόγια / πιστωτικά επικύρωση σημειώσεις
DeStockOnValidateOrder=Μείωση πραγματικών αποθεμάτων σχετικά με τις παραγγελίες των πελατών επικύρωσης DeStockOnValidateOrder=Μείωση πραγματικών αποθεμάτων σχετικά με τις παραγγελίες των πελατών επικύρωσης
DeStockOnShipment=Μείωση πραγματικών αποθεμάτων για την επικύρωση αποστολή DeStockOnShipment=Μείωση πραγματικών αποθεμάτων για την επικύρωση αποστολή
ReStockOnBill=Αύξηση πραγματικού αποθέματα για τους προμηθευτές τιμολόγια / πιστωτικά επικύρωση σημειώσεις (προειδοποίηση, σε αυτή την έκδοση, είναι μόνο σε αριθμό Αποθήκη 1 του εν λόγω αποθέματος είναι τροποποιημένο) ReStockOnBill=Αύξηση πραγματικού αποθέματα για τους προμηθευτές τιμολόγια / πιστωτικά επικύρωση σημειώσεις
ReStockOnValidateOrder=Αύξηση πραγματικού αποθεμάτων σχετικά με τις παραγγελίες τους προμηθευτές επιδοκιμασίας (προειδοποίηση, σε αυτή την έκδοση, είναι μόνο σε αριθμό Αποθήκη 1 του εν λόγω αποθέματος έχει τροποποιηθεί) ReStockOnValidateOrder=Αύξηση πραγματικού αποθεμάτων σχετικά με τις παραγγελίες τους προμηθευτές επιδοκιμασίας
ReStockOnDispatchOrder=Αύξηση των αποθεμάτων σε πραγματικό εγχειρίδιο αποστολή σε αποθήκες, μετά από σειρά προμηθευτής που λαμβάνει ReStockOnDispatchOrder=Αύξηση των αποθεμάτων σε πραγματικό εγχειρίδιο αποστολή σε αποθήκες, μετά από σειρά προμηθευτής που λαμβάνει
OrderStatusNotReadyToDispatch=Παραγγελία δεν έχει ακόμη ή όχι περισσότερο μια κατάσταση που επιτρέπει την αποστολή των προϊόντων σε αποθήκες αποθεμάτων. OrderStatusNotReadyToDispatch=Παραγγελία δεν έχει ακόμη ή όχι περισσότερο μια κατάσταση που επιτρέπει την αποστολή των προϊόντων σε αποθήκες αποθεμάτων.
StockDiffPhysicTeoric=Λόγος αποθεμάτων διαφορά φυσική και θεωρητική StockDiffPhysicTeoric=Λόγος αποθεμάτων διαφορά φυσική και θεωρητική

View File

@ -37,6 +37,7 @@ PropalValidatedInDolibarr= Proposal %s validated
InvoiceValidatedInDolibarr= Invoice %s validated InvoiceValidatedInDolibarr= Invoice %s validated
InvoiceBackToDraftInDolibarr=Invoice %s go back to draft status InvoiceBackToDraftInDolibarr=Invoice %s go back to draft status
OrderValidatedInDolibarr= Order %s validated OrderValidatedInDolibarr= Order %s validated
OrderApprovedInDolibarr=Order %s approved
InterventionValidatedInDolibarr=Intervention %s validated InterventionValidatedInDolibarr=Intervention %s validated
ProposalSentByEMail=Commercial proposal %s sent by EMail ProposalSentByEMail=Commercial proposal %s sent by EMail
OrderSentByEMail=Customer order %s sent by EMail OrderSentByEMail=Customer order %s sent by EMail

View File

@ -47,8 +47,8 @@ RuleForStockManagementIncrease=Rule for stock management increase
DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation
DeStockOnValidateOrder=Decrease real stocks on customers orders validation DeStockOnValidateOrder=Decrease real stocks on customers orders validation
DeStockOnShipment=Decrease real stocks on shipment validation DeStockOnShipment=Decrease real stocks on shipment validation
ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation (warning, in this version, it's only in warehouse number 1 that stock is modified) ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation
ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation (warning, in this version, it's only in warehouse number 1 that stock is modified) ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation
ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving
OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses.
StockDiffPhysicTeoric=Reason for difference stock physical and theoretical StockDiffPhysicTeoric=Reason for difference stock physical and theoretical

View File

@ -46,8 +46,8 @@ RuleForStockManagementIncrease=Regla de gestión de incrementos de stock
DeStockOnBill=Decrementar los stocks físicos sobre las facturas/abonos a clientes DeStockOnBill=Decrementar los stocks físicos sobre las facturas/abonos a clientes
DeStockOnValidateOrder=Decrementar los stocks físicos sobre los pedidos de clientes DeStockOnValidateOrder=Decrementar los stocks físicos sobre los pedidos de clientes
DeStockOnShipment=Decrementar los stocks físicos sobre los envíos DeStockOnShipment=Decrementar los stocks físicos sobre los envíos
ReStockOnBill=Incrementar los stocks físicos sobre las facturas/abonos de proveedores (atención, en esta versión, todavía se realiza el ajuste sobre el almacén número 1) ReStockOnBill=Incrementar los stocks físicos sobre las facturas/abonos de proveedores
ReStockOnValidateOrder=Incrementar los stocks físicos sobre los pedidos a proveedores (atención, en esta versión, todavía se realiza el ajuste sobre el almacén número 1) ReStockOnValidateOrder=Incrementar los stocks físicos sobre los pedidos a proveedores
ReStockOnDispatchOrder=Incrementa los stocks físicos en el desglose manual de la recepción de los pedidos a proveedores en los almacenes ReStockOnDispatchOrder=Incrementa los stocks físicos en el desglose manual de la recepción de los pedidos a proveedores en los almacenes
OrderStatusNotReadyToDispatch=El pedido aún no está o no tiene un estado que permita un desglose de stock. OrderStatusNotReadyToDispatch=El pedido aún no está o no tiene un estado que permita un desglose de stock.
StockDiffPhysicTeoric=Motivo de la diferencia entre valores físicos y teóricos StockDiffPhysicTeoric=Motivo de la diferencia entre valores físicos y teóricos

View File

@ -53,8 +53,8 @@ RuleForStockManagementDecrease=Sääntö varaston hallintaan lasku
RuleForStockManagementIncrease=Sääntö varaston hallintaan lisätä RuleForStockManagementIncrease=Sääntö varaston hallintaan lisätä
DeStockOnBill=Decrease todellinen varastot laskuista / hyvityslaskuja DeStockOnBill=Decrease todellinen varastot laskuista / hyvityslaskuja
DeStockOnValidateOrder=Decrease todellinen varastot tilaukset toteaa DeStockOnValidateOrder=Decrease todellinen varastot tilaukset toteaa
ReStockOnBill=Lisäys todellinen varastot laskuista / hyvityslaskuja (varoitus, tässä versiossa, se on vain varasto numero 1, että varastossa on muutettu) ReStockOnBill=Lisäys todellinen varastot laskuista / hyvityslaskuja
ReStockOnValidateOrder=Lisäys todellinen varastot tilaukset toteaa (varoitus, tässä versiossa, se on vain varasto numero 1, että varastossa on muutettu) ReStockOnValidateOrder=Lisäys todellinen varastot tilaukset toteaa
StockLimitShort=Limit StockLimitShort=Limit
StockLimit=Kanta raja hälytykset StockLimit=Kanta raja hälytykset
PhysicalStock=Varasto PhysicalStock=Varasto

View File

@ -37,6 +37,7 @@ PropalValidatedInDolibarr=Proposition %s validée
InvoiceValidatedInDolibarr=Facture %s validée InvoiceValidatedInDolibarr=Facture %s validée
InvoiceBackToDraftInDolibarr=Facture %s repassée en brouillon InvoiceBackToDraftInDolibarr=Facture %s repassée en brouillon
OrderValidatedInDolibarr=Commande %s validée OrderValidatedInDolibarr=Commande %s validée
OrderApprovedInDolibarr=Commande %s approuvée
InterventionValidatedInDolibarr=Intervention %s validée InterventionValidatedInDolibarr=Intervention %s validée
ProposalSentByEMail=Proposition commerciale %s envoyée par EMail ProposalSentByEMail=Proposition commerciale %s envoyée par EMail
OrderSentByEMail=Commande client %s envoyée par EMail OrderSentByEMail=Commande client %s envoyée par EMail

View File

@ -47,8 +47,8 @@ RuleForStockManagementIncrease=Règle de gestion des incrémentations de stock
DeStockOnBill=Décrémente les stocks physiques sur validation des factures/avoirs clients DeStockOnBill=Décrémente les stocks physiques sur validation des factures/avoirs clients
DeStockOnValidateOrder=Décrémente les stocks physiques sur validation des commandes clients DeStockOnValidateOrder=Décrémente les stocks physiques sur validation des commandes clients
DeStockOnShipment=Décrémente les stocks physiques sur validation des expéditions DeStockOnShipment=Décrémente les stocks physiques sur validation des expéditions
ReStockOnBill=Incrémente les stocks physiques sur validation des factures/avoirs fournisseurs (attention, dans cette version, c'est toujours dans le premier entrepôt que se fait l'ajustement) ReStockOnBill=Incrémente les stocks physiques sur validation des factures/avoirs fournisseurs
ReStockOnValidateOrder=Incrémente les stocks physiques sur approbation des commandes fournisseurs (attention, dans cette version, c'est toujours dans le premier entrepôt que se fait l'ajustement) ReStockOnValidateOrder=Incrémente les stocks physiques sur approbation des commandes fournisseurs
ReStockOnDispatchOrder=Incrémente les stocks physiques sur ventilation manuelle de la réception des commandes fournisseurs dans les entrepôts ReStockOnDispatchOrder=Incrémente les stocks physiques sur ventilation manuelle de la réception des commandes fournisseurs dans les entrepôts
OrderStatusNotReadyToDispatch=La commande n'a pas encore ou n'a plus un statut permettant une ventilation en stock. OrderStatusNotReadyToDispatch=La commande n'a pas encore ou n'a plus un statut permettant une ventilation en stock.
StockDiffPhysicTeoric=Raison écart stock physique-théorique StockDiffPhysicTeoric=Raison écart stock physique-théorique

View File

@ -47,8 +47,8 @@ RuleForStockManagementIncrease=Készlet kerezelés szabály emelése
DeStockOnBill=Tényleges készlet csökkentése számla/hitel jóváhagyásakor DeStockOnBill=Tényleges készlet csökkentése számla/hitel jóváhagyásakor
DeStockOnValidateOrder=Tényleges készlet csökkentése ügyfél rendelés jóváhagyásakor DeStockOnValidateOrder=Tényleges készlet csökkentése ügyfél rendelés jóváhagyásakor
DeStockOnShipment=Tényleges készlet csökkentése szállítás jóváhagyásakor DeStockOnShipment=Tényleges készlet csökkentése szállítás jóváhagyásakor
ReStockOnBill=Tényleges készlet növelése számla/hitel jóváhagyásakor (Figyelem, ebben a verzióban, csak az 1-es számú raktár készlete módosúl) ReStockOnBill=Tényleges készlet növelése számla/hitel jóváhagyásakor
ReStockOnValidateOrder=Tényleges készlet növelése beszállítótól való rendelés jóváhagyásakor (Figyelem, ebben a verzióban, csak az 1-es számú raktár készlete módosúl) ReStockOnValidateOrder=Tényleges készlet növelése beszállítótól való rendelés jóváhagyásakor
ReStockOnDispatchOrder=Tényleges készlet növelése manuális raktárba való feladáskor miután a beszállítói rendelés beérkezett ReStockOnDispatchOrder=Tényleges készlet növelése manuális raktárba való feladáskor miután a beszállítói rendelés beérkezett
OrderStatusNotReadyToDispatch=A rendelés még nincs olyan állapotban, hogy kiküldhető legyen a raktárba. OrderStatusNotReadyToDispatch=A rendelés még nincs olyan állapotban, hogy kiküldhető legyen a raktárba.
StockDiffPhysicTeoric=Az eltérés oka a gyakorlati és az elméleti készlet StockDiffPhysicTeoric=Az eltérés oka a gyakorlati és az elméleti készlet

View File

@ -54,8 +54,8 @@ RuleForStockManagementIncrease=Regla fyrir lager stjórnun aukast
DeStockOnBill=Minnka raunverulegur birgðir á viðskiptavini reikningum / kredit athugasemdir löggilding DeStockOnBill=Minnka raunverulegur birgðir á viðskiptavini reikningum / kredit athugasemdir löggilding
DeStockOnValidateOrder=Minnka raunverulegur birgðir á viðskiptavini pantanir löggilding DeStockOnValidateOrder=Minnka raunverulegur birgðir á viðskiptavini pantanir löggilding
DeStockOnShipment=Minnka alvöru stofnum á sendingunni löggilding DeStockOnShipment=Minnka alvöru stofnum á sendingunni löggilding
ReStockOnBill=Auka raunverulegur birgðir birgja reikningum / kredit athugasemdir löggilding (aðvörun í þessari útgáfu er það aðeins í fjölda vöruhús 1 sem birgðir er breytt) ReStockOnBill=Auka raunverulegur birgðir birgja reikningum / kredit athugasemdir löggilding
ReStockOnValidateOrder=Auka raunverulegur birgðir birgja pantanir approbation (aðvörun í þessari útgáfu er það aðeins í fjölda vöruhús 1 sem birgðir er breytt) ReStockOnValidateOrder=Auka raunverulegur birgðir birgja pantanir approbation
ReStockOnDispatchOrder=Auka raunverulegur birgðir á handbók dispatching í vöruhús, eftir röð birgja sem fá ReStockOnDispatchOrder=Auka raunverulegur birgðir á handbók dispatching í vöruhús, eftir röð birgja sem fá
OrderStatusNotReadyToDispatch=Panta hefur ekki enn eða ekki meira stöðu sem gerir dispatching af vörum í vöruhús lager. OrderStatusNotReadyToDispatch=Panta hefur ekki enn eða ekki meira stöðu sem gerir dispatching af vörum í vöruhús lager.
StockDiffPhysicTeoric=Ástæða fyrir lager munur líkamlega og fræðilegum StockDiffPhysicTeoric=Ástæða fyrir lager munur líkamlega og fræðilegum

View File

@ -43,8 +43,8 @@ RuleForStockManagement =Regola per la gestione delle scorte
DeStockOnBill =Diminuzione delle scorte effettive all'emissione di fatture / note di credito DeStockOnBill =Diminuzione delle scorte effettive all'emissione di fatture / note di credito
DeStockOnValidateOrder =Diminuzione delle scorte effettive su convalida ordini DeStockOnValidateOrder =Diminuzione delle scorte effettive su convalida ordini
DeStockOnShipment =Diminuzione delle scorte effettive con la spedizione (Raccomandato) DeStockOnShipment =Diminuzione delle scorte effettive con la spedizione (Raccomandato)
ReStockOnBill =Aumento delle scorte effettive con fatture / note di credito <br>(attenzione: con questa opzione vengono modificate solo le scorte del magazzino 1) ReStockOnBill =Aumento delle scorte effettive con fatture / note di credito
ReStockOnValidateOrder =Aumente delle scorte effettive su convalida ordini<br> (attenzione: con questa opzione vengono modificate solo le scorte del magazzino 1) ReStockOnValidateOrder =Aumente delle scorte effettive su convalida ordini
StockDiffPhysicTeoric =Motivo della differenza tra scorta effettiva e teorica StockDiffPhysicTeoric =Motivo della differenza tra scorta effettiva e teorica
StockLimitShort =Limite StockLimitShort =Limite
StockLimit =Limite minimo scorta per segnalazioni StockLimit =Limite minimo scorta per segnalazioni

View File

@ -44,8 +44,8 @@ RuleForStockManagementIncrease=Regel for lagerøkning
DeStockOnBill=Reduser virkelig beholdning ut fra faktura/kreditnota DeStockOnBill=Reduser virkelig beholdning ut fra faktura/kreditnota
DeStockOnValidateOrder=Reduser virkelig beholdning ut fra ordre DeStockOnValidateOrder=Reduser virkelig beholdning ut fra ordre
DeStockOnShipment=reduser virkelig beholdning ved forsendelse (anbefalt) DeStockOnShipment=reduser virkelig beholdning ved forsendelse (anbefalt)
ReStockOnBill=Øk virkelig beholdning ut fra faktura/kreditnota (obs! i denne versjonen blir kun lager nummer 1 endret) ReStockOnBill=Øk virkelig beholdning ut fra faktura/kreditnota
ReStockOnValidateOrder=Øk virkelig beholdning ut fra ordre (obs! i denne versjonen blir kun lager nummer 1 endret) ReStockOnValidateOrder=Øk virkelig beholdning ut fra ordre
StockDiffPhysicTeoric=Årsak til forskjell mellom fysisk og teoretisk beholdning StockDiffPhysicTeoric=Årsak til forskjell mellom fysisk og teoretisk beholdning
StockLimitShort=Grense StockLimitShort=Grense
StockLimit=Minimumsbeholdning for varselmeldinger StockLimit=Minimumsbeholdning for varselmeldinger

View File

@ -45,8 +45,8 @@ RuleForStockManagementIncrease=Regel voor voorraadbeheer verhogen
DeStockOnBill=Daling van de reële voorraad op de facturen / creditnota's DeStockOnBill=Daling van de reële voorraad op de facturen / creditnota's
DeStockOnValidateOrder=Daling van de reële voorraad op bestellingen notities DeStockOnValidateOrder=Daling van de reële voorraad op bestellingen notities
DeStockOnShipment=Daling van de reële voorraad op overbrenging (aanbevolen) DeStockOnShipment=Daling van de reële voorraad op overbrenging (aanbevolen)
ReStockOnBill=Toename echte voorraden op facturen / creditnota's (waarschuwing, in deze versie, het is alleen in het magazijn nummer 1 dat bestand is gewijzigd) ReStockOnBill=Toename echte voorraden op facturen / creditnota's
ReStockOnValidateOrder=Toename voorraden echt op bestellingen notities (waarschuwing, in deze versie, het is alleen in het magazijn nummer 1 dat bestand is gewijzigd) ReStockOnValidateOrder=Toename voorraden echt op bestellingen notities
StockDiffPhysicTeoric=Reden voor het verschil voorraad fysieke en theoretische StockDiffPhysicTeoric=Reden voor het verschil voorraad fysieke en theoretische
StockLimitShort=Limiet StockLimitShort=Limiet
StockLimit=Voorraad limiet voor signaleringen StockLimit=Voorraad limiet voor signaleringen

View File

@ -46,9 +46,9 @@ RuleForStockManagementDecrease = Regel voor voorraadbeheerafname
RuleForStockManagementIncrease = Regel voor voorraadbeheertoename RuleForStockManagementIncrease = Regel voor voorraadbeheertoename
DeStockOnBill = Verlaag de echte voorraad na het valideren van afnemersfacturen / creditnota's DeStockOnBill = Verlaag de echte voorraad na het valideren van afnemersfacturen / creditnota's
DeStockOnValidateOrder = Verlaag de echte voorraad na het valideren van opdrachten DeStockOnValidateOrder = Verlaag de echte voorraad na het valideren van opdrachten
DeStockOnShipment = Verlaag de echte voorraad na het valideren van verzendingen (waarschuwing, in deze versie, wordt de vooraad alleen in magazijn nummer 1 aangepast) DeStockOnShipment = Verlaag de echte voorraad na het valideren van verzendingen
ReStockOnBill = Verhoog de echte voorraad na het valideren van leveranciersfacturen / -creditnota's (waarschuwing, in deze versie, wordt de vooraad alleen in magazijn nummer 1 aangepast) ReStockOnBill = Verhoog de echte voorraad na het valideren van leveranciersfacturen / creditnota's
ReStockOnValidateOrder = Verhoog de echte voorraad na het valideren van leveranciersopdrachten (waarschuwing, in deze versie, wordt de vooraad alleen in magazijn nummer 1 aangepast) ReStockOnValidateOrder = Verhoog de echte voorraad na het valideren van leveranciersopdrachten
ReStockOnDispatchOrder = Verhoog de echte voorraad na het handmatig verzenden naar magazijnen, nadat de leveranciersopdracht ontvangst ReStockOnDispatchOrder = Verhoog de echte voorraad na het handmatig verzenden naar magazijnen, nadat de leveranciersopdracht ontvangst
OrderStatusNotReadyToDispatch = Opdracht heeft nog geen, of niet langer, een status die het verzenden van producten naar een magazijn toestaat. OrderStatusNotReadyToDispatch = Opdracht heeft nog geen, of niet langer, een status die het verzenden van producten naar een magazijn toestaat.
StockDiffPhysicTeoric = Reden voor het verschil tussen de feitelijke en theoretische voorraad StockDiffPhysicTeoric = Reden voor het verschil tussen de feitelijke en theoretische voorraad

View File

@ -56,8 +56,8 @@ RuleForStockManagementIncrease=Artykuł na zarządzanie zapasami wzrost
DeStockOnBill=Spadek realnych zasobów faktur / not kredytowych DeStockOnBill=Spadek realnych zasobów faktur / not kredytowych
DeStockOnValidateOrder=Spadek realnych zasobów zamówień notatek DeStockOnValidateOrder=Spadek realnych zasobów zamówień notatek
DeStockOnShipment=Spadek realnych zasobów wysyłką (zaleciły) DeStockOnShipment=Spadek realnych zasobów wysyłką (zaleciły)
ReStockOnBill=Wzrost realnego zasobów faktur / not kredytowych (uwaga, w tej wersji, to tylko w magazynie nr 1 tego zasobu zostanie zmodyfikowany) ReStockOnBill=Wzrost realnego zasobów faktur / not kredytowych
ReStockOnValidateOrder=Wzrost realnego zasobów zamówień notatek (uwaga, w tej wersji, to tylko w magazynie nr 1 tego zasobu zostanie zmodyfikowany) ReStockOnValidateOrder=Wzrost realnego zasobów zamówień notatek
StockDiffPhysicTeoric=Powód różnica stanie fizycznym i teoretycznego StockDiffPhysicTeoric=Powód różnica stanie fizycznym i teoretycznego
StockLimitShort=Limit StockLimitShort=Limit
StockLimit=Stock limit wpisów StockLimit=Stock limit wpisów

View File

@ -46,8 +46,8 @@ RuleForStockManagementIncrease=Regra de Administração de incrementos de estoqu
DeStockOnBill=Decrementar os estoques físicos sobre as faturas/recibos DeStockOnBill=Decrementar os estoques físicos sobre as faturas/recibos
DeStockOnValidateOrder=Decrementar os estoques físicos sobre os pedidos DeStockOnValidateOrder=Decrementar os estoques físicos sobre os pedidos
DeStockOnShipment=Decrementar os estoques físicos sobre os envios (recomendado) DeStockOnShipment=Decrementar os estoques físicos sobre os envios (recomendado)
ReStockOnBill=Incrementar os estoques físicos sobre as faturas/recibos (Atenção, nesta Versão, todavía realiza-se o ajuste sobre o armazém número 1) ReStockOnBill=Incrementar os estoques físicos sobre as faturas/recibos
ReStockOnValidateOrder=Incrementar os estoques físicos sobre os pedidos (Atenção, nesta Versão, todavía se realiza o ajuste sobre o armazém número 1) ReStockOnValidateOrder=Incrementar os estoques físicos sobre os pedidos
StockDiffPhysicTeoric=Motivo da diferença entre valores físicos e teóricos StockDiffPhysicTeoric=Motivo da diferença entre valores físicos e teóricos
StockLimitShort=Límite máximo StockLimitShort=Límite máximo
StockLimit=Límite máximo existencias StockLimit=Límite máximo existencias

View File

@ -46,8 +46,8 @@ RuleForStockManagementIncrease=Regra de Gestão de incrementos de stock
DeStockOnBill=Decrementar os stocks físicos sobre as facturas/recibos DeStockOnBill=Decrementar os stocks físicos sobre as facturas/recibos
DeStockOnValidateOrder=Decrementar os stocks físicos sobre os pedidos DeStockOnValidateOrder=Decrementar os stocks físicos sobre os pedidos
DeStockOnShipment=Decrementar os stocks físicos sobre os envíos (recomendado) DeStockOnShipment=Decrementar os stocks físicos sobre os envíos (recomendado)
ReStockOnBill=Incrementar os stocks físicos sobre as facturas/recibos (Atenção, em esta Versão, todavía realiza-se o ajuste sobre o armazem número 1) ReStockOnBill=Incrementar os stocks físicos sobre as facturas/recibos
ReStockOnValidateOrder=Incrementar os stocks físicos sobre os pedidos (Atenção, em esta Versão, todavía se realiza o ajuste sobre o armazem número 1) ReStockOnValidateOrder=Incrementar os stocks físicos sobre os pedidos
StockDiffPhysicTeoric=Motivo da diferença entre valores físicos e teóricos StockDiffPhysicTeoric=Motivo da diferença entre valores físicos e teóricos
StockLimitShort=Límite máximo StockLimitShort=Límite máximo
StockLimit=Límite máximo existencias StockLimit=Límite máximo existencias

View File

@ -53,8 +53,8 @@ RuleForStockManagementDecrease=Norma de management al stocurilor scădere
RuleForStockManagementIncrease=Norma de management al stocurilor creştere RuleForStockManagementIncrease=Norma de management al stocurilor creştere
DeStockOnBill=Reducerea real stocurile de pe facturi / note de credit DeStockOnBill=Reducerea real stocurile de pe facturi / note de credit
DeStockOnValidateOrder=Reducerea real stocurile de pe ordinele de note DeStockOnValidateOrder=Reducerea real stocurile de pe ordinele de note
ReStockOnBill=Creşterea reală stocurile de pe facturi / note de credit (avertisment, în această versiune, este doar în depozit numărul 1, care stocul este modificat) ReStockOnBill=Creşterea reală stocurile de pe facturi / note de credit
ReStockOnValidateOrder=Creşterea reală stocurile de pe ordinele de note (avertisment, în această versiune, este doar în depozit numărul 1, care stocul este modificat) ReStockOnValidateOrder=Creşterea reală stocurile de pe ordinele de note
StockLimitShort=Limita de StockLimitShort=Limita de
StockLimit=Stoc limită pentru alerte StockLimit=Stoc limită pentru alerte
PhysicalStock=Stocul fizic PhysicalStock=Stocul fizic

View File

@ -53,8 +53,8 @@ RuleForStockManagementDecrease=Правило для управления зап
RuleForStockManagementIncrease=Правило для управления запасами увеличить RuleForStockManagementIncrease=Правило для управления запасами увеличить
DeStockOnBill=Снижение реальных запасов на счета / кредитных нот DeStockOnBill=Снижение реальных запасов на счета / кредитных нот
DeStockOnValidateOrder=Снижение реальных запасов по заказам записки DeStockOnValidateOrder=Снижение реальных запасов по заказам записки
ReStockOnBill=Увеличение реальных запасов на счета / кредитных нот (предупреждение, в этой версии, это только на склад № 1, что запас изменяется) ReStockOnBill=Увеличение реальных запасов на счета / кредитных нот
ReStockOnValidateOrder=Увеличение реальных запасов по заказам записки (предупреждение, в этой версии, это только на склад № 1, что запас изменяется) ReStockOnValidateOrder=Увеличение реальных запасов по заказам записки
StockDiffPhysicTeoric=Причина разницы запас физических и теоретических StockDiffPhysicTeoric=Причина разницы запас физических и теоретических
StockLimitShort=Предельные StockLimitShort=Предельные
StockLimit=Фондовый предел для оповещения StockLimit=Фондовый предел для оповещения

View File

@ -47,8 +47,8 @@ RuleForStockManagementIncrease= Pravilo za upravljanje povečanja zalog
DeStockOnBill=Zmanjšanje dejanske zaloge po potrditvi fakture/dobropisa DeStockOnBill=Zmanjšanje dejanske zaloge po potrditvi fakture/dobropisa
DeStockOnValidateOrder=Zmanjšanje dejanske zaloge po potrditvi naročila DeStockOnValidateOrder=Zmanjšanje dejanske zaloge po potrditvi naročila
DeStockOnShipment= Zmanjšanje dejanske zaloge po potrditvi odpreme (priporočeno) DeStockOnShipment= Zmanjšanje dejanske zaloge po potrditvi odpreme (priporočeno)
ReStockOnBill=Povečanje dejanske zaloge po potrditvi fakture/dobropisa (pozor, v tej verziji se zaloga spremeni samo v skladišču številka 1) ReStockOnBill=Povečanje dejanske zaloge po potrditvi fakture/dobropisa
ReStockOnValidateOrder=Povečanje dejanske zaloge po potrditvi naročila (pozor, v tej verziji se zaloga spremeni samo v skladišču številka 1) ReStockOnValidateOrder=Povečanje dejanske zaloge po potrditvi naročila
ReStockOnDispatchOrder=Povečanje dejanske zaloge po ročnem vnosu v skladišče, po prejemu naročila od dobavitelja ReStockOnDispatchOrder=Povečanje dejanske zaloge po ročnem vnosu v skladišče, po prejemu naročila od dobavitelja
OrderStatusNotReadyToDispatch=Naročilo še nima ali nima več statusa, ki omogoča odpremo proizvoda iz skladišča. OrderStatusNotReadyToDispatch=Naročilo še nima ali nima več statusa, ki omogoča odpremo proizvoda iz skladišča.
StockDiffPhysicTeoric=Razlog za razliko med knjižno in dejansko zalogo StockDiffPhysicTeoric=Razlog za razliko med knjižno in dejansko zalogo

View File

@ -55,8 +55,8 @@ RuleForStockManagementIncrease=Regel för lagerhantering öka
DeStockOnBill=Minska riktiga lager kunder fakturor / kreditnotor validering DeStockOnBill=Minska riktiga lager kunder fakturor / kreditnotor validering
DeStockOnValidateOrder=Minska riktiga lager på kunder order validering DeStockOnValidateOrder=Minska riktiga lager på kunder order validering
DeStockOnShipment=Minska riktiga lager på transporten validering DeStockOnShipment=Minska riktiga lager på transporten validering
ReStockOnBill=Reell ökning av lager på leverantörer fakturor / kreditnotor validering (varning, i denna version, det är bara i lager nummer 1 att materielen är modifierad) ReStockOnBill=Reell ökning av lager på leverantörer fakturor / kreditnotor validering
ReStockOnValidateOrder=Reell ökning av lagren av leverantörer order gillande (varning, i denna version, det är bara i lager nummer 1 att materielen är modifierad) ReStockOnValidateOrder=Reell ökning av lagren av leverantörer order gillande
ReStockOnDispatchOrder=Reell ökning av lagren på manuell distributionscentraler i lager, efter leverantör för mottagande ReStockOnDispatchOrder=Reell ökning av lagren på manuell distributionscentraler i lager, efter leverantör för mottagande
OrderStatusNotReadyToDispatch=Beställ ännu inte eller inte mer en ställning som innebär sändningar av produkter i lager lager. OrderStatusNotReadyToDispatch=Beställ ännu inte eller inte mer en ställning som innebär sändningar av produkter i lager lager.
StockDiffPhysicTeoric=Orsak till skillnad lager fysiska och teoretiska StockDiffPhysicTeoric=Orsak till skillnad lager fysiska och teoretiska

View File

@ -54,8 +54,8 @@ RuleForStockManagementIncrease=Stok yönetimi artış Kural
DeStockOnBill=Faturaların gerçek stokları azaltın / kredi notları doğrulama DeStockOnBill=Faturaların gerçek stokları azaltın / kredi notları doğrulama
DeStockOnValidateOrder=Emir notları doğrulama DeStockOnValidateOrder=Emir notları doğrulama
DeStockOnShipment=Gönderi doğrulama gerçek stokları azaltın (önerilir) DeStockOnShipment=Gönderi doğrulama gerçek stokları azaltın (önerilir)
ReStockOnBill=Faturaların gerçek hisse arttır / kredi notları doğrulama (uyarı, bu sürümde, bu hisse senedi olarak bir depo sayısı 1 sadece) ReStockOnBill=Faturaların gerçek hisse arttır / kredi notları doğrulama
ReStockOnValidateOrder=Emir notları doğrulama (uyarısı, bu sürüm gerçek stokları artış, bu hisse senedi olarak bir depo sayısı 1 sadece) ReStockOnValidateOrder=Emir notları doğrulama
StockDiffPhysicTeoric=Nedenle fark stok fiziksel ve teorik için StockDiffPhysicTeoric=Nedenle fark stok fiziksel ve teorik için
StockLimitShort=Limit StockLimitShort=Limit
StockLimit=Için borsa sınırı uyarıları StockLimit=Için borsa sınırı uyarıları

View File

@ -54,8 +54,8 @@ RuleForStockManagementIncrease=增加的库存管理规则
DeStockOnBill=减少对客户的实际库存发票/信用票据验证 DeStockOnBill=减少对客户的实际库存发票/信用票据验证
DeStockOnValidateOrder=减少对客户的订单确认 DeStockOnValidateOrder=减少对客户的订单确认
DeStockOnShipment=减少对实际装运验证股票(推荐) DeStockOnShipment=减少对实际装运验证股票(推荐)
ReStockOnBill=增加对供应商发票的实际库存/信用票据验证(警告在此版本中,它只有在仓库数1,股票被修改) ReStockOnBill=增加对供应商发票的实际库存/信用票据验证
ReStockOnValidateOrder=对供应商的订单增加赞许(警告在此版本中,真正的股票,它只有在仓库数1,股票被修改) ReStockOnValidateOrder=对供应商的订单增加赞许
ReStockOnDispatchOrder=增加人工调度到仓库供应商接到订单后,实时股票 ReStockOnDispatchOrder=增加人工调度到仓库供应商接到订单后,实时股票
OrderStatusNotReadyToDispatch=命令还没有或根本没有更多的地位,使产品在仓库库存调度。 OrderStatusNotReadyToDispatch=命令还没有或根本没有更多的地位,使产品在仓库库存调度。
StockDiffPhysicTeoric=股票差异的原因和理论物理 StockDiffPhysicTeoric=股票差异的原因和理论物理