113 lines
3.1 KiB
XML
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>
|