X++-kørselsfunktioner for erhverv

Note

Community-interessegrupper er nu flyttet fra Yammer til Microsoft Viva Engage. Hvis du vil deltage i et Viva Engage community og deltage i de seneste diskussioner, skal du udfylde formularen Anmodning om adgang til Finance and Operations Viva Engage Community og vælge det community, du vil deltage i.

I denne artikel beskrives funktionerne til kørsel i virksomheden.

Disse funktioner angiver økonomiske data og beregner formler.

cTerm

Beregner det antal perioder, der kræves for den aktuelle investeringsværdi for at give en målværdi.

Syntaks

real cTerm(real interest, real future_value, real current_value)

Parametre

Parameter Beskrivende tekst
interesse Rentesatsen.
future_value Målværdien.
current_value Den aktuelle investeringsværdi.

Returværdi

Det antal perioder, der kræves for at nå future_value.

Kommentarer

Parametrene current_value og future_value skal bruge det samme fortegn (plus eller minus).

Eksempel:

static void cTermExample(Args _arg)
{
    real r;
    ;
    r = cTerm(10.0, 500.00, 100.00);
    print "The cTerm is " + num2Str(r, 2, 2, 1, 1);
    pause;
}

Ddb

Beregner den accelererede afskrivning af et aktiv.

Syntaks

real ddb(real price, real scrap, real life, int period)

Parametre

Parameter Beskrivende tekst
pris Aktivets købspris.
skrot Restværdien af det aktiv, du afskriver.
liv Aktivets forventede levetid.
Periode Den periode, der skal beregnes afskrivning for.

Returværdi

Afskrivningen af aktivet.

Kommentarer

Den bogførte værdi for en bestemt periode er lig med købsprisen minus den akkumulerede afskrivning for tidligere perioder:

  • Bogført værdi for periode 1 = Pris
  • Bogført værdi for periode 2 = bogført værdi for periode 1 – afskrivning for periode 1
  • Bogført værdi for Periode n = Bogført værdi for Periode (n-1) – Afskrivning for periode (n-1)

Der er tre variationer i beregningen af afskrivningen: Hvis periodelevetid > :

  • Afskrivning = 0

If (Bogført værdi for Periode n) – ((Bogført værdi for Periode n) × 2 ÷ Levetid) < Restværdi:

  • Afskrivning = (bogført værdi for periode n) – restværdi

I alle andre tilfælde: Afskrivning = (bogført værdi for periode n) × 2 ÷ Life Funktionerne syd og sln beregner også afskrivningen af et aktiv. Funktionerne syd og ddb muliggør højere afskrivning for de tidligere år, mens sln beregner en lineær afskrivning.

ddb(12000,2000,10,1); //Returns the value 2400.
ddb(12000,2000,10,3); //Returns the value 1536.

Gd

Beregner bidragskvoten, som er baseret på salgsprisen og købsprisen. Hvis værdien af salgsparameteren er 0,0, kan beregningen ikke udføres.

Syntaks

real dg(real sale, real purchase)

Parametre

Parameter Beskrivende tekst
salg Salgsprisen.
køb Købsprisen.

Returværdi

Bidragsforholdet.

Kommentarer

dg(1000,300); //Returns the value 0.7.
dg(100,30); //Returns the value 0.7.
dg(20000, 11000); //Returns the value 0.45.

Fv

Beregner den fremtidige værdi af en investering.

Syntaks

real fV(real amount, real interest, real life)

Parametre

Parameter Beskrivende tekst
beløb Det beløb, du har betalt i løbet af hver periode.
interesse Rentesatsen.
liv Antallet af investeringsperioder.

Returværdi

Investeringens fremtidige værdi.

Kommentarer

fV(100,0.14,10); //Returns the value 1933.73.
fV(400,0.10,5); //Returns the value 2442.04.

idg

Beregner salgsprisen baseret på købsprisen og bidragskvoten.

real idg(real purchase, real contribution_ratio)

Parametre

Parameter Beskrivende tekst
køb Købsprisen.
contribution_ratio Bidragsforholdet.

Returværdi

Salgsprisen.

Kommentarer

Hvis bidragsforholdet er lig med 1,0, kan beregningen ikke udføres. Funktionen idg er det omvendte af dg-funktionen .

idg(300,0.7); //Returns the value 1000.
idg(11000,0.45); //Returns the value 20000.

