<?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>
