FSN#24638: FIN: Factuur kan worden opgeslagen zonder referentie en tracking onvolledig.
svn path=/Website/trunk/; revision=15939
This commit is contained in:
@@ -139,220 +139,215 @@ function clearExtInvDetails()
|
||||
FcltMgr.resized(window);
|
||||
}
|
||||
|
||||
function FcltGetRefInfoCallback(json, textStatus)
|
||||
function FcltGetRefInfoCallback(json)
|
||||
{
|
||||
if (textStatus == "success")
|
||||
if (json.message)
|
||||
{
|
||||
if (json.message)
|
||||
alert(json.message);
|
||||
$("#referentienr").val($("#referentienr_old").val());
|
||||
referenceChanged(true); // Geef de juiste referentiegegevens weer goed weer. Oude waarde is zeker een goede waarde.
|
||||
}
|
||||
else if (fin_enable_kostensoort == 0 && fin_kostensoort_verplicht == 1 && !json.kostensoort_key)
|
||||
{ // Kostensoort is hidden maar wel verplicht. Referentie heeft geen geldige kostensoort die dan verderop kan worden ingevuld
|
||||
alert(L("lcl_fin_invalid_ref_ks"));
|
||||
$("#referentienr").val($("#referentienr_old").val());
|
||||
referenceChanged(true); // Geef de juiste referentiegegevens weer goed weer. Oude waarde is zeker een goede waarde.
|
||||
}
|
||||
else
|
||||
{
|
||||
if (json.ref_type)
|
||||
{
|
||||
alert(json.message);
|
||||
$("#referentienr").val($("#referentienr_old").val());
|
||||
referenceChanged(true); // Geef de juiste referentiegegevens weer goed weer. Oude waarde is zeker een goede waarde.
|
||||
}
|
||||
else if (fin_enable_kostensoort == 0 && fin_kostensoort_verplicht == 1 && !json.kostensoort_key)
|
||||
{ // Kostensoort is hidden maar wel verplicht. Referentie heeft geen geldige kostensoort die dan verderop kan worden ingevuld
|
||||
alert(L("lcl_fin_invalid_ref_ks"));
|
||||
$("#referentienr").val($("#referentienr_old").val());
|
||||
referenceChanged(true); // Geef de juiste referentiegegevens weer goed weer. Oude waarde is zeker een goede waarde.
|
||||
}
|
||||
else
|
||||
{
|
||||
if (json.ref_type)
|
||||
// Hoeveel factuurregels zijn er?
|
||||
var count = 0;
|
||||
for (i in selectedItems)
|
||||
{
|
||||
// Hoeveel factuurregels zijn er?
|
||||
var count = 0;
|
||||
for (i in selectedItems)
|
||||
if (selectedItems[i] != null)
|
||||
count++;
|
||||
}
|
||||
|
||||
// Als er door de referenties verschillende btw tabellen wordt gebruikt terwijl er factuurregels zijn, dan wijziging niet accepteren en melding geven
|
||||
if (count > 0 && $("#btwtabel_key").val() != json.btwtabel_key)
|
||||
{
|
||||
alert(L("lcl_fin_ref_btw_diff"));
|
||||
$("#referentienr").val($("#referentienr_old").val());
|
||||
}
|
||||
else
|
||||
{
|
||||
// T.b.v. de mogelijkheid om oude waarde weer terug te zetten bij ongeldige referentie
|
||||
$("#referentienr_old").val($("#referentienr").val().toUpperCase());
|
||||
|
||||
$("#fin_type").val(json.ref_type);
|
||||
$("#lev_uit").val(json.lev_uit);
|
||||
if (canReqRelDetails)
|
||||
{
|
||||
if (selectedItems[i] != null)
|
||||
count++;
|
||||
$('#lev_uit').click(function()
|
||||
{
|
||||
refurl = "appl/prs/prs_show_bedrijf.asp?bedrijf_key=" + json.lev_uit_key; // TODO: Welke urole moet meegegeven worden fo/bo. Nu is fo gekozen
|
||||
FcltMgr.openDetail(refurl, json.lev_uit);
|
||||
}
|
||||
);
|
||||
}
|
||||
$("#status").val(json.status);
|
||||
$("#startdate").val(json.startdatum);
|
||||
$("#enddate").val(json.einddatum);
|
||||
if (fin_defaultboekmaand == 2 && json.refchanged)
|
||||
{ // Boekmaand invullen adhv bestel/opdrachtdatum
|
||||
$("#finboekm").val(json.periode); // Tonen opdrachtdatum
|
||||
}
|
||||
|
||||
// Als er door de referenties verschillende btw tabellen wordt gebruikt terwijl er factuurregels zijn, dan wijziging niet accepteren en melding geven
|
||||
if (count > 0 && $("#btwtabel_key").val() != json.btwtabel_key)
|
||||
if (json.totbedrag == "")
|
||||
$("#totbedrag").val("");
|
||||
else
|
||||
$("#totbedrag").val(currency_pref + num2currEditable(parseFloat(json.totbedrag)) + currency_suff);
|
||||
|
||||
if (json.gefactureerd == "")
|
||||
$("#gefactureerd").val("");
|
||||
else
|
||||
$("#gefactureerd").val(currency_pref + num2currEditable(parseFloat(json.gefactureerd)) + currency_suff);
|
||||
|
||||
if (json.gefactureerd_jaar == "")
|
||||
$("#gefactureerd_jaar").val("");
|
||||
else
|
||||
$("#gefactureerd_jaar").val(currency_pref + num2currEditable(parseFloat(json.gefactureerd_jaar)) + currency_suff);
|
||||
|
||||
if (json.show_omschr)
|
||||
{
|
||||
alert(L("lcl_fin_ref_btw_diff"));
|
||||
$("#referentienr").val($("#referentienr_old").val());
|
||||
// De opdracht omschrijving niet in een <textarea> omdat dit veld bij contact en bestelling referenties niet zichtbaar is
|
||||
// Dit omdat de functie $('textarea').autogrow() dan de foutmelding "Invalid argument." geeft. (standaard jquery component)
|
||||
//$("#opdr_omschr").html('<textarea class="fldtxt" readonly>' + json.opdr_omschr + "</textarea>");
|
||||
//$('textarea').autogrow(); // Zet de textarea van de opdracht omschrijving weer helemaal open, zodat alle text zichtbaar is
|
||||
$("#opdr_omschr").html(json.opdr_omschr);
|
||||
$("#tr_opdr_omschr").css("display", "block");
|
||||
}
|
||||
else
|
||||
{
|
||||
// T.b.v. de mogelijkheid om oude waarde weer terug te zetten bij ongeldige referentie
|
||||
$("#referentienr_old").val($("#referentienr").val().toUpperCase());
|
||||
$("#opdr_omschr").val("");
|
||||
$("#tr_opdr_omschr").css("display", "none");
|
||||
}
|
||||
|
||||
$("#fin_type").val(json.ref_type);
|
||||
$("#lev_uit").val(json.lev_uit);
|
||||
if (canReqRelDetails)
|
||||
if (json.show_loc)
|
||||
{
|
||||
var loc_geg_string = "";
|
||||
for (i = 0; i < json.loc_geg.length; i++)
|
||||
{
|
||||
$('#lev_uit').click(function()
|
||||
{
|
||||
refurl = "appl/prs/prs_show_bedrijf.asp?bedrijf_key=" + json.lev_uit_key; // TODO: Welke urole moet meegegeven worden fo/bo. Nu is fo gekozen
|
||||
FcltMgr.openDetail(refurl, json.lev_uit);
|
||||
}
|
||||
);
|
||||
}
|
||||
$("#status").val(json.status);
|
||||
$("#startdate").val(json.startdatum);
|
||||
$("#enddate").val(json.einddatum);
|
||||
if (fin_defaultboekmaand == 2 && json.refchanged)
|
||||
{ // Boekmaand invullen adhv bestel/opdrachtdatum
|
||||
$("#finboekm").val(json.periode); // Tonen opdrachtdatum
|
||||
loc_geg_string += (i > 0? ",<br>" : "") + json.loc_geg[i].loc_desc;
|
||||
}
|
||||
$("#loc_omschr").html(loc_geg_string);
|
||||
$("#tr_loc_omschr").css("display", "block");
|
||||
} else {
|
||||
$("#loc_omschr").html("");
|
||||
$("#tr_loc_omschr").css("display", "none");
|
||||
}
|
||||
|
||||
if (json.totbedrag == "")
|
||||
$("#totbedrag").val("");
|
||||
if (json.refchanged)
|
||||
if (fin_enable_kostensoort == 0)
|
||||
$("#fincostsrt").val(json.kostensoort_key); // hidden veld zetten
|
||||
else
|
||||
$("#totbedrag").val(currency_pref + num2currEditable(parseFloat(json.totbedrag)) + currency_suff);
|
||||
// setValue(key, txt, doonChange, checkExist, extraParam, lastTry)
|
||||
// lastTry is true zodat suggestbox wordt leeggemaakt indien waarde niet voorkomt (en niet de laatst waarde wordt getoond)
|
||||
sgCostCentre.setValue(json.kostensoort_key, json.kostensoort_oms, true, true, null, true); // Suggestbox zetten
|
||||
|
||||
if (json.gefactureerd == "")
|
||||
$("#gefactureerd").val("");
|
||||
else
|
||||
$("#gefactureerd").val(currency_pref + num2currEditable(parseFloat(json.gefactureerd)) + currency_suff);
|
||||
|
||||
if (json.gefactureerd_jaar == "")
|
||||
$("#gefactureerd_jaar").val("");
|
||||
else
|
||||
$("#gefactureerd_jaar").val(currency_pref + num2currEditable(parseFloat(json.gefactureerd_jaar)) + currency_suff);
|
||||
|
||||
if (json.show_omschr)
|
||||
{
|
||||
// De opdracht omschrijving niet in een <textarea> omdat dit veld bij contact en bestelling referenties niet zichtbaar is
|
||||
// Dit omdat de functie $('textarea').autogrow() dan de foutmelding "Invalid argument." geeft. (standaard jquery component)
|
||||
//$("#opdr_omschr").html('<textarea class="fldtxt" readonly>' + json.opdr_omschr + "</textarea>");
|
||||
//$('textarea').autogrow(); // Zet de textarea van de opdracht omschrijving weer helemaal open, zodat alle text zichtbaar is
|
||||
$("#opdr_omschr").html(json.opdr_omschr);
|
||||
$("#tr_opdr_omschr").css("display", "block");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#opdr_omschr").val("");
|
||||
$("#tr_opdr_omschr").css("display", "none");
|
||||
}
|
||||
|
||||
if (json.show_loc)
|
||||
{
|
||||
var loc_geg_string = "";
|
||||
for (i = 0; i < json.loc_geg.length; i++)
|
||||
{
|
||||
loc_geg_string += (i > 0? ",<br>" : "") + json.loc_geg[i].loc_desc;
|
||||
}
|
||||
$("#loc_omschr").html(loc_geg_string);
|
||||
$("#tr_loc_omschr").css("display", "block");
|
||||
} else {
|
||||
$("#loc_omschr").html("");
|
||||
$("#tr_loc_omschr").css("display", "none");
|
||||
}
|
||||
|
||||
if (json.refchanged)
|
||||
if (fin_enable_kostensoort == 0)
|
||||
$("#fincostsrt").val(json.kostensoort_key); // hidden veld zetten
|
||||
else
|
||||
// setValue(key, txt, doonChange, checkExist, extraParam, lastTry)
|
||||
// lastTry is true zodat suggestbox wordt leeggemaakt indien waarde niet voorkomt (en niet de laatst waarde wordt getoond)
|
||||
sgCostCentre.setValue(json.kostensoort_key, json.kostensoort_oms, true, true, null, true); // Suggestbox zetten
|
||||
|
||||
$('#reflink').val(json.referentie)
|
||||
if ($("#referentienr").val() != json.referentie)
|
||||
$("#referentienr").val(json.referentie);
|
||||
switch (json.ref_type)
|
||||
{
|
||||
case "O": // Opdracht (Melding)
|
||||
$('label[for="reflink"]').html(L("lcl_shared_order"));
|
||||
$("#refopdrtype").val(json.typeopdr_omschr);
|
||||
$("#tr_refopdrtype").css("display", "block");
|
||||
//$('label[for="enddate"]').html(L("lcl_fin_end_date_plan") + ":");
|
||||
$("#loc_code").val(json.loc_code);
|
||||
// Als de default kostenplaats is geselecteerd of bij nieuwe facturen dan locatiecode invullen bij de factuurregels.
|
||||
if (json.refchanged)
|
||||
updateLocation();
|
||||
if (canReqRefDetails)
|
||||
{
|
||||
$('#reflink').click(function()
|
||||
{
|
||||
refurl = "appl/mld/mld_opdr.asp?urole=fo&opdr_key=" + json.ref_key; // TODO: Welke urole moet meegegeven worden fo/bo. Nu is fo gekozen
|
||||
FcltMgr.openDetail(refurl, L("lcl_shared_order") + " " + json.referentie);
|
||||
}
|
||||
);
|
||||
}
|
||||
break;
|
||||
case "B": // Bestelling opdracht
|
||||
$('label[for="reflink"]').html(L("lcl_fin_bestelopdracht"));
|
||||
$("#tr_refopdrtype").css("display", "none");
|
||||
//$('label[for="enddate"]').html(L("lcl_fin_delivery_date") + ":");
|
||||
$("#loc_code").val(json.loc_code);
|
||||
// Als de default kostenplaats is geselecteerd of bij nieuwe facturen dan locatiecode invullen bij de factuurregels.
|
||||
if (json.refchanged)
|
||||
updateLocation();
|
||||
if (canReqRefDetails)
|
||||
{
|
||||
$('#reflink').click(function()
|
||||
{
|
||||
refurl = "appl/bes/bes_opdr.asp?urole=fo&ordernr=" + json.ref_key // TODO: Welke urole moet meegegeven worden fo/bo. Nu is fo gekozen
|
||||
FcltMgr.openDetail(refurl, L("lcl_fin_bestelopdracht") + " " + bes_bestelling_prefix + json.referentie);
|
||||
}
|
||||
);
|
||||
}
|
||||
break;
|
||||
case "C": // Contract
|
||||
$('label[for="reflink"]').html(L("lcl_fin_contract"));
|
||||
$("#tr_refopdrtype").css("display", "none");
|
||||
//$('label[for="enddate"]').html(L("lcl_fin_end_date") + ":");
|
||||
$("#loc_code").val("");
|
||||
if (canReqRefDetails)
|
||||
{
|
||||
$('#reflink').click(function()
|
||||
{
|
||||
refurl = "appl/CNT/cnt_contract.asp?urole=fo&cnt_key=" + json.ref_key // TODO: Welke urole moet meegegeven worden fo/bo. Nu is fo gekozen
|
||||
FcltMgr.openDetail(refurl, L("lcl_fin_contract") + " " + json.referentie);
|
||||
}
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (json.aantalfacturen > 0)
|
||||
{
|
||||
$("#fincnt").val(json.aantalfacturen);
|
||||
$("#finsom").val(currency_pref + json.totaalbedrag + currency_suff);
|
||||
FcltMgr.resized(window);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#fincnt").val(json.aantalfacturen);
|
||||
$("#finsom").val(currency_pref + json.totaalbedrag + currency_suff);
|
||||
}
|
||||
|
||||
$("#btwtabel_key").val(json.btwtabel_key);
|
||||
btwtabel = json.btwtabel;
|
||||
|
||||
if (count == 0 && json.refchanged && fin_key == -1)
|
||||
{
|
||||
AddItem();
|
||||
$("#show_calendar").focus();
|
||||
}
|
||||
$('#reflink').val(json.referentie)
|
||||
if ($("#referentienr").val() != json.referentie)
|
||||
$("#referentienr").val(json.referentie);
|
||||
switch (json.ref_type)
|
||||
{
|
||||
case "O": // Opdracht (Melding)
|
||||
$('label[for="reflink"]').html(L("lcl_shared_order"));
|
||||
$("#refopdrtype").val(json.typeopdr_omschr);
|
||||
$("#tr_refopdrtype").css("display", "block");
|
||||
//$('label[for="enddate"]').html(L("lcl_fin_end_date_plan") + ":");
|
||||
$("#loc_code").val(json.loc_code);
|
||||
// Als de default kostenplaats is geselecteerd of bij nieuwe facturen dan locatiecode invullen bij de factuurregels.
|
||||
if (json.refchanged)
|
||||
updateLocation();
|
||||
if (canReqRefDetails)
|
||||
{
|
||||
$('#reflink').click(function()
|
||||
{
|
||||
refurl = "appl/mld/mld_opdr.asp?urole=fo&opdr_key=" + json.ref_key; // TODO: Welke urole moet meegegeven worden fo/bo. Nu is fo gekozen
|
||||
FcltMgr.openDetail(refurl, L("lcl_shared_order") + " " + json.referentie);
|
||||
}
|
||||
);
|
||||
}
|
||||
break;
|
||||
case "B": // Bestelling opdracht
|
||||
$('label[for="reflink"]').html(L("lcl_fin_bestelopdracht"));
|
||||
$("#tr_refopdrtype").css("display", "none");
|
||||
//$('label[for="enddate"]').html(L("lcl_fin_delivery_date") + ":");
|
||||
$("#loc_code").val(json.loc_code);
|
||||
// Als de default kostenplaats is geselecteerd of bij nieuwe facturen dan locatiecode invullen bij de factuurregels.
|
||||
if (json.refchanged)
|
||||
updateLocation();
|
||||
if (canReqRefDetails)
|
||||
{
|
||||
$('#reflink').click(function()
|
||||
{
|
||||
refurl = "appl/bes/bes_opdr.asp?urole=fo&ordernr=" + json.ref_key // TODO: Welke urole moet meegegeven worden fo/bo. Nu is fo gekozen
|
||||
FcltMgr.openDetail(refurl, L("lcl_fin_bestelopdracht") + " " + bes_bestelling_prefix + json.referentie);
|
||||
}
|
||||
);
|
||||
}
|
||||
break;
|
||||
case "C": // Contract
|
||||
$('label[for="reflink"]').html(L("lcl_fin_contract"));
|
||||
$("#tr_refopdrtype").css("display", "none");
|
||||
//$('label[for="enddate"]').html(L("lcl_fin_end_date") + ":");
|
||||
$("#loc_code").val("");
|
||||
if (canReqRefDetails)
|
||||
{
|
||||
$('#reflink').click(function()
|
||||
{
|
||||
refurl = "appl/CNT/cnt_contract.asp?urole=fo&cnt_key=" + json.ref_key // TODO: Welke urole moet meegegeven worden fo/bo. Nu is fo gekozen
|
||||
FcltMgr.openDetail(refurl, L("lcl_fin_contract") + " " + json.referentie);
|
||||
}
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (json.aantalfacturen > 0)
|
||||
{
|
||||
$("#fincnt").val(json.aantalfacturen);
|
||||
$("#finsom").val(currency_pref + json.totaalbedrag + currency_suff);
|
||||
FcltMgr.resized(window);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#fincnt").val(json.aantalfacturen);
|
||||
$("#finsom").val(currency_pref + json.totaalbedrag + currency_suff);
|
||||
}
|
||||
|
||||
$("#btwtabel_key").val(json.btwtabel_key);
|
||||
btwtabel = json.btwtabel;
|
||||
|
||||
if (count == 0 && json.refchanged && fin_key == -1)
|
||||
{
|
||||
AddItem();
|
||||
$("#show_calendar").focus();
|
||||
}
|
||||
|
||||
FcltMgr.resized(window);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
alert("FcltGetRefInfoCallback: " + textStatus);
|
||||
}
|
||||
|
||||
function referenceChanged(refchanged)
|
||||
{
|
||||
if ($("#referentienr").val() != "")
|
||||
$.post("get_ref_info_ajax.asp",
|
||||
{ ref_nr: $("#referentienr").val(),
|
||||
fin_boekm_jaar: $("#finboekm").val().substr(0, 4),
|
||||
refchanged: (refchanged && ($("#referentienr_old").val() == "" || default_costsrt_selected || fin_key == -1)? 1: 0),
|
||||
fin_factuur_nr: $("#finnr").val()
|
||||
},
|
||||
FcltGetRefInfoCallback,
|
||||
"json");
|
||||
{
|
||||
var returndata = FcltSyncgetJSON("get_ref_info_ajax.asp",
|
||||
{ ref_nr: $("#referentienr").val(),
|
||||
fin_boekm_jaar: $("#finboekm").val().substr(0, 4),
|
||||
refchanged: (refchanged && ($("#referentienr_old").val() == "" || default_costsrt_selected || fin_key == -1)? 1: 0),
|
||||
fin_factuur_nr: $("#finnr").val()
|
||||
});
|
||||
FcltGetRefInfoCallback(returndata)
|
||||
}
|
||||
else
|
||||
// T.b.v. de modgelijk om oude waarde weer terug te zetten bij ongeldige referentie
|
||||
// T.b.v. de mogelijkheid om oude waarde weer terug te zetten bij ongeldige referentie
|
||||
$("#referentienr_old").val("");
|
||||
|
||||
}
|
||||
|
||||
function updateLocation()
|
||||
|
||||
Reference in New Issue
Block a user