intvMax

Henter antallet af intervaller for den angivne periode, når perioden er opdelt i dele som angivet af parameteren func .

int intvMax(date input_date, date ref_date, int func)

Parametre

Parameter Beskrivende tekst
input_date Slutningen af perioden, som skal være senere end parameteren ref_date .
ref_date Periodens start.
func En IntvScale-systemoptællingsværdi , der angiver divisionsenheden.

Kommentarer

Her er de mulige værdier for func-parameteren :

  • None
  • YearMonthDay
  • YearMonth
  • År
  • MonthDay
  • Måned
  • Dag
  • Årstal
  • Kvartal
  • YearWeek
  • Uge
  • Hverdag

Eksempel:

static void intvMaxExample()
{
    date refDate = str2Date("4/9/2007", 213);
    date inputDate = str2Date("10/5/2007", 213);
    int numberOfIntervals;
    ;
    numberOfIntervals = intvMax(inputDate, refDate, intvScale::YearMonth);
    print numberOfIntervals;
    pause;
}

intvName

Returnerer navnet på det interval, der er det angivne antal intervaller forud for den angivne dato.

str intvName(date input_date, int col, enum func)

Parametre

Parameter Beskrivende tekst
input_date En dato i det første interval.
kolonne Antallet af intervaller forud for den dato, der er angivet i parameteren input_date .
func En intvScale-optællingsværdi .

Returværdi

Navnet på intervallet.

Kommentarer

Hvis func-parameteren f.eks. er optællingsværdien IntvScale::WeekDay , returnerer denne metode navnet på ugedagen. Hvis func-parameteren er optællingsværdien IntvScale::Week , returnerer denne metode en streng, der indeholder ugenummeret.

Eksempel:

static void intvNameExample(Args _args)
{
    date refDate = 2672010;
    str name;
    ;
    name = intvName(refDate, 3,  intvScale::WeekDay);
    Global::info(strfmt("%1 is the output, which indicates the day of the week 3 days after 26\7\2010.", name));
}
/**** Infolog display.
Message (09:56:55 am)
Thu is the output, which indicates the day of the week 3 days after 2672010.
****/

intvNo

Beregner antallet af intervaller mellem to datoer, når du opdeler tiden i de angivne intervaller.

Syntaks

int intvNo(date input_date, date ref_date, int func)

Parametre

Parameter Beskrivende tekst
input_date En dato, der angiver slutningen af perioden
ref_date En dato, der angiver starten af perioden.
func En intvScale-optællingsværdi .

Returværdi

Antallet af intervaller mellem de datoer, som parametrene ref_date og input_date angiver.

Eksempel:

static void intvNoExample(Args _args)
{
    date inputDate = str2Date("1/1/2007", 213);
    date refDate = str2Date("3/1/2007", 213);
    int noOfIntervals;
    ;
    noOfIntervals = intvNo(refDate, inputDate, intvScale::Month);
    print noOfIntervals;
    pause;
    //noOfIntervals now holds the difference in months between March and January (2).
}

intvNorm

Returnerer den normaliserede dato for perioden.

Syntaks

date intvNorm(date input_date, date ref_date, int func)

Parametre

Parameter Beskrivende tekst
input_date Slutningen af perioden, som skal være senere end den dato, du angiver i parameteren ref_date .
ref_date Periodens start.
func En intvScale-optællingsværdi , der angiver intervaldivisionsenheden.

Returværdi

Den normaliserede dato for perioden.

Kommentarer

Den returnerede dato er lig med datoen for den første dag i intervallet, hvor den dato, du angiver i parameteren ref_date , findes.

Eksempel:

static void example()
{
    print intvNorm(today(), today()-1, IntVScale::WeekDay);
    pause;
}

Ydelse

Beregner det beløb, du skal betale hver periode for at tilbagebetale et lån.

Syntaks

real pmt(real principal, real interest, real life)

Parametre

Parameter Beskrivende tekst
sikkerhedskonto Det beløb, du oprindeligt lånte.
interesse Rentesatsen anvendes hver periode på det beløb, du lånte.
liv Antallet af perioder, hvor du tilbagebetaler lånet.

Returværdi

Det beløb, du skal betale hver periode.

Kommentarer

Udtryk parametrene for liv og interesse på samme tidsenheder. Værdien af livsparameteren skal være større end 0,0.

