mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
New: Add option excludethirdparties and onlythirdparties into merge pdf
scripts.
This commit is contained in:
parent
dd10ff8a11
commit
28c28bd217
|
|
@ -28,6 +28,7 @@ For users:
|
|||
- New: [ task #286 ] Enhance rounding function of prices to allow round of sum instead of sum of rounding.
|
||||
- New: Can add an event automatically when a projet is create.
|
||||
- New: Add option MAIN_GENERATE_DOCUMENT_WITH_PICTURE.
|
||||
- New: Add option excludethirdparties and onlythirdparties into merge pdf scripts.
|
||||
- Qual: Implement same rule for return value of all command line scripts (0 when success, <>0 if error).
|
||||
|
||||
For translators:
|
||||
|
|
|
|||
|
|
@ -43,10 +43,10 @@ require_once(DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php');
|
|||
* @param int $regenerate ''=Use existing PDF files, 'nameofpdf'=Regenerate all PDF files using the template
|
||||
* @param string $option Suffix to add into file name of generated PDF
|
||||
* @param string $paymentbankid Only if payment on this bank account id
|
||||
* @param array $excludethirdpartiesid Exclude thirdparties from select
|
||||
* @param array $thirdpartiesid List of thirdparties id when using filter excludethirdpartiesid or onlythirdpartiesid
|
||||
* @return int Error code
|
||||
*/
|
||||
function rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filter, $dateafterdate, $datebeforedate, $paymentdateafter, $paymentdatebefore, $usestdout, $regenerate=0, $option='', $paymentbankid='', $excludethirdpartiesid='')
|
||||
function rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filter, $dateafterdate, $datebeforedate, $paymentdateafter, $paymentdatebefore, $usestdout, $regenerate=0, $option='', $paymentbankid='', $thirdpartiesid='')
|
||||
{
|
||||
$sql = "SELECT DISTINCT f.rowid, f.facnumber";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
|
||||
|
|
@ -112,11 +112,17 @@ function rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filte
|
|||
else $sqlwhere.=" AND";
|
||||
$sqlwhere.=' type <> 2';
|
||||
}
|
||||
if (in_array('excludethirdparties',$filter) && is_array($excludethirdpartiesid))
|
||||
if (in_array('excludethirdparties',$filter) && is_array($thirdpartiesid))
|
||||
{
|
||||
if (empty($sqlwhere)) $sqlwhere=' WHERE ';
|
||||
else $sqlwhere.=" AND";
|
||||
$sqlwhere.=' f.fk_soc NOT IN ('.join(',',$excludethirdpartiesid).')';
|
||||
$sqlwhere.=' f.fk_soc NOT IN ('.join(',',$thirdpartiesid).')';
|
||||
}
|
||||
if (in_array('onlythirdparties',$filter) && is_array($thirdpartiesid))
|
||||
{
|
||||
if (empty($sqlwhere)) $sqlwhere=' WHERE ';
|
||||
else $sqlwhere.=" AND";
|
||||
$sqlwhere.=' f.fk_soc IN ('.join(',',$thirdpartiesid).')';
|
||||
}
|
||||
if ($sqlwhere) $sql.=$sqlwhere;
|
||||
if ($sqlorder) $sql.=$sqlorder;
|
||||
|
|
|
|||
|
|
@ -188,8 +188,16 @@ foreach ($argv as $key => $value)
|
|||
$found=true;
|
||||
$filter[]='excludethirdparties';
|
||||
|
||||
$excludethirdpartiesid=explode(',',$argv[$key+1]);
|
||||
print 'Exclude thirdparties with id in list ('.join(',',$excludethirdpartiesid).").\n";
|
||||
$thirdpartiesid=explode(',',$argv[$key+1]);
|
||||
print 'Exclude thirdparties with id in list ('.join(',',$thirdpartiesid).").\n";
|
||||
}
|
||||
if ($value == 'filter=onlythirdparties')
|
||||
{
|
||||
$found=true;
|
||||
$filter[]='onlythirdparties';
|
||||
|
||||
$thirdpartiesid=explode(',',$argv[$key+1]);
|
||||
print 'Only thirdparties with id in list ('.join(',',$thirdpartiesid).").\n";
|
||||
}
|
||||
|
||||
if (! $found && preg_match('/filter=/i',$value))
|
||||
|
|
@ -220,7 +228,7 @@ if (in_array('bank',$filter) && in_array('nopayment',$filter))
|
|||
|
||||
// Define SQL and SQL request to select invoices
|
||||
// Use $filter, $dateafterdate, datebeforedate, $paymentdateafter, $paymentdatebefore
|
||||
$result=rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filter, $dateafterdate, $datebeforedate, $paymentdateafter, $paymentdatebefore, 1, $regenerate, $option, $paymentonbankid, $excludethirdpartiesid);
|
||||
$result=rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filter, $dateafterdate, $datebeforedate, $paymentdateafter, $paymentdatebefore, 1, $regenerate, $option, $paymentonbankid, $thirdpartiesid);
|
||||
|
||||
|
||||
|
||||
|
|
@ -268,6 +276,7 @@ function usage()
|
|||
print "To exclude replacement invoices, use filter=noreplacement\n";
|
||||
print "To exclude deposit invoices, use filter=nodeposit\n";
|
||||
print "To exclude some thirdparties, use filter=excludethirdparties id1,id2...\n";
|
||||
print "To limit to some thirdparties, use filter=onlythirdparties id1,id2...\n";
|
||||
print "To regenerate existing PDF, use regenerate=crabe\n";
|
||||
print "To generate invoices in a language, use lang=xx_XX\n";
|
||||
print "\n";
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user