var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Transact; (function (Transact) { let Controls; (function (Controls) { class Voucher extends Unibase.Platform.Core.BaseComponent { init(formpropertyid, prop, callback) { var container = "control-container-" + formpropertyid; var instance = this; instance.local_container = container; instance.editVoucher = false; instance.findtxtcrRdr = 2; instance.transactionId = parseInt('00001', 8); instance.flag = 0; instance.fileCacheHelper.loadJsFile('apps/transact/managers/vouchers/vouchermanager.js', function () { instance.fileCacheHelper.loadJsFile('platform/core/helpers/numberhelper/numberhelper.js', function () { instance.loadInitTransaction(); $("#" + container).find("#btnAddNewTransaction").click(function () { instance.addTransaction(false); $(".transactonList_div").addClass("hidden"); }); if (callback != null) { callback(); } setTimeout(function () { }, 500); }); }); } loadControl(container, prop) { var html = '
Account Name *
Debit
Debit
Credit
Credit
' + '
' + '
Add New Account
' + '
0.00
' + '
0.00
'; $("#" + container).html(html); } loadControlSettings(controlsettingjson, formpropertyid) { return __awaiter(this, void 0, void 0, function* () { }); } loadPropertySettings(propertysettings, formpropertyid) { } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { var journalId = Number(propval); var instance = this; var transactionId = parseInt('00001', 8); instance.transactionId = transactionId; instance.editVoucher = true; Bizgaze.Apps.Transact.Managers.VoucherManager.Instance().getJournalData(journalId).then(function (response) { var data = response.result; if (data.JournalEntries.length > 0) { $(".divTransactonList").empty(); $(".divTransactonList").html('
'); var totalCredit = 0; var totalDebit = 0; for (var i = 0; i < data.JournalEntries.length; i++) { var jEntry = data.JournalEntries[i]; var j = $('.transactonList_item:last').attr("name"); var tid = instance.addTransaction(true); transactionId = tid; var element = $('.transactonList_item_TRN' + transactionId + ''); element.find('.hf_JournalEntryId').val(jEntry.JournalEntryId); element.find('.hf_JournalIdforJEntry').val(jEntry.JournalId); element.find('.hf_ContactId').val(jEntry.ContactId); element.find('.hf_AccountId').val(jEntry.LedgerId); element.find("#txt_AccountName_TRN" + transactionId).append(''); element.find('.txt_Debit').val(jEntry.Debit); element.find('.txt_Credit').val(jEntry.Credit); totalCredit += Number(jEntry.Credit); totalDebit += Number(jEntry.Debit); $('#Debittotal').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totalDebit, 2)); $('#credittotal').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totalCredit, 2)); element.find('#Debittotal').val(jEntry.Debit); element.find('#txt_AcNarration').val(jEntry.Description); element.find('.rowAcNarrartion,.rowWallets,.rowDues,.transactonList_div_TRN' + transactionId).removeClass('hidden'); $(".transactonList_div").addClass("hidden"); var orgAutoComplete = element.find("#div_ddl_Cust"); var emptyDiv = element.find("#div_empty"); if (jEntry.ContactId == 0) { element.find(".rowWallets").addClass("hidden"); element.find(".rowDues").addClass("hidden"); $(emptyDiv).addClass("hidden"); $(orgAutoComplete).removeClass("hidden"); } else { $(emptyDiv).removeClass("hidden"); $(orgAutoComplete).addClass("hidden"); } if (jEntry.ContactId != 0) { if (jEntry.Debit == 0) instance.loadWalletsAndDues('TRN' + transactionId, data.JournalId, jEntry.ContactId, 'credit', false, '', true, true); else instance.loadWalletsAndDues('TRN' + transactionId, data.JournalId, jEntry.ContactId, 'debit', false, '', true, true); element.find("#ddl_Org_TRN" + transactionId).append(''); } else { instance.loadWalletsAndDues('TRN' + transactionId, 0, 0, '', false, '', true, undefined); element.find('.rowWallets,.rowDues').addClass('hidden'); } if (jEntry.LedgerId != 0) { Bizgaze.Apps.Transact.Managers.VoucherManager.Instance().getLedgerBalance(jEntry.LedgerId).then(function (response) { var result = response.result; instance.gettotbal(result, transactionId); }); } if (jEntry.JournalAllocations != null && jEntry.JournalAllocations != undefined) { if (jEntry.JournalAllocations.length > 0) { if (jEntry.JournalAllocations[0].AllocTypeId == 3) { $('.rowAdvanceAmount_TRN' + transactionId).removeClass('hidden'); $('.lblAdvanceAmount_TRN' + transactionId).text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(jEntry.JournalAllocations[0].Credit, 2)); $('#hf_AdvanceJournalAllocId_TRN' + transactionId).val(jEntry.JournalAllocations[0].JournalAllocId); } } } } } eval('_floatingLabelHelper.init()'); }); } loadSeriesAutoComplete() { var installedAppId = Unibase.Platform.Forms.Components.FormViewer.Instance().InstalledAppId; if (installedAppId != 0 && installedAppId != undefined && installedAppId != null) { var seriesParameters = [{ "ColumnName": "installedappid", "Value": installedAppId, }]; Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_seriesid"), seriesParameters); } } bindDefaultSeries() { var installedAppId = Unibase.Platform.Forms.Components.FormViewer.Instance().InstalledAppId; var pkid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_journalid"); var voucherId = 0; if (pkid != null || pkid != undefined) { voucherId = Number(pkid.Value); } if (voucherId == 0 || isNaN(voucherId)) { Bizgaze.Apps.Transact.Managers.VoucherManager.Instance().getDefaultVoucherSeries().then(function (response) { var result = response.result; if (result != null) { var defaultSeries = new Option(result.SeriesName, result.SeriesId.toString(), false, false); $(".txtAutoComplete_seriesid").append(defaultSeries).trigger("change"); } }); } } deletevoucher() { var instance = this; bootbox.confirm("Are you sure you want delete this Voucher ?", function (result) { if (result) { instance.fileCacheHelper.loadJsFile('apps/transact/managers/vouchers/vouchermanager.js', function () { if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length != 0) { var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var journalid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_pk_id").Value); if (journalid != 0 && journalid != null && journalid != undefined) { Bizgaze.Apps.Transact.Managers.VoucherManager.Instance().deleteVoucher(journalid).then(function (response) { if (response.status == Unibase.Data.Status.Success) { MessageHelper.Instance().showSuccess(response.message, ''); Unibase.Platform.Helpers.NavigationHelper.Instance().loadList(Unibase.Themes.Providers.DetailHelper.installedAppId, null); } }); } } }); } }); } loadInitTransaction() { var instance = this; $(".divTransactonList").html('
'); instance.addTransaction(false); instance.addTransaction(false); $(".transactonList_div").addClass("hidden"); $("#chk_issingleaccount").change(function () { var chk_issingleaccount = $(this).is(":checked"); if (chk_issingleaccount == true) { $(".divTransactonList").empty(); $(".divTransactonList").html('
'); $("#btnAddNewTransaction").addClass("hidden"); instance.addTransaction(false); } else { $(".divTransactonList").html('
'); instance.addTransaction(false); instance.addTransaction(false); $("#btnAddNewTransaction").removeClass("hidden"); $(".transactonList_div").addClass("hidden"); } }); } addTransaction(checkIsEdit) { var instance = this; var errormsg = $(".bizgaze_FormErrorMessages:visible").attr("id"); var html = ''; instance.transactionId = instance.transactionId + 1; var idtfy; if (checkIsEdit) idtfy = 'old'; else idtfy = 'new'; html += '
' + '' + '' + '' + '' + '
' + '
' + '
' + '
' + '' + ' ' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '' + '' + '
'; $('.transactonList_item:last').after(html); instance.accountAutoCompleteLoading('TRN' + instance.transactionId); $('.transactonList_item_TRN' + instance.transactionId + '').find(".accountName").on('select2:select', function (e) { var trnId = $(this).attr("id"); var id = trnId.split('_'); $(".transactonList_item").each(function () { var currentTrn = "transactonList_item_" + id[2]; if (!$(this).hasClass(currentTrn)) { var accountId = Number($(this).find('.hf_AccountId').val()); if ($('#txt_AccountName_' + id[2]).val() == accountId) { MessageHelper.Instance().showError("Account Already Selected", errormsg); instance.removeAccount(id[2]); instance.addTransaction(false); $(".transactonList_div").addClass("hidden"); return false; } } }); $('.transactonList_item_' + id[2] + '').attr("identityAttr", "new"); instance.accountAutoCompleteOnChange(id[2]); }); $('.transactonList_item_TRN' + instance.transactionId + '').find(".accountName").on("select2:open", function (e) { var trnId = $(this).attr("id"); var id = trnId.split('_'); instance.unhideTransaction(id[2]); }); var orgurl = _appsettings.server_url() + '/apis/v4/bizgaze/crm/contacts/getorganizationdetails'; AutoCompleteHelper.getHelper().Create("#ddl_Org_TRN" + instance.transactionId, "#hfddl_Org_TRN" + instance.transactionId, orgurl, function (response) { var data = response; }); $('.txt_Debit_TRN' + instance.transactionId + '').on('keyup', function () { var trnId = $(this).data('trnid'); var element = $('.transactonList_item_' + trnId + ''); var contactids = element.find('.hf_ContactId').val(); var voucherid = element.find('.hf_JournalIdforJEntry').val(); if (element.find('.txt_Debit').val() != undefined && element.find('.txt_Debit').val() != 0) { instance.isTransactionDebit = true; element.find('.txt_Credit').val(0); element.find('.hf_TransactionType').val('debit'); element.find('.txtTotalWalletAdjusted_' + trnId).val(0); if (instance.editVoucher == false) instance.loadWalletsAndDues(trnId, 0, contactids, 'debit', false, '', true, false); else instance.loadWalletsAndDues(trnId, voucherid, contactids, 'debit', false, '', true, false); instance.update_Debtotal(trnId); instance.update_Credtotal(trnId); } instance.updatePayment(trnId, 'debit', true, false); instance.updatePayment(trnId, 'due', true, false); }); $('.txt_Credit_TRN' + instance.transactionId + '').on('keyup', function (evt, id) { var trnId = $(this).data('trnid'); var element = $('.transactonList_item_' + trnId + ''); var contactids = element.find('.hf_ContactId').val(); var voucherid = element.find('.hf_JournalIdforJEntry').val(); if (element.find('.txt_Credit').val() != undefined && element.find('.txt_Credit').val() != 0) { instance.isTransactionDebit = false; element.find('.txt_Debit').val(0); element.find('.hf_TransactionType').val('credit'); element.find('.txtTotalWalletAdjusted_' + trnId).val(0); if (instance.editVoucher == false) instance.loadWalletsAndDues(trnId, 0, contactids, 'credit', false, '', true, false); else instance.loadWalletsAndDues(trnId, voucherid, contactids, 'credit', false, '', true, false); instance.update_Debtotal(trnId); instance.update_Credtotal(trnId); } instance.updatePayment(trnId, 'credit', true, false); instance.updatePayment(trnId, 'due', true, false); }); $('.txtTotalWalletAdjusted_TRN' + instance.transactionId + '').on('keyup', function (evt, id) { var id = $(this).attr("id").split('_'); instance.transactionId = id[1].charAt(3); var charCode = (evt.which) ? evt.which : evt.keyCode; if (charCode == 46) { var val = document.getElementById(id); var txt = val.value; if (!(txt.indexOf(".") > -1)) return true; } var trnId = $(this).data('trnid'); var element = $('.transactonList_item_' + trnId + ''); if (element.find("#tx_Debit_TRN" + instance.transactionId).val() > 0) { var debit = element.find("#tx_Debit_TRN" + instance.transactionId).val(); var totAdjAmt = Number(element.find('.txtTotalWalletAdjusted_TRN' + instance.transactionId).val()); if (totAdjAmt > debit) { element.find('.txtTotalWalletAdjusted_TRN' + instance.transactionId).val(debit); MessageHelper.Instance().showError("Cannot adjust more than your debits", errormsg); if (element.find(".txt_Debit_" + trnId).val() == 0) instance.update_Credtotal(trnId); if (element.find(".txt_Credit_" + trnId).val() == 0) instance.update_Debtotal(trnId); instance.updatePayment(trnId, 'wallet', true, false); instance.updatePayment(trnId, 'due', true, false); return false; } } var totWalletAmt = Number(element.find('.txtWalletsTotalAmt').text()); var totAdjAmt = Number(element.find('.txtTotalWalletAdjusted_TRN' + instance.transactionId).val()); if (totAdjAmt > totWalletAmt) { element.find('.txtTotalWalletAdjusted_TRN' + instance.transactionId).val(totWalletAmt); MessageHelper.Instance().showError("You don't have enough amount in that wallet", errormsg); } var trnType = element.find('.hf_TransactionType').val(); if (trnType == '' || trnType == null) trnType = 'credit'; if (element.find(".txt_Debit_" + trnId).val() == 0) instance.update_Credtotal(trnId); if (element.find(".txt_Credit_" + trnId).val() == 0) instance.update_Debtotal(trnId); instance.updatePayment(trnId, 'wallet', true, false); instance.updatePayment(trnId, 'due', true, false); }); $('.txtTotalDueAdjusted_TRN' + instance.transactionId + '').keyup(function () { instance.isTransactionDebit = false; var trnId = $(this).data('trnid'); var element = $('.transactonList_item_' + trnId + ''); var trnType = element.find('.hf_TransactionType').val(); if (trnType == '' || trnType == null) trnType = 'credit'; instance.update_Debtotal(trnId); instance.update_Credtotal(trnId); }); return Bizgaze.Apps.Transact.Controls.Voucher.Instance().transactionId; } AutoAdjustDues(trnId) { var instance = this; var element = $('.transactonList_item_' + trnId + ''); var btnColor = $(element).find('#btnAutoAdjustDues').attr('class'); if ($(element).find('#btnAutoAdjustDues').attr("name") == "enabled") { $(element).find('.txtTotalDueAdjusted_' + trnId).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(0, 2)); $(element).find('.txtCurrentAmount').val(0.00); } else { $(element).find('#btnAutoAdjustDues').attr("name", "enabled"); } instance.RefreshDues(trnId); } RefreshDues(trnId) { var instance = this; var element = $('.transactonList_item_' + trnId + ''); var contactids = element.find('.hf_ContactId').val(); var voucherid = element.find('.hf_JournalIdforJEntry').val(); if (element.find('.txt_Credit').val() != undefined && element.find('.txt_Credit').val() != 0 || element.find('.txtTotalWalletAdjusted').val() > 0) { element.find('.hf_TransactionType').val('credit'); if (instance.editVoucher == false) instance.loadWalletsAndDues(trnId, 0, contactids, 'credit', false, '', false, false); else instance.loadWalletsAndDues(trnId, voucherid, contactids, 'credit', false, '', false, false); instance.update_Debtotal(trnId); instance.update_Credtotal(trnId); instance.updatePayment(trnId, 'credit', false, false); instance.updatePayment(trnId, 'due', false, false); } if (element.find('.txt_Debit').val() != undefined && element.find('.txt_Debit').val() != 0) { element.find('.hf_TransactionType').val('debit'); if (instance.editVoucher == false) instance.loadWalletsAndDues(trnId, 0, contactids, 'debit', false, '', false, false); else instance.loadWalletsAndDues(trnId, voucherid, contactids, 'debit', false, '', false, false); instance.update_Debtotal(trnId); instance.update_Credtotal(trnId); instance.updatePayment(trnId, 'debit', false, false); } } AdjustDueAmount(jId, trnId) { var instance = this; var errormsg = $(".bizgaze_FormErrorMessages:visible").attr("id"); instance.initFlag(); var x = document.getElementById("divDue_List_item_" + jId).parentElement.parentElement.getAttribute("class"); var elementforPayment = $('.transactonList_item_' + trnId + ''); var totDue = 0; var totDueAmt = Number(elementforPayment.find('.txtDuesTotalAmt').text()); $(elementforPayment).find('.divDue_List_item').each(function () { var xyz = Number($(this).find('.txtCurrentAmount').val()); if (!isNaN(xyz)) totDue += xyz; }); var element = elementforPayment.find('#divDue_List_item_' + jId + ''); var dueAmount = $('#lblDueBalance_' + jId + '').text(); var cr = $(elementforPayment).find("#tx_Credit_" + trnId).val(); var crwallet = $(elementforPayment).find('.txtTotalWalletAdjusted_' + trnId + '').val(); var crAmt = Number(cr) + Number(crwallet); let enteredAmount = $(element).find('.txtCurrentAmount').val(); if (totDue <= crAmt) { if (totDue <= totDueAmt) { var OrgdueAmount = Number($(element).find('.hfDueAmount').val()); var txtWalletCurrentAmount = 0; var txtCurrentAmt = 0; txtCurrentAmt = Number($(element).find('.txtCurrentAmount').val()); if (txtCurrentAmt == 0 || txtCurrentAmt == undefined) { $(element).find('.txtCurrentAmount').val(enteredAmount); $(element).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(OrgdueAmount, 2)); var ttWallet = 0; $(elementforPayment).find('.divDue_List_item').each(function () { var pqr = Number($(this).find('.txtCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); $(elementforPayment).find('.txtTotalDueAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(ttWallet, 2)); if (elementforPayment.find(".txt_Debit_" + trnId).val() == 0) instance.update_Credtotal(trnId); if (elementforPayment.find(".txt_Credit_" + trnId).val() == 0) instance.update_Debtotal(trnId); instance.updatePayment(trnId, 'due', false, true); return false; } if (txtCurrentAmt > OrgdueAmount) { $(element).find('.txtCurrentAmount').val(OrgdueAmount); $(element).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(0, 2)); } else { var walletAmount = OrgdueAmount - txtCurrentAmt; if (enteredAmount === '.') enteredAmount = 0; $(element).find('.txtCurrentAmount').val(enteredAmount); $(element).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(walletAmount, 2)); } var ttWallet = 0; $(elementforPayment).find('.divDue_List_item').each(function () { var pqr = Number($(this).find('.txtCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); $(elementforPayment).find('.txtTotalDueAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(ttWallet, 2)); } else { MessageHelper.Instance().showError("You don't have enough amount", errormsg); $(element).find('.txtCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(element).find('.hfDueAmount').val()), 2)); $(element).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(0, 2)); var ttWallet = 0; $(elementforPayment).find('.divDue_List_item').each(function () { var pqr = Number($(this).find('.txtCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); $(elementforPayment).find('.txtTotalDueAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(ttWallet, 2)); } } else { MessageHelper.Instance().showError("You cannot adjust without enough credits", errormsg); var dueAmt = $(element).find('.hfDueAmount').val(); var curAmt = $(element).find('.txtCurrentAmount').val(); var ttWallet = 0; $(elementforPayment).find('.divDue_List_item').each(function () { var pqr = Number($(this).find('.txtCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); var newAmt = Number(crAmt) - (Number(ttWallet) - Number(curAmt)); if (newAmt >= 0) { if (newAmt >= Number($(element).find('.hfDueAmount').val())) { $(element).find('.txtCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(element).find('.hfDueAmount').val()), 2)); $(element).find('.lblDueBalance').text(0.00); $(elementforPayment).find('.txtTotalDueAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(crAmt, 2)); } else { $(element).find('.txtCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(newAmt, 2)); $(element).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(Number($(element).find('.hfDueAmount').val()) - newAmt), 2)); $(elementforPayment).find('.txtTotalDueAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(crAmt, 2)); } } else { if (enteredAmount === '.') enteredAmount = 0; $(element).find('.txtCurrentAmount').val(enteredAmount); $(element).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(element).find('.hfWalletAmount').val()), 2)); $(elementforPayment).find('.txtTotalDueAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(crAmt, 2)); } } if (elementforPayment.find(".txt_Debit_" + trnId).val() == 0) instance.update_Credtotal(trnId); if (elementforPayment.find(".txt_Credit_" + trnId).val() == 0) instance.update_Debtotal(trnId); instance.updatePayment(trnId, 'due', false, true); } AdjustWalletAmount(jId, trnId) { var instance = this; instance.AutoAdjustDues(trnId); var errormsg = $(".bizgaze_FormErrorMessages:visible").attr("id"); instance.initFlag(); var x = document.getElementById("divWallet_List_item_" + jId).parentElement.parentElement.getAttribute("class"); var elementforPayment = $('.transactonList_item_' + trnId + ''); var totAdjustment = $(elementforPayment).find('.txtTotalWalletAdjusted_' + trnId + '').val(); var totWallet = 0; var totWalletAmt = Number(elementforPayment.find('.txtWalletsTotalAmt').text()); $(elementforPayment).find('.divWallet_List_item').each(function () { var xyz = Number($(this).find('.txtWalletCurrentAmount').val()); if (!isNaN(xyz)) totWallet += xyz; }); var totWalletAdj = totWallet; var element = elementforPayment.find('#divWallet_List_item_' + jId + ''); var drAmt = $(elementforPayment).find("#tx_Debit_" + trnId).val(); var crAmt = $(elementforPayment).find('#tx_Credit_' + trnId).val(); var Amt = 0; if (crAmt > 0) Amt = Number(crAmt); if (drAmt > 0) Amt = Number(drAmt); var totWalletAmt = Number(totWallet) + Number(crAmt); var totDueAmt = Number(elementforPayment.find('.txtDuesTotalAmt').text()); let enteredAmt = $(element).find('.txtWalletCurrentAmount').val(); if (totWalletAmt <= totDueAmt) { if (totWallet <= totWalletAmt) { var OrgwalletAmount = Number($(element).find('.hfWalletAmount').val()); var txtWalletCurrentAmount = 0; txtWalletCurrentAmount = Number($(element).find('.txtWalletCurrentAmount').val()); if (txtWalletCurrentAmount == 0 || txtWalletCurrentAmount == undefined) { $(element).find('.txtWalletCurrentAmount').val(enteredAmt); $(element).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(OrgwalletAmount, 2)); var ttWallet = 0; $(elementforPayment).find('.divWallet_List_item').each(function () { var pqr = Number($(this).find('.txtWalletCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); $(elementforPayment).find('.txtTotalWalletAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(ttWallet, 2)); if (elementforPayment.find(".txt_Debit_" + trnId).val() == 0) instance.update_Credtotal(trnId); if (elementforPayment.find(".txt_Credit_" + trnId).val() == 0) instance.update_Debtotal(trnId); instance.updatePayment(trnId, 'due', false, false); return false; } if (txtWalletCurrentAmount > OrgwalletAmount) { $(element).find('.txtWalletCurrentAmount').val(OrgwalletAmount); $(element).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(0, 2)); } else { var walletAmount = OrgwalletAmount - txtWalletCurrentAmount; if (enteredAmt === '.') enteredAmt = 0; $(element).find('.txtWalletCurrentAmount').val(enteredAmt); $(element).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(walletAmount, 2)); } var ttWallet = 0; $(elementforPayment).find('.divWallet_List_item').each(function () { var pqr = Number($(this).find('.txtWalletCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); $(elementforPayment).find('.txtTotalWalletAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(ttWallet, 2)); } else { MessageHelper.Instance().showError("You don't have enough amount in that wallets", errormsg); $(element).find('.txtWalletCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(element).find('.hfWalletAmount').val()), 2)); $(element).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(0, 2)); var ttWallet = 0; $(elementforPayment).find('.divWallet_List_item').each(function () { var pqr = Number($(this).find('.txtWalletCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); $(elementforPayment).find('.txtTotalWalletAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(ttWallet, 2)); } } else { var curWalletAmt = Number($(element).find('.hfWalletAmount').val()); if (totWalletAmt > totDueAmt) { MessageHelper.Instance().showError("You cannot adjust wallets without enough dues.", errormsg); $(element).find('.txtWalletCurrentAmount').val(0.00); $(element).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(curWalletAmt, 2)); } else { var curLblWallAmt = -Number(totDueAmt); MessageHelper.Instance().showError("You cannot adjust wallets without enough dues.", errormsg); $(element).find('.txtWalletCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totDueAmt, 2)); $(element).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(curLblWallAmt, 2)); var ttWallet = 0; $(elementforPayment).find('.divWallet_List_item').each(function () { var pqr = Number($(this).find('.txtWalletCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); $(elementforPayment).find('.txtTotalWalletAdjusted_' + trnId + '').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(ttWallet, 2)); } var curWallAmt = Number(totWalletAmt) - Number(totDueAmt); } if (elementforPayment.find(".txt_Debit_" + trnId).val() == 0) instance.update_Credtotal(trnId); if (elementforPayment.find(".txt_Credit_" + trnId).val() == 0) instance.update_Debtotal(trnId); instance.updatePayment(trnId, 'due', false, false); } gettotbal(totbal, trnId) { var instance = this; if (instance.findtxtcrRdr <= trnId) { if (Number(totbal) < 0) { totbal = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber((-1 * totbal), 2) + " Dr"; } else { totbal = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totbal, 2) + " Cr"; } var element = $('.transactonList_item_TRN' + instance.findtxtcrRdr + ''); var rowAcNarration = element.find(".rowAcNarrartion"); var crrdrr = rowAcNarration.find("#crRdr"); $(crrdrr).html(totbal); } instance.findtxtcrRdr++; } journalEntries() { var instance = this; var journalEntries = new Array(); $('.transactonList_item').each(function (index) { var element = $(this); if (index > 0) { var debit = Number(element.find('.txt_Debit').val()); var credit = Number(element.find('.txt_Credit').val()); var wAdjusted = Number(element.find('.txtTotalWalletAdjusted').val()); var dAdjusted = Number(element.find('.txtTotalDueAdjusted').val()); var trnType = element.find('.hf_TransactionType').val(); var trnId = element.find('.hf_TransactionId').val(); var journalEntryId = element.find('.hf_JournalEntryId').val(); if (trnType == "" || trnType == undefined) { if (debit == 0) trnType = "credit"; else trnType = "debit"; } var contactId = element.find('.hf_ContactId').val(); var allocations = new Array(); if (contactId != "0") allocations = instance.journalAllocations(trnId); var jE_ContactId = Number(element.find('.hf_ContactId').val()); if (jE_ContactId == 0) { jE_ContactId = Number(element.find('.hfddl_OrgAutocomplete').val()); } journalEntries.push({ JournalEntryId: Number(element.find('.hf_JournalEntryId').val()), JournalId: Number(element.find('.hf_JournalIdforJEntry').val()), RefJournalId: Number(element.find('.hf_RefJournalId').val()), ContactId: jE_ContactId, Debit: Number(debit), Credit: Number(credit), LedgerId: Number(element.find('.hf_AccountId').val()), LedgerName: element.find('.accountName ').val(), Description: element.find('#txt_AcNarration').val(), TransactonType: trnType, JournalAllocations: allocations, }); } }); return journalEntries; } journalAllocations(trnId) { var instance = this; var element = $('.transactonList_item_' + trnId + ''); var data = new Array(); element.find('.divDue_List_item').each(function (index) { if (index > 0) { if ($(this).find('.txtCurrentAmount').val() != 0 && $(this).find('.txtCurrentAmount').val() != '' && $(this).find('.txtCurrentAmount').val() != undefined) { var jAId = Number($(this).find('.hf_JournalAllocId').val()); data.push({ JournalAllocId: isNaN(jAId) ? 0 : jAId, Credit: Number($(this).find('.txtCurrentAmount').val()), RefAllocId: Number($(this).find('.hf_RefAllocId').val()), AllocType: 2, AllocTypeId: 2 }); } } }); element.find('.divWallet_List_item').each(function (index) { if (index > 0) { if ($(this).find('.txtWalletCurrentAmount').val() != 0 && $(this).find('.txtWalletCurrentAmount').val() != '' && $(this).find('.txtWalletCurrentAmount').val() != undefined) { var jAId = Number($(this).find('.hf_JournalAllocId').val()); data.push({ JournalAllocId: isNaN(jAId) ? 0 : jAId, Debit: Number($(this).find('.txtWalletCurrentAmount').val()), RefAllocId: Number($(this).find('.hf_RefAllocId').val()), AllocType: 2, AllocTypeId: 2 }); } } }); $('.transactonList_item').each(function (index) { if (!($(this).find('.lblAdvanceAmount_' + trnId).attr('class') == 'lblAdvanceAmount_' + trnId + ' hidden')) { if (index > 0) { if (Number($(this).find('.lblAdvanceAmount_' + trnId).text()) != 0 && $(this).find('.lblAdvanceAmount_' + trnId).text() != '' && $(this).find('.lblAdvanceAmount_' + trnId).text() != undefined) { var jAId = Number($(this).find('.hf_AdvanceJournalAllocId').val()); data.push({ JournalAllocId: isNaN(jAId) ? 0 : jAId, LedgerId: Number($(this).find('.hf_AccountId').val()), Credit: Number($(this).find('.lblAdvanceAmount_' + trnId).text()), AllocType: 3, AllocTypeId: 3, RefAllocId: 0, }); } } } }); if ((element.find('.hf_ContactId').val() != 0) && ((element.find('.txt_Debit').val() != 0) || (element.find('.txt_Credit').val() != 0))) { var credit = 0; var debit = Number(element.find('.txt_Debit').val()); if (debit == 0 || debit == undefined || debit == null) { debit = 0; credit = Number(element.find('.txt_Credit').val()); } var jAId = Number(element.find('#hf_NewRefJournalAllocId_' + trnId).val()); data.push({ JournalAllocId: isNaN(jAId) ? 0 : jAId, LedgerId: Number(element.find('.hf_AccountId').val()), Debit: debit, Credit: credit, AllocType: 1, AllocTypeId: 1, RefAllocId: 0, }); } return data; } accountAutoCompleteLoading(trnId) { var element = $('.transactonList_item_' + trnId + ''); var controlId = element.find(".accountName"); var hiddenFieldControlId = element.find("#hf_ContactIdSelected_TRN" + trnId + ""); var url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/ledgers/ledgerautocomplete'; AutoCompleteHelper.getHelper().Create(controlId, hiddenFieldControlId, url, null); } accountAutoCompleteOnChange(trnId) { var instance = this; var element = $('.transactonList_item_' + trnId + ''); var listDiv = element.find(".transactonList_div_" + trnId + ""); var controlId = element.find(".accountName"); var hiddenFieldControlId = element.find("#hf_ContactIdSelected_" + trnId + ""); var rowAcNarration = element.find(".rowAcNarrartion"); var rowDues = element.find(".rowDues"); var rowWallets = element.find(".rowWallets"); var secWallets = element.find(".secWallets"); var secDues = element.find(".secDues"); var orgAutoComplete = element.find("#div_ddl_Cust"); var emptyDiv = element.find("#div_empty"); var accountId = element.find(".accountName").val(); var accountName = element.find(".accountName").text(); var accountAddlData = Number(element.find(".accountName").data("addldata")); if (accountId == "0") accountName = "Select Account"; if (accountId == "-1" || accountId == -1) accountName = "Create New"; if (accountName == "Create New") { $(".accountName").val(null).trigger("change"); var FormUniqueId = "Bizgaze_Extension_Transact_Ledgers_App_Ledgers_CreateForm"; var AppConfigurationUnique = "Bizgaze_Extension_Transact_Ledgers_AppConfiguration_CreateLedgers"; Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(FormUniqueId).then(function (response) { var obj = { controlid: controlId, hiddenid: hiddenFieldControlId }; var successobj = { CallBack: function (id, obj) { Bizgaze.Apps.Transact.Managers.LedgerManager.Instance().getLedgerById(id).then(function (response) { var createdLedger = new Option(response.result.LedgerName, response.result.LedgerId, true); var controlIdAttr = obj.controlid.attr("id"); $("#" + controlIdAttr + " option").remove(); $(obj.controlid).append(createdLedger).trigger('change'); $(obj.hiddenid).val(response.result.LedgerId); $(obj.controlid).parents(".transactonList_item").find('.hf_AccountId').val(response.result.LedgerId); }); }, Parameters: obj, }; var formviewerObj = { FormId: response.result.FormId, AppConfigurationId: 0, Pk_Value: 0, PortletWidgetId: 0, OnSuccess: successobj, OnFail: null, OnLoad: null, }; instance.fileCacheHelper.loadJsFile("apps/transact/managers/ledgers/ledgermanager.js", function () { Unibase.Platform.Forms.Components.FormViewer.instance.init(formviewerObj); }); }); } $('.lblAdvanceAmount_' + trnId).removeClass('hidden'); if ($(controlId).val() != '') { if ($("#hf_pk_value").val() == 0) $(listDiv).removeClass("hidden"); else $(listDiv).addClass("hidden"); $(rowAcNarration).removeClass("hidden"); $(rowWallets).removeClass("hidden"); $(rowDues).removeClass("hidden"); element.find('.hf_AccountId').val(accountId); if (Number(accountId) != 0 && !isNaN(Number(accountId))) { Bizgaze.Apps.Transact.Managers.VoucherManager.Instance().getLedgerDetails(Number(accountId)).then(function (ledgerResponse) { var result = ledgerResponse.result; if (result.length > 0) { element.find('.hf_ContactId').val(result[0].contactid); var contactids = result[0].contactid; if (contactids == 0) { $(rowWallets).addClass("hidden"); $(rowDues).addClass("hidden"); $(secWallets).find('.divWallet_List').empty(); $(secDues).find('.divDue_List').empty(); $(emptyDiv).addClass("hidden"); $(orgAutoComplete).removeClass("hidden"); } else { $(rowWallets).removeClass("hidden"); $(rowDues).removeClass("hidden"); $(secWallets).addClass("hidden"); $(secDues).addClass("hidden"); $(emptyDiv).removeClass("hidden"); $(orgAutoComplete).addClass("hidden"); } if ($('.transactonList_item_' + trnId + '').attr("identityAttr") == 'new') { if (contactids != 0) { if (element.find('.txt_Debit').val() == 0) instance.loadWalletsAndDues(trnId, 0, contactids, 'credit', false, '', true, false); else instance.loadWalletsAndDues(trnId, 0, contactids, 'debit', false, '', true, false); } else { instance.loadWalletsAndDues(trnId, 0, 0, '', false, '', true, false); } instance.updatePayment(trnId, 'due', false, false); } } }); } if (accountAddlData != 0 && !isNaN(accountAddlData)) { $('#hf_jContactId').val(accountAddlData); var bal = "Balance Not Found"; if (accountAddlData < 0) { bal = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber((-1 * accountAddlData), 2) + " Dr"; } else { bal = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(accountAddlData, 2) + " Cr"; } } var ledgerid = accountId; if (ledgerid > 0) { var crrdrr = rowAcNarration.find("#crRdr"); $(crrdrr).html(bal); var crtot = Number($('#credittotal').html()); var drtot = Number($('#Debittotal').html()); if (crtot < drtot && element.find("#tx_Debit_" + trnId).val() == "") element.find("#tx_Credit_" + trnId).val(drtot - crtot); else if (crtot > drtot && element.find("#tx_Credit_" + trnId).val() == "") element.find("#tx_Debit_" + trnId).val(crtot - drtot); if ((drtot - crtot) > 0) { $('.txt_Credit_' + trnId).keyup(); } if ((crtot - drtot) > 0) { $('.txt_Debit_' + trnId).keyup(); } instance.update_Debtotal(trnId); instance.update_Credtotal(trnId); } element.find('.txtWalletsTotalAmt').text(''); element.find('.txtDuesTotalAmt').text(''); } } updatePayment(trnId, updateFrom, refreshWallets, refreshDues) { var instance = this; var element = $('.transactonList_item_' + trnId + ''); var advanceAmt = 0; var paymentTotal = 0; var debitInput = element.find('.txt_Debit').val(); var creditInput = element.find('.txt_Credit').val(); var walletsTotal = instance.walletsTotal(trnId); var duesTotal = element.find('.txtTotalDueAdjusted').val(); var transactionType = element.find('.hf_TransactionType').val(); if (updateFrom == 'credit') { paymentTotal = Number(creditInput); if (paymentTotal != undefined) { if ($(element).find('#btnAutoAdjustDues').attr("name") != "disabled" && (element.find("#tx_Debit_" + trnId).val() == 0 || element.find("#tx_Debit_" + trnId).val() == undefined)) { if ($("#tx_Debit_" + trnId).val() == 0) $(element).find('.txtTotalDueAdjusted').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(paymentTotal, 2)); $(element).find('.divDue_List_item').each(function (index) { var dueAmount = Number($(this).find('.hfDueAmount').val()); var txtCurrentAmt = 0; if (index > 0 && paymentTotal != 0) { if (paymentTotal >= dueAmount) { if (dueAmount != 0) { paymentTotal -= dueAmount; txtCurrentAmt = dueAmount; dueAmount = 0; advanceAmt = paymentTotal; } } else { dueAmount -= paymentTotal; txtCurrentAmt = paymentTotal; paymentTotal = 0; } } $(this).find('.txtCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(txtCurrentAmt, 2)); $(this).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(dueAmount, 2)); }); } if (Number(walletsTotal) != 0 && refreshWallets == true) { element.find('.txtTotalWalletAdjusted').val(walletsTotal); $(element).find('.divWallet_List_item').each(function (index) { var wAmount = Number($(this).find('.hfWalletAmount').val()); var wCurrentAmt = 0; if (index > 0) { if (walletsTotal >= wAmount) { if (wAmount != 0) { walletsTotal -= wAmount; wCurrentAmt = wAmount; wAmount = 0; } } else { wAmount -= walletsTotal; wCurrentAmt = walletsTotal; walletsTotal = 0; } $(this).find('.txtWalletCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(wCurrentAmt, 2)); $(this).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(wAmount, 2)); } }); } } } else if (updateFrom == 'debit') { paymentTotal = Number(debitInput); if (paymentTotal != undefined) { if ($(element).find('#btnAutoAdjustDues').attr("name") != "disabled" && (element.find("#tx_Debit_" + trnId).val() == 0 || element.find("#tx_Debit_" + trnId).val() == undefined)) { if ($("#tx_Debit_" + trnId).val() == 0) $(element).find('.txtTotalDueAdjusted').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(paymentTotal, 2)); $(element).find('.divDue_List_item').each(function (index) { var dueAmount = Number($(this).find('.hfDueAmount').val()); var txtCurrentAmt = 0; if (index > 0 && paymentTotal != 0) { if (paymentTotal >= dueAmount) { if (dueAmount != 0) { paymentTotal -= dueAmount; txtCurrentAmt = dueAmount; dueAmount = 0; advanceAmt = paymentTotal; } } else { dueAmount -= paymentTotal; txtCurrentAmt = paymentTotal; paymentTotal = 0; } } $(this).find('.txtCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(txtCurrentAmt, 2)); $(this).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(dueAmount, 2)); }); } if (Number(walletsTotal) != 0 && refreshWallets == true) { element.find('.txtTotalWalletAdjusted').val(walletsTotal); $(element).find('.divWallet_List_item').each(function (index) { var wAmount = Number($(this).find('.hfWalletAmount').val()); var wCurrentAmt = 0; if (index > 0) { if (walletsTotal >= wAmount) { if (wAmount != 0) { walletsTotal -= wAmount; wCurrentAmt = wAmount; wAmount = 0; } } else { wAmount -= walletsTotal; wCurrentAmt = walletsTotal; walletsTotal = 0; } $(this).find('.txtWalletCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(wCurrentAmt, 2)); $(this).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(wAmount, 2)); } }); } } } else if (updateFrom == 'wallet') { paymentTotal = Number(creditInput) + Number(debitInput) + Number(walletsTotal); if (paymentTotal != 0) { if ($(element).find('#btnAutoAdjustDues').attr("name") != "disabled" && (element.find("#tx_Debit_" + trnId).val() == 0 || element.find("#tx_Debit_" + trnId).val() == undefined)) { if ($("#tx_Debit_" + trnId).val() == 0) $(element).find('.txtTotalDueAdjusted').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(paymentTotal, 2)); $(element).find('.divDue_List_item').each(function (index) { var dueAmount = Number($(this).find('.hfDueAmount').val()); var txtCurrentAmt = 0; if (index > 0 && paymentTotal != 0) { if (paymentTotal >= dueAmount) { if (dueAmount != 0) { paymentTotal -= dueAmount; txtCurrentAmt = dueAmount; dueAmount = 0; advanceAmt = paymentTotal; } } else { dueAmount -= paymentTotal; txtCurrentAmt = paymentTotal; paymentTotal = 0; } } $(this).find('.txtCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(txtCurrentAmt, 2)); $(this).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(dueAmount, 2)); }); } if (Number(walletsTotal) != 0 && refreshWallets == true) { element.find('.txtTotalWalletAdjusted').val(walletsTotal); $(element).find('.divWallet_List_item').each(function (index) { var wAmount = Number($(this).find('.hfWalletAmount').val()); var wCurrentAmt = 0; if (index > 0) { if (walletsTotal >= wAmount) { if (wAmount != 0) { walletsTotal -= wAmount; wCurrentAmt = wAmount; wAmount = 0; } } else { wAmount -= walletsTotal; wCurrentAmt = walletsTotal; walletsTotal = 0; } $(this).find('.txtWalletCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(wCurrentAmt, 2)); $(this).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(wAmount, 2)); } }); } else if (Number(walletsTotal) == 0) { element.find('.txtTotalWalletAdjusted').val(walletsTotal); element.find('.txtWalletCurrentAmount').val(walletsTotal); } } } else if (updateFrom == 'due') { paymentTotal = Number(creditInput) + Number(debitInput) + Number(walletsTotal); if (!refreshDues) { if (paymentTotal != 0) { if ($(element).find('#btnAutoAdjustDues').attr("name") != "disabled" && (element.find("#tx_Debit_" + trnId).val() == 0 || element.find("#tx_Debit_" + trnId).val() == undefined)) { $(element).find('.txtTotalDueAdjusted').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(paymentTotal, 2)); } if ($(element).find('#btnAutoAdjustDues').attr("name") != "disabled" && (element.find("#tx_Credit_" + trnId).val() == 0 || element.find("#tx_Credit_" + trnId).val() == undefined)) { $(element).find('.txtTotalDueAdjusted').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(paymentTotal, 2)); } } if ($(element).find('#btnAutoAdjustDues').attr("name") != "disabled" && (element.find("#tx_Debit_" + trnId).val() == 0 || element.find("#tx_Debit_" + trnId).val() == undefined)) { $(element).find('.divDue_List_item').each(function (index) { var dueAmount = Number($(this).find('.hfDueAmount').val()); var txtCurrentAmt = 0; if (index > 0) { if (paymentTotal >= dueAmount) { if (dueAmount != 0) { paymentTotal -= dueAmount; txtCurrentAmt = dueAmount; dueAmount = 0; advanceAmt = paymentTotal; } } else { dueAmount -= paymentTotal; txtCurrentAmt = paymentTotal; paymentTotal = 0; } if (Number(paymentTotal) < 0.01) { paymentTotal = 0; } } $(this).find('.txtCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(txtCurrentAmt, 2)); $(this).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(dueAmount, 2)); }); } if ($(element).find('#btnAutoAdjustDues').attr("name") != "disabled" && (element.find("#tx_Credit_" + trnId).val() == 0 || element.find("#tx_Credit_" + trnId).val() == undefined)) { $(element).find('.divDue_List_item').each(function (index) { var dueAmount = Number($(this).find('.hfDueAmount').val()); var txtCurrentAmt = 0; if (index > 0) { if (paymentTotal >= dueAmount) { if (dueAmount != 0) { paymentTotal -= dueAmount; txtCurrentAmt = dueAmount; dueAmount = 0; advanceAmt = paymentTotal; } } else { dueAmount -= paymentTotal; txtCurrentAmt = paymentTotal; paymentTotal = 0; } if (Number(paymentTotal) < 0.01) { paymentTotal = 0; } } $(this).find('.txtCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(txtCurrentAmt, 2)); $(this).find('.lblDueBalance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(dueAmount, 2)); }); } if (Number(walletsTotal) != 0 && refreshWallets == true) { element.find('.txtTotalWalletAdjusted').val(walletsTotal); $(element).find('.divWallet_List_item').each(function (index) { var wAmount = Number($(this).find('.hfWalletAmount').val()); var wCurrentAmt = 0; if (index > 0) { if (walletsTotal >= wAmount) { if (wAmount != 0) { walletsTotal -= wAmount; wCurrentAmt = wAmount; wAmount = 0; } } else { wAmount -= walletsTotal; wCurrentAmt = walletsTotal; walletsTotal = 0; } if (Number(walletsTotal) < 0.01) { walletsTotal = 0; } $(this).find('.txtWalletCurrentAmount').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(wCurrentAmt, 2)); $(this).find('.lblWalletRemaing').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(wAmount, 2)); } }); } } } advanceAmt = paymentTotal; if (updateFrom == 'due') { var ttWallet = 0; $(element).find('.divDue_List_item').each(function () { var pqr = Number($(this).find('.txtCurrentAmount').val()); if (!isNaN(pqr)) ttWallet += pqr; }); var credit = element.find('.txt_Credit').val(); if (Number(credit) == 0) { credit = element.find('.txt_Debit').val(); } var Amt = parseFloat(credit); if ((Amt - ttWallet) > 0) advanceAmt = (Amt - ttWallet); else advanceAmt = 0; var curAdvAmt = Number($('.lblAdvanceAmount_' + trnId).text()); if (!instance.editVoucher && !isNaN(curAdvAmt) && curAdvAmt > 0) { if (advanceAmt > 0) { $('.rowAdvanceAmount_' + trnId).removeClass('hidden'); $('.lblAdvanceAmount_' + trnId).text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(advanceAmt, 2)); } } if (advanceAmt == 0) { $('.lblAdvanceAmount_' + trnId).text(0.00); $('.rowAdvanceAmount_' + trnId).addClass('hidden'); } $(element).find('.txtTotalDueAdjusted_' + trnId).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(ttWallet, 2)); } else { if (element.find(".txt_Credit_" + trnId).val() == 0) { $('.lblAdvanceAmount_' + trnId).text(0.00); $('.rowAdvanceAmount_' + trnId).addClass('hidden'); } } if (element.find(".rowWallets").hasClass('hidden')) { $('.lblAdvanceAmount_' + trnId).text(0.00); $('.rowAdvanceAmount_' + trnId).addClass('hidden'); } } walletsTotal(trnId) { var instance = this; var element = $('.transactonList_item_' + trnId + ''); var amount = 0; var wTotals = element.find('.txtTotalWalletAdjusted').val(); wTotals = Number(wTotals); if (wTotals > 0) amount += wTotals; return amount; } loadWalletsAndDues(trnId, voucherId, contactId, trnType, updatePayment, updateFrom, refreshWallets, refreshDues) { var instance = this; var element = $('.transactonList_item_' + trnId + ''); if (contactId != 0) { var divDues = element.find('.divDue_List'); var divWallets = element.find('.divWallet_List'); $(divDues).html(''); $(divDues).html('
No data found...
'); if (refreshWallets) { $(divWallets).html(''); $(divWallets).html('
No data found...
'); } Bizgaze.Apps.Transact.Managers.VoucherManager.Instance().getVoucherItems(voucherId, contactId, trnType).then(function (response) { var result = response.result; var html = ''; var html2 = ''; var walletsTotalBal = 0; var duesTotalBal = 0; var walletsTotalAdj = 0; var duesTotalAdj = 0; if (result.length != 0) { $(divDues).empty(); $(divDues).html(''); if (refreshWallets) { $(divWallets).empty(); $(divWallets).html(''); } for (var i = (result.length) - 1; i >= 0; i--) { var journalAlloc = result[i].JournalAlloc; if (!(journalAlloc.JournalNo.startsWith("#"))) { var data = result[i]; function datediff(date2, today) { today = new Date(today.split('/')[2], today.split('/')[1] - 1, today.split('/')[0]); date2 = new Date(date2.split('/')[2], date2.split('/')[1] - 1, date2.split('/')[0]); var timeDiff = Math.abs(today.getTime() - date2.getTime()); var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); return diffDays; } var today = new Date(); var dd = today.getDate(); var mm = today.getMonth() + 1; var yyyy = today.getFullYear(); if (dd < 10) { dd = '0' + dd; } if (mm < 10) { mm = '0' + mm; } today = dd + '/' + mm + '/' + yyyy; var NumOfDays = datediff(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(journalAlloc.JournalDate, null), today); var JournalId = journalAlloc.JournalId; if (data.IsWallet == false) { duesTotalAdj += data.Amount; var dBalance = Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); var hfDueBalance = Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); if (dBalance > 0) { if (instance.editVoucher) { duesTotalBal += Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); dBalance = Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); var dd = element.find(".hf_JournalEntryId"); JournalId = journalAlloc.JournalAllocId; if (JournalId == 0) JournalId = journalAlloc.JournalId; } else { duesTotalBal += Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); } html += ''; } } else { walletsTotalAdj += data.Amount; var wBalance = Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); var hfWalletBalance = Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); if (wBalance > 0) { if (instance.editVoucher) { walletsTotalBal += Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); wBalance = Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); JournalId = journalAlloc.JournalAllocId; if (JournalId == 0) JournalId = journalAlloc.JournalId; } else { walletsTotalBal += Number(journalAlloc.TotalAmount - journalAlloc.AdjustedAmount); } html2 += ''; } } } } element.find('.divDue_List_item').after(html); instance.showFirstFiveListItems(trnId, 'Due'); if (refreshWallets) { element.find('.divWallet_List_item').after(html2); instance.showFirstFiveListItems(trnId, 'Wallet'); } } if (walletsTotalBal > 0) element.find('.txtWalletsTotalAmt').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(walletsTotalBal, 2)); else element.find('.txtWalletsTotalAmt').text(0.00); if (duesTotalBal > 0) element.find('.txtDuesTotalAmt').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(duesTotalBal, 2)); else element.find('.txtDuesTotalAmt').text(0.00); var credit = element.find('.txt_Credit').val(); if (html == '') { $(divDues).empty(); $(divDues).html('
No data found...
'); } if (refreshWallets) { if (html2 == '') { $(divWallets).empty(); $(divWallets).html('
No data found...
'); } } if (element.find("#tx_Debit_" + trnId).val() == 0 || element.find("#tx_Debit_" + trnId).val() == undefined) { if (Number(element.find('.txtDuesTotalAmt').text()) == 0) { element.find('.txtTotalWalletAdjusted_' + trnId).attr("style", "cursor: not-allowed;"); element.find('.txtTotalWalletAdjusted_' + trnId).attr("disabled", "disabled"); element.find('.txtWalletCurrentAmount').attr("style", "cursor: not-allowed;"); element.find('.txtWalletCurrentAmount').attr("disabled", "disabled"); element.find('.txtCurrentAmount').attr("style", "cursor: not-allowed;"); element.find('.txtCurrentAmount').attr("disabled", "disabled"); } else { element.find('.txtTotalWalletAdjusted_' + trnId).removeAttr("style"); element.find('.txtTotalWalletAdjusted_' + trnId).removeAttr("disabled"); element.find('.txtWalletCurrentAmount').removeAttr("style"); element.find('.txtWalletCurrentAmount').removeAttr("disabled"); element.find('.txtCurrentAmount').removeAttr("style"); element.find('.txtCurrentAmount').removeAttr("disabled"); } } else { if (Number(element.find('.txtDuesTotalAmt').text()) == 0) { element.find('.txtTotalWalletAdjusted_' + trnId).attr("style", "cursor: not-allowed;"); element.find('.txtTotalWalletAdjusted_' + trnId).attr("disabled", "disabled"); element.find('.txtWalletCurrentAmount').attr("style", "cursor: not-allowed;"); element.find('.txtWalletCurrentAmount').attr("disabled", "disabled"); element.find('.txtCurrentAmount').attr("style", "cursor: not-allowed;"); element.find('.txtCurrentAmount').attr("disabled", "disabled"); } else { element.find('.txtTotalWalletAdjusted_' + trnId).removeAttr("style"); element.find('.txtTotalWalletAdjusted_' + trnId).removeAttr("disabled"); element.find('.txtWalletCurrentAmount').removeAttr("style"); element.find('.txtWalletCurrentAmount').removeAttr("disabled"); element.find('.txtCurrentAmount').removeAttr("style"); element.find('.txtCurrentAmount').removeAttr("disabled"); } } if (updatePayment == true && updateFrom != '') instance.updatePayment(trnId, updateFrom, refreshWallets, refreshDues); element.find('.txtTotalDueAdjusted_' + trnId).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(0, 2)); if (!instance.editVoucher) { if ($("#tx_Debit_" + trnId).val() == 0) instance.updatePayment(trnId, 'due', refreshWallets, false); if ($("#tx_Credit_" + trnId).val() == 0) instance.updatePayment(trnId, 'due', refreshWallets, false); } else { if (element.find("#tx_Debit_" + trnId).val() == 0 || element.find("#tx_Debit_" + trnId).val() == undefined) element.find('.txtTotalDueAdjusted_' + trnId).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(credit) - Number(walletsTotalAdj), 2)); else element.find('.txtTotalDueAdjusted_' + trnId).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(0, 2)); if (refreshWallets) { element.find('.txtTotalWalletAdjusted_' + trnId).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(walletsTotalAdj, 2)); } instance.updatePayment(trnId, 'due', false, refreshDues); } }); } else { element.find('.txtTotalDueAdjusted_' + trnId).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(0, 2)); element.find('.rowWallets,.rowDues').addClass('hidden'); } } showFirstFiveListItems(trnId, section) { let sectionClass = ""; if (section == "Wallet") { sectionClass = ".secWallets_" + trnId; } else { sectionClass = ".secDues_" + trnId; } $(sectionClass + ' .div' + section + '_List_item').not(':first').each(function (index, item) { if (index < 5) { $(item).removeClass('hidden'); let totalRowsCount = $(sectionClass + ' .div' + section + '_List_item').not(':first').length; let visibleRowsCount = totalRowsCount - $(sectionClass + ' .div' + section + '_List_item.hidden').not(':first').length; $('.div' + section + '_List_Footer_' + trnId).find('span.totalRowsCount').text(totalRowsCount); $('.div' + section + '_List_Footer_' + trnId).find('span.visibleRowsCount').text(visibleRowsCount); } else { return false; } }); if ($(sectionClass + ' .div' + section + '_List_item').not(':first').length >= 5) { $('.div' + section + '_List_Footer_' + trnId + ' .' + section.toLowerCase() + 'ListMoreBtn').removeClass('hidden'); } } loadMoreListItems(trnId, section) { let sectionClass = ""; if (section == "Wallet") { sectionClass = ".secWallets_TRN" + trnId; } else { sectionClass = ".secDues_TRN" + trnId; } $(sectionClass + ' .div' + section + '_List_item.hidden').not(':first').each(function (index, item) { if (index < 5) { $(item).removeClass('hidden'); let totalRowsCount = $(sectionClass + ' .div' + section + '_List_item').not(':first').length; let visibleRowsCount = totalRowsCount - $(sectionClass + ' .div' + section + '_List_item.hidden').not(':first').length; $('.div' + section + '_List_Footer_TRN' + trnId).find('span.visibleRowsCount').text(visibleRowsCount); if (visibleRowsCount == totalRowsCount) { $('.div' + section + '_List_Footer_TRN' + trnId + ' .' + section.toLowerCase() + 'ListMoreBtn').addClass('hidden'); } } else { return false; } }); } toggleWalletsAndDues(trnId, type) { var instance = this; var element = $('.transactonList_item_' + trnId + ''); if (type == 'Dues') element.find('.secDues_' + trnId + '').toggleClass('hidden'); else if (type == 'Wallets') element.find('.secWallets_' + trnId + '').toggleClass('hidden'); } removeAccount(trnId) { var instance = this; var prevTrnId = parseInt(trnId.charAt(3)) - 1; var prevElement = $('.transactonList_item_TRN' + prevTrnId + ''); var prevDiv = prevElement.find(".transactonList_div_TRN" + prevTrnId + ""); $(prevDiv).removeClass("hidden"); var element = $('.transactonList_item_' + trnId + ''); element.remove(); instance.update_Debtotal(trnId); instance.update_Credtotal(trnId); } removeTransaction(trnId) { var instance = this; var prevTrnId = parseInt(trnId.charAt(3)) - 1; var prevElement = $('.transactonList_item_TRN' + prevTrnId + ''); var prevDiv = prevElement.find(".transactonList_div_TRN" + prevTrnId + ""); $(prevDiv).removeClass("hidden"); var element = $('.transactonList_item_' + trnId + ''); element.remove(); instance.update_Debtotal(trnId); instance.update_Credtotal(trnId); } unhideTransaction(trnId) { var instance = this; $(".transactonList_div").addClass("hidden"); var element = $('.transactonList_item_' + trnId + ''); if ($('#txt_AccountName_' + trnId).val() != null) { element.find('.rowAcNarrartion,.transactonList_div_' + trnId).removeClass('hidden'); if (element.find('.hf_ContactId').val() != 0) element.find('.rowWallets,.rowDues').removeClass('hidden'); else element.find('.rowWallets,.rowDues').addClass('hidden'); } } clear() { var instance = this; $('.transactonList_item').each(function (index) { if (index > 0) { var elemnet = $(this); elemnet.find('.txt_Debit').val(0); elemnet.find('.txt_Credit').val(0); elemnet.find('.txtTotalDueAdjusted').text('0.00'); elemnet.find('.txtTotalWalletAdjusted').text(''); elemnet.find('.txtTotalWalletAdjusted').each(function () { $(this).val(0); }); elemnet.find('.txtCurrentAmount').each(function () { $(this).val(0); }); } }); } update_Debtotal(rowno) { var instance = this; $('#Debittotal').text(''); var totaldebit = 0; var j = Number($('.transactonList_item:last').attr("name")); for (var i = 2; i <= j; i++) { let debit = 0; var wAdjustment = 0; var element = $('.transactonList_item_TRN' + i + ''); var dr = element.find(".txt_Debit_TRN" + i).val(); debit = (dr != undefined && dr != "" && dr != null) ? Number(element.find(".txt_Debit_TRN" + i).val()) : 0; wAdjustment = Number(element.find(".txtTotalWalletAdjusted_TRN" + i).val()); if (debit == undefined) debit = 0; if (debit == 0 || wAdjustment == undefined || element.find(".hf_TransactionType").val() == "credit") wAdjustment = 0; if (!isNaN(debit)) totaldebit += Number(debit); if (isNaN(Number(wAdjustment))) { wAdjustment = 0; } } if (rowno == undefined) rowno = "TRN" + j; $('#Debittotal').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totaldebit, 2)); var debit = Number($('#txtDebit_' + rowno).val()); var credit = $('#txtCredit_' + rowno).val(); } update_Credtotal(rowno) { var instance = this; $('#credittotal').text(''); var totalcredit = 0; var j = Number($('.transactonList_item:last').attr("name")); for (var i = 2; i <= j; i++) { let credit = 0; var wAdjustment = 0; var element = $('.transactonList_item_TRN' + i + ''); var cr = element.find(".txt_Credit_TRN" + i).val(); credit = (cr != undefined && cr != "" && cr != null) ? Number(element.find(".txt_Credit_TRN" + i).val()) : 0; wAdjustment = Number(element.find(".txtTotalWalletAdjusted_TRN" + i).val()); if (credit == undefined) credit = 0; if (wAdjustment == undefined || element.find(".hf_TransactionType").val() == "debit") wAdjustment = 0; if (!isNaN(credit) || debit != '') totalcredit += Number(credit); if (isNaN(Number(wAdjustment))) { wAdjustment = 0; } } if (rowno == undefined) rowno = "TRN" + j; $('#credittotal').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totalcredit, 2)); var debit = $('#txtDebit_' + rowno).val(); var credit = $('#txtCredit_' + rowno).val(); } isDecimal(evt, id) { var charCode = (evt.which) ? evt.which : evt.keyCode; if (charCode == 46) { var val = document.getElementById(id); var txt = val.value; if (!(txt.indexOf(".") > -1)) { return true; } } if (charCode > 31 && (charCode < 48 || charCode > 57)) return false; return true; } isDecimalplusNoLongPress(evt, id) { var instance = this; var el = document.getElementById(id); var txt = el.value; const isValid = instance.validateFloatKeyPress(el, evt); if (!isValid) return false; instance.flag++; var charCode = (evt.which) ? evt.which : evt.keyCode; if (instance.flag <= 4) { if (charCode == 46) { if (!(txt.indexOf(".") > -1)) { return true; } } if (charCode > 31 && (charCode < 48 || charCode > 57)) return false; } else { return false; } return true; } validateFloatKeyPress(el, evt) { var charCode = (evt.which) ? evt.which : evt.keyCode; var number = el.value.split('.'); if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } if (number.length > 1 && charCode == 46) { return false; } var caratPos = el.selectionStart; var dotPos = el.value.indexOf("."); if (caratPos > dotPos && dotPos > -1 && (number[1].length > 1)) { return false; } return true; } initFlag() { var instance = this; instance.flag = 0; } voucherControlObj() { var instance = this; var crtot = Number($('#credittotal').html()); var drtot = Number($('#Debittotal').html()); var errormsg = $(".bizgaze_FormErrorMessages:visible").attr("id"); var issingle = $("#chk_issingleaccount").is(":checked"); if (issingle == false) { if (crtot != drtot) { MessageHelper.Instance().showError("Credit Total and Debit Total should be Equal", errormsg); return false; } else { var countOfTrns = $(".divTransactonList").children().length; if (countOfTrns < 3) { MessageHelper.Instance().showError("Please Add altleast two Accounts", "" + errormsg); return false; } if (crtot == 0 || drtot == 0) { MessageHelper.Instance().showError("Credit Total and Debit Total should be greater than Zero", "" + errormsg); return false; } } } var flag = 0; var journalEntries = new Array(); $('.transactonList_item').each(function (index) { var element = $(this); if (index > 0) { var debit = Number(element.find('.txt_Debit').val()); var credit = Number(element.find('.txt_Credit').val()); if (debit == 0 && credit == 0) { MessageHelper.Instance().showError('Please remove the account "' + element.find('.accountName').text() + '" which has no debits or credits.', '' + errormsg); flag = 1; } var trnId = element.find('.hf_TransactionId').val(); var wAdjusted = Number(element.find('.txtTotalWalletAdjusted').val()); var dAdjusted = Number(element.find('.txtTotalDueAdjusted').val()); if (debit != 0 || credit != 0) { if (wAdjusted > (debit + credit)) { MessageHelper.Instance().showError("Adjusted amount should be not be greater than debit and credit amount", "" + errormsg); flag = 1; Bizgaze.Apps.Transact.Controls.Voucher.Instance().AutoAdjustDues(trnId); } } var trnType = element.find('.hf_TransactionType').val(); var journalEntryId = element.find('.hf_JournalEntryId').val(); trnId = element.find('.hf_TransactionId').val(); if (trnType == "" || trnType == undefined) { if (debit == 0) trnType = "credit"; else trnType = "debit"; } var contactId = element.find('.hf_ContactId').val(); var issingle = $("#chk_issingleaccount").is(":checked"); var allocations = new Array(); if (contactId != "0") { if (issingle == false) { allocations = instance.journalAllocations(trnId); } } var jE_ContactId = Number(element.find('.hf_ContactId').val()); if (jE_ContactId == 0) { jE_ContactId = Number(element.find('.hfddl_OrgAutocomplete').val()); } journalEntries.push({ JournalEntryId: Number(element.find('.hf_JournalEntryId').val()), JournalId: Number(element.find('.hf_JournalIdforJEntry').val()), RefJournalId: Number(element.find('.hf_RefJournalId').val()), ContactId: jE_ContactId, Debit: Number(debit), Credit: Number(credit), LedgerId: Number(element.find('.hf_AccountId').val()), LedgerName: element.find('.accountName ').val(), Description: element.find('#txt_AcNarration').val(), TransactonType: trnType, JournalAllocations: allocations, PaymentAmount: Number($('#credittotal').html()), }); } }); if (flag == 1) { return false; } return journalEntries; } bindVoucherEntriesAccount(reconOBJ) { var instance = this; var element = $('.transactonList_item_TRN2'); element.find('.hf_AccountId').val(reconOBJ.ledgerid); $('.txt_refno').val(reconOBJ.refno); $('.date_journaldate').val(reconOBJ.transactiondate); element.find("#txt_AccountName_TRN2").empty(); element.find("#txt_AccountName_TRN2").attr('data-addlData', reconOBJ.closingbal); element.find("#txt_AccountName_TRN2").append('').trigger("change"); if (reconOBJ.bankaction == "spent" && Number(reconOBJ.debit) > 0) { reconOBJ.credit = reconOBJ.debit; reconOBJ.debit = 0; } else { if (reconOBJ.bankaction == "received" && Number(reconOBJ.credit) > 0) { reconOBJ.debit = reconOBJ.credit; reconOBJ.credit = 0; } } element.find('.txt_Debit').val(reconOBJ.debit); element.find('.txt_Credit').val(reconOBJ.credit); $("#txt_AccountName_TRN2").attr("disabled", "disabled"); if (reconOBJ.debit > 0) { $('.txt_Debit_TRN2').keyup(); } if (reconOBJ.credit > 0) { $('.txt_Credit_TRN2').keyup(); } $(".divCustomProperties_issystemgenerated").find(".hdn_issystemgenerated").val('true'); } ; printVoucher() { var instance = this; if ($(".printsetting").length != 0) { var printhtml = $(".printsetting")[0].outerHTML; $(".printsetting").remove(); $("#div_App_DefaultWidgetSettings").find(".row").append(printhtml); $(".printsetting").find(".pull-right").removeClass("pull-right"); } let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; $(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Print').html(''); $(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Print').click(function () { var VoucherId = Unibase.Themes.Providers.DetailHelper.recordId; Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/vouchers/vouchermanager.js", function () { Bizgaze.Apps.Transact.Managers.VoucherManager.Instance().PrintVouchers(VoucherId).then(function (response) { var result = response.result; if (isMobileApp()) { Unibase.Platform.Helpers.MobileHelper.Instance().previewHtml(result.PrintHTML); } else { instance.printPopup(result.PrintHTML); } }); }); }); } printPopup(data) { var mywindow = window.open('', 'my Print', 'height=400,width=850'); var content = 'Print'; content += data; content += ""; content += ''; mywindow.document.write(content); return true; } static Instance() { if (this._instance === undefined) this._instance = new Voucher(); return this._instance; } } Controls.Voucher = Voucher; })(Controls = Transact.Controls || (Transact.Controls = {})); })(Transact = Apps.Transact || (Apps.Transact = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));