Eksempel:

pmt(4000,0.14,4); //Returns the value 1372.82.
pmt(10000,0.10,20); //Returns the value 1174.60.

Pt

Henter summen af et tal plus en angivet procentdel af dette tal.

Syntaks

real pt(real amount, real percentage)

Parametre

Parameter Beskrivende tekst
beløb Det oprindelige tal.
procentdel Procenttillægget.

Returværdi

Det tal, der er lig med ((beløb ×gennemløb) + beløb).

Kommentarer

pt(2000.0,0.10); //Returns the value 2200.0.
pt(20.0,0.10); //Returns the value 22.0.

Pv

Beregner nutidsværdien af en annuitet, hvor du modtager et beløb over flere perioder, og rentesatsen fratrækkes for hver periode.

Syntaks

real pv(real amount, real interest, real life)

Parametre

Parameter Beskrivende tekst
beløb Det beløb, du betaler i hver periode.
interesse Rentesatsen.
liv Det antal gange, som den værdi, der er angivet af parameteren amount , betales.

Returværdi

Den aktuelle værdi for en annuitet.

Kommentarer

pv(300,0.14,4); //Returns the value 874.11.

tempo

Beregner den rente, der kræves for den aktuelle investeringsværdi, for at opnå den fremtidige værdi for det angivne antal perioder.

Syntaks

real rate(real _future_value, real _current_value, real _terms)

Parametre

Parameter Beskrivende tekst
_future_value Investeringens fremtidige værdi.
_current_value Den aktuelle værdi af investeringen.
_Vilkår Antallet af perioder, som investeringen strækker sig over.

Returværdi

Den beregnede rentesats.

Kommentarer

rate(10000,1000,20); //Returns the value 0.12.

sln

Henter det konstante afskrivningsbeløb for det angivne aktiv for hver afskrivningsperiode.

Syntaks

real sln(real price, real scrap, real life)

Parametre

Parameter Beskrivende tekst
pris Aktivets købspris.
skrot Aktivets scrapværdi.
liv Antallet af perioder i aktivets forventede levetid.

Returværdi

Afskrivningsbeløbet.

Eksempel:

static void slnExample(Args _arg)
{
    real r;
    ;
    r = sln(100.00, 50.00, 50.00);
    print r;
    pause;
}

syd

Beregner afskrivningen af et aktiv i en angivet periode.

Syntaks

real syd(real _price, real _scrap, real _life, int _period)

Parametre

Parameter Beskrivende tekst
_pris Aktivets købspris.
_skrot Aktivets scrapværdi.
_liv Aktivets forventede levetid (antallet af perioder).
_periode Den periode, der skal beregnes afskrivning for.

Returværdi

Afskrivningsbeløbet for den angivne periode.

Kommentarer

I modsætning til funktionen sln kan funktionen syd bruge accelereret afskrivning for aktivet. Som med funktionen ddb resulterer denne fremgangsmåde i højere afskrivning i de tidlige perioder af et aktivs levetid.

Eksempel:

I følgende eksempler beregnes den periodiske afskrivning for et aktiv, der har en købspris på 10.000, en scrapværdi på 2.000 og en levetid på 5. Til sammenligning beregner sln(10000,2000,5) 1.600,00 for hver periode.

// Returns the value 2666.67 (for the 1st period).
syd(10000,2000,5,1);
// Returns the value 2133.33 (for the 2nd period).
syd(10000,2000,5,2);
// Returns the value 1600.00 (for the 3rd period).
syd(10000,2000,5,3);
// Returns the value 1066.67 (for the 4th period).
syd(10000,2000,5,4);
// Returns the value 533.33 (for 5th - and final- period).
syd(10000,2000,5,5);

udtryk

Beregner antallet af perioder, som en investering skal køre for.

Syntaks

real term(real amount, real interest, real future_value)

Parametre

Parameter Beskrivende tekst
beløb Beløbet for den periodiske investering.
interesse Rentesatsen for hver periode.
future_value Den fremtidige værdi, der forventes for investeringen

Returværdi

Det antal perioder, som investeringen skal køre for.

Eksempel:

static void termExample(Args _args)
{
    print term(400,0.08,5000);  //returns the value '9.01'.
    print term(100,0.14,3000);  //returns the value '12.58'.
    pause;
}