Papildomos informacijos programavimas
2024-06-16Tai yra funkcionalumas pažengusiems leidžiantis keisti papildomą informaciją sąskaitoje faktūroje priklausomai nuo to kas įvesta kituose laukuose. Jeigu nesate programuotoja(s) mano pasiūlymas būtų tiesiog peržiūrėti pavyzdžius žemiau, pasirinkti jums tinkamą/reikiamą ir pritaikyti pagal savo poreikius.
Pavyzdžiai
Čia rasite įvairių pavyzdžių, kuriuos galite naudoti Nustatymų puslapio „Papildomos informacijos programa” sekcijoje.
Nurodyti konkrečią apmokėjimo datą pagal SF datą
const poKiekDienu = 10;
date.setDate(date.getDate() + poKiekDienu);
globalThis.result = `Prašome apmokėti sąskaitą iki ${formatDate(date)}`;
Kuriant sąskaitą faktūrą prie „Papildoma informacija“ lauko atsiras mygtukas „Vykdyti papildomos informacijos programą“, kurį paspaudus papildomos informacijos lauke atsiras eilutė panaši į „Prašome apmokėti sąskaitą iki 2024-06-26“.
Nurodyti konkrečią apmokėjimo datą pagal SF datą (automatiškai)
// AUTO
const poKiekDienu = 10;
date.setDate(date.getDate() + poKiekDienu);
globalThis.result = `Prašome apmokėti sąskaitą iki ${formatDate(date)}`;
Pakeitus sąskaitos faktūros datą ar bet kurį kitą laukelį papildomos
informacijos laukelis pasikeis automatiškai. Turėkite omeny, kad šis laukas bus
perrašomas automatiškai ir jūsų pakeitimai gali dingti. Todėl naudokite
automatinį variantą (pirma eilutė // AUTO) tik tada, kai norite, kad
papildoma informacija atrodytų taip pat.
Nurodyti konkrečia apmokėjimo datą pagal SF datą ir kalbą (automatiškai)
// AUTO
const poKiekDienu = 10;
date.setDate(date.getDate() + poKiekDienu);
if (language == 'lt') {
globalThis.result = `Prašome apmokėti sąskaitą iki ${formatDate(date)}`;
} else if (language === 'en') {
globalThis.result = `Please process by ${formatDate(date)}`;
}
Nurodyti apmokėjimo būdą priklausomai nuo pirkėjo ar sumos
let result = 'Prašome apmokėti sąskaitą';
if (buyer.startsWith('UAB') || buyer.startsWith('AB') || price > 5000) {
result += ' BANKINIU PAVEDIMU';
} else {
result += ' GRYNAIS';
}
globalThis.result = result;
Šiame pavyzdyje, jei pirkėjo laukelyje informacija prasideda raidėmis „UAB“ ar „AB“ arba SF suma yra daugiau negu 50 eurų (sumos programai paduodamos centais todėl nurodyta 5000), tai tada apmokėjimo prašome pavedimu. Kitu atveju pavedimo prašome grynais.
Informacijos apjungimas
Ir žinoma galima apjungti šią informaciją, jei norime nurodyti ir apmokėjimo datą ir atsiskaitymo būdą.
const poKiekDienu = 10;
date.setDate(date.getDate() + poKiekDienu);
let result = `Prašome apmokėti sąskaitą iki ${formatDate(date)}\n`;
result += 'Atsiskaitymas ';
if (buyer.startsWith('UAB') || buyer.startsWith('AB') || price > 5000) {
result += ' BANKINIU PAVEDIMU';
} else {
result += ' GRYNAIS';
}
globalThis.result = result;
Informacija programuojantiems
Papildomos informacijos programa yra rašoma JavaScript programavimo kalba.
Programa gauna šią informaciją:
invoiceType- SF tipas. Gali būtistandard,proformaarbacredit.seriesName- serijos vardasseriesId- serijos numerisdate- SF datalanguage- kalbaseller- pardavėjo informacijabuyer- pirkėjo informacijaissuer- SF išrašęs asmuoitems- paslaugų ar prekių masyvasprice- SF prekių ar paslaugų suma centais
Taip gali atrodyti duomenys paduoti programai:
const invoiceType = 'standard';
const seriesName = 'DD';
const seriesId = 47;
const date = new Date(1718540924628);
const language = 'lt';
const seller = 'Pirkėjas';
const buyer = 'Pardavėjas';
const email = '';
const issuer = 'Dalius Dobravolskas';
const items = [{ id: 0, name: '', unit: 'H87', amount: 1, price: 0 }];
const price = 0;
Jei pirma programos eilutė yra komentaras // AUTO, tai programa bus vykdoma
kaskart pasikeitus laukams.
// AUTO
Programa pažymėta // AUTO bus taip pat vykdoma keičiant kelias sąskaitas
faktūras.
formatDate yra tik pagalbinė funkcija, kuri suformatuoja datą
YYYY-MM-DD formatu, pvz.: 2024-06-26