FCLT#57745: Factuurinvoer bij meerdere BTW-tabellen.
svn path=/Website/branches/v2019.1/; revision=42499
This commit is contained in:
@@ -235,7 +235,33 @@ function FcltGetRefInfoCallback(json)
|
||||
if (json.ref_type)
|
||||
{
|
||||
// Hoeveel factuurregels zijn er?
|
||||
var count = $("table#sel_items input[id^=sum]").length;
|
||||
var count = $("table#sel_items input[id^=sumBTW]:visible").length;
|
||||
|
||||
// Als er door de referenties verschillende btw tabellen worden gebruikt terwijl er factuurregels zijn, dan wijziging niet accepteren en melding geven.
|
||||
if (count > 0 && window.btwtabel_key != json.btwtabel_key)
|
||||
{
|
||||
// De niet ingevulde zichtbare factuurregels verwijderen.
|
||||
$("table#sel_items tr[id^=trfin]:visible").not("[id$=inline]").each(function()
|
||||
{ // Alleen de zichbare factuurregels.
|
||||
var row = $(this).attr("id").substr(5);
|
||||
var isLeeg = true;
|
||||
$(this).find("input[id^=descript], input[id^=ref], input[id^=sum]").not("input[id^=sumBTW]").each(function()
|
||||
{
|
||||
var inputid = $(this).attr("id");
|
||||
//debugger;
|
||||
if ($(this).val() !== "")
|
||||
isLeeg = false;
|
||||
});
|
||||
|
||||
var inputid = $(this).attr("id");
|
||||
// Als de regel niet ingevuld is dan verwijderen.
|
||||
if (isLeeg)
|
||||
DeleteOrderLine(row, true);
|
||||
});
|
||||
|
||||
// Opnieuw tellen na vewijdering van lege de regels.
|
||||
count = $("table#sel_items input[id^=sumBTW]:visible").length;
|
||||
}
|
||||
|
||||
// Als er door de referenties verschillende btw tabellen worden gebruikt terwijl er factuurregels zijn, dan wijziging niet accepteren en melding geven.
|
||||
if (count > 0 && window.btwtabel_key != json.btwtabel_key)
|
||||
@@ -256,7 +282,9 @@ function FcltGetRefInfoCallback(json)
|
||||
$("#defaultbtw").val(defaultbtw); // Het veld defaultbtw is nooit leeg (btw woco x leverancier of standaard default waarde).
|
||||
$("#defaultbtw_verlegd").val(json.defaultbtw? json.defaultbtw_verlegd : fin_btw_default_verlegd);
|
||||
|
||||
if (json.refchanged)
|
||||
// Alleen als de defaultbtw waarde bestaat mag deze ingevuld worden, anders wordt er niets getoond.
|
||||
var valueExist = $("select[name^=BTW] option[value=" + defaultbtw + "]").length != 0;
|
||||
if (json.refchanged && valueExist)
|
||||
$("select[name^=BTW]").val(defaultbtw);
|
||||
|
||||
$("#fin_type").val(json.ref_type);
|
||||
@@ -570,7 +598,7 @@ function setPrice(obj)
|
||||
{
|
||||
var $row = $(obj).closest("tr");
|
||||
var btwkey = $row.find("[id^=BTW]").val();
|
||||
var sum = $row.find("[id^=sum]").val();
|
||||
var sum = $row.find("[id^=sum]").val(); // De functie val() pakt de waarde van het eerste input veld "sum1" en niet het input veld "sumBTW1".
|
||||
if (sum == "")
|
||||
sum = 0;
|
||||
else
|
||||
@@ -592,10 +620,11 @@ function setPrice(obj)
|
||||
var totalEXC = 0;
|
||||
$("table#sel_items input[id^=sum]").each(function()
|
||||
{
|
||||
var thisval = $(this).val() == ""? "0" : $(this).val();
|
||||
if (this.id.substr(0,6) == "sumBTW")
|
||||
totalBTW += myParseFloat($(this).val());
|
||||
totalBTW += myParseFloat(thisval);
|
||||
else
|
||||
totalEXC += myParseFloat($(this).val());
|
||||
totalEXC += myParseFloat(thisval);
|
||||
});
|
||||
$("#totalEXC_txt").html(currency_pref + num2curr(totalEXC) + currency_suff);
|
||||
$("#totalBTW_txt").html(currency_pref + num2curr(totalBTW) + currency_suff);
|
||||
@@ -725,29 +754,36 @@ function AddItem(nofocus) // als je hieronder iets aanpast controleer dan ook fi
|
||||
// -1: het is een nieuwe regel die nog niet in de database is
|
||||
// 0: het is een nieuwe regel die met het kruisje is weggehaald (hidden gemaakt)
|
||||
// < -1: een bestaande factuurregel die met het kruisje is weggehaald (hidden gemaakt)
|
||||
function DeleteOrderLine(row)
|
||||
function DeleteOL(row)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_fin_cancelfac"), function() {
|
||||
var regel_key = $("#regel_key" + row);
|
||||
if (regel_key.val() == -1)
|
||||
regel_key.val(0); // signal delete for new visitor
|
||||
else
|
||||
regel_key.val(-regel_key.val()); // signal delete
|
||||
var tr = $("#trfin" + row);
|
||||
tr.hide();
|
||||
// Haal de required class overal af als deze erop zit.
|
||||
$("#trfin" + row).find("*").removeClass("required"); // Required zit nu nog niet op deze regel.
|
||||
tr = $("#trfin" + row + "inline");
|
||||
tr.hide();
|
||||
// Haal de required class overal af als deze erop zit.
|
||||
$("#trfin" + row + "inline").find("*").removeClass("required"); // Required kan op flexkenmerken zitten.
|
||||
|
||||
var regel_key = $("#regel_key" + row);
|
||||
if (regel_key.val() == -1)
|
||||
regel_key.val(0); // signal delete for new visitor
|
||||
else
|
||||
regel_key.val(-regel_key.val()); // signal delete
|
||||
var tr = $("#trfin" + row);
|
||||
tr.hide();
|
||||
// Haal de required class overal af als deze erop zit.
|
||||
$("#trfin" + row).find("*").removeClass("required"); // Required zit nu nog niet op deze regel.
|
||||
tr = $("#trfin" + row + "inline");
|
||||
tr.hide();
|
||||
// Haal de required class overal af als deze erop zit.
|
||||
$("#trfin" + row + "inline").find("*").removeClass("required"); // Required kan op flexkenmerken zitten.
|
||||
|
||||
// Verwijder van de totalBTW
|
||||
$("#sum" + row).val(0);
|
||||
$("#sumBTW" + row).val(0);
|
||||
setPrice(null);
|
||||
});
|
||||
// Verwijder van de totalBTW
|
||||
$("#sum" + row).val(0);
|
||||
$("#sumBTW" + row).val(0);
|
||||
setPrice(null);
|
||||
}
|
||||
function DeleteOrderLine(row, pinstantDelete)
|
||||
{
|
||||
if (pinstantDelete)
|
||||
// Direct de regel verwijderen zonder bevestiging van de gebruiker.
|
||||
DeleteOL(row)
|
||||
else
|
||||
FcltMgr.confirm(L("lcl_fin_cancelfac"), function() {
|
||||
DeleteOL(row)
|
||||
});
|
||||
}
|
||||
|
||||
function SumChanged(obj)
|
||||
|
||||
Reference in New Issue
Block a user