Files
Facilitor/CUST/AAVL/custfunctions.wsc
Arthur Egberink 66c8463f0b FSN#29538 -- Nieuwe SQL-injection
svn path=/Website/branches/v5.4.1/; revision=21504
2014-05-05 13:41:36 +00:00

113 lines
3.1 KiB
XML

<?xml version="1.0"?>
<component>
<?component error="true" debug="true"?>
<registration
description="custfunctions"
progid="custfunction.wsc"
version="1.00"
classid="{4F51571C-1DFC-4769-B8DD-37B356378F12}"
>
</registration>
<public>
<!-- properties -->
<property name="Oracle">
<put/>
</property>
<property name="__Log">
<put/>
</property>
<property name="__DoLog">
<put/>
</property>
<property name="safe">
<put/>
</property>
<!-- methods -->
<method name="bes_punch_receive">
<PARAMETER name="RequestForm"/>
<PARAMETER name="bes_srtdeel_key"/>
<PARAMETER name="item"/>
</method>
</public>
<script language="javascript">
<![CDATA[
/* properties */
function put_Oracle(newValue) {Oracle = newValue};
function put___Log(newValue) {__Log = newValue};
function put___DoLog(newValue) {__DoLog = newValue};
function put_safe(newValue) {safe = newValue};
/* methods */
/*
$Revision$
$Id$
File: custfunction.wsc
*/
/* Dit zijn de enige drie functies die je mag gebruiken */
var Oracle;
var __Log;
var __DoLog;
var safe;
bes_punch_receive = function (RequestForm, bes_srtdeel_key, item, pResult)
{
var result = {orderurl: ""};
sql = "SELECT sd.prs_bedrijf_key FROM bes_srtdeel sd WHERE sd.bes_srtdeel_key = " + bes_srtdeel_key;
oRs = Oracle.Execute(sql);
bedr_key = oRs("prs_bedrijf_key").value;
function punchNVL(nm, n, def)
{
nm = nm.replace('#', n);
if (RequestForm(nm).Count() == 0)
return def;
if (RequestForm(nm) == "")
return def;
return RequestForm(nm)(1);
};
// Alleen voor leverancier Ambius uitvoeren (prs_bedrijf_key = 572)
// Bij Ambius worden de artikelen met het zelfde artikelnummer aangeleverd.
// Sinds versie 5.3.1 zit hier een constraint op in FACILITOR. Daarom forceren
// we een uniek artikelnummer.
// Het artikelnummer (referentie naar de interne bestelling) wordt in de notitie opgeslagen.
// Euroflorist geeft in twee velden aan wat het BTW tarief en het bedrag is. De ontvangen prijs
// is de inclusief BTW prijs. Hier moeten we het BTW bedrag van aftrekken.
if (bedr_key == 572)
{
var val = punchNVL("NEW_ITEM-VAT[#]", item, -1);
var vat = parseFloat(val.replace(/,/g,"."));
var val = punchNVL("NEW_ITEM-VATAMOUNT[#]", item, -1);
var vatamount = parseFloat(val.replace(/,/g,"."));
sql = "UPDATE bes_srtdeel SET bes_srtdeel_opmerking = bes_srtdeel_nr "
+ (vat == -1 || isNaN(vat)? " " : " ,bes_srtdeel_btw = " + vat)
+ " WHERE bes_srtdeel_key = " + bes_srtdeel_key;
oRs = Oracle.Execute(sql);
if (vatamount != -1 && !isNaN(vatamount))
{
sql = "UPDATE bes_srtdeel_prijs SET bes_srtdeel_prijs_prijs = bes_srtdeel_prijs_prijs - " + vatamount
+ " WHERE bes_srtdeel_key = " + bes_srtdeel_key
+ " AND bes_srtdeel_prijs_vervaldatum IS NULL";
oRs = Oracle.Execute(sql);
}
sql = "UPDATE bes_srtdeel SET bes_srtdeel_nr = bes_srtdeel_key WHERE bes_srtdeel_key = " + bes_srtdeel_key;
oRs = Oracle.Execute(sql);
}
return result;
}
]]>
</script>
</component>