แชร์ผ่าน


ฟังก์ชันเวลาที่รันธุรกิจของ X++

Note

กลุ่มที่น่าสนใจของชุมชนได้ย้ายจาก Yammer ไปยัง Microsoft Viva Engage แล้ว หากต้องการเข้าร่วมชุมชน Viva Engage และเข้าร่วมในการสนทนาล่าสุด ให้กรอก แบบฟอร์ม คําขอการเข้าถึงการเงินและการดําเนินงาน Viva Engage Community และเลือกชุมชนที่คุณต้องการเข้าร่วม

บทความนี้อธิบายฟังก์ชันเวลาทํางานทางธุรกิจ

ฟังก์ชันเหล่านี้ป้อนข้อมูลทางการเงินและคํานวณสูตร

cTerm

คํานวณจํานวนรอบระยะเวลาที่จําเป็นสําหรับค่าการลงทุนปัจจุบันเพื่อให้ได้ค่าเป้าหมาย

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ดอกเบี้ย อัตราดอกเบี้ย
future_value ค่าเป้าหมาย
current_value มูลค่าการลงทุนปัจจุบัน

ค่าที่ส่งกลับ

จํานวนรอบระยะเวลาที่จําเป็นเพื่อให้ถึง future_value

หมายเหตุ

พารามิเตอร์ current_value และ future_value ต้องมีเครื่องหมายคํานําหน้าเดียวกัน (เครื่องหมายบวกหรือลบ)

ตัวอย่าง

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

คํานวณค่าเสื่อมราคาแบบเร่งของสินทรัพย์

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ราคา ราคาซื้อของสินทรัพย์
เศษ มูลค่าที่เหลืออยู่ของสินทรัพย์ที่ถูกตัดบัญชี
ชีวิต อายุการใช้งานที่คาดหวังของสินทรัพย์
ช่วง รอบระยะเวลาที่จะคํานวณค่าเสื่อมราคา

ค่าที่ส่งกลับ

ค่าเสื่อมราคาของสินทรัพย์

หมายเหตุ

มูลค่าตามบัญชีสําหรับรอบระยะเวลาเฉพาะจะเท่ากับราคาซื้อลบด้วยค่าเสื่อมราคาสะสมสําหรับรอบระยะเวลาก่อนหน้านี้

  • มูลค่าตามบัญชีสําหรับรอบระยะเวลา 1 = ราคา
  • มูลค่าตามบัญชีสําหรับรอบระยะเวลา 2 = มูลค่าตามบัญชีสําหรับรอบระยะเวลา 1 – ค่าเสื่อมราคาสําหรับรอบระยะเวลา 1
  • มูลค่าตามบัญชีสําหรับรอบระยะเวลา n = มูลค่าตามบัญชีสําหรับรอบระยะเวลา (n-1) – ค่าเสื่อมราคาสําหรับรอบระยะเวลา (n–1)

มีการเปลี่ยนแปลงสามรายการสําหรับการคํานวณค่าเสื่อมราคา: ถ้าอายุการใช้งานของรอบระยะเวลา > :

  • ค่าเสื่อมราคา = 0

ถ้า (มูลค่าตามบัญชีสําหรับรอบระยะเวลา n) – ((มูลค่าตามบัญชีสําหรับรอบระยะเวลา n) × 2 ÷อายุการใช้งาน) < มูลค่าปัจจุบัน:

  • ค่าเสื่อมราคา = (มูลค่าตามบัญชีสําหรับรอบระยะเวลา n) – มูลค่าที่เหลือ

ในกรณีอื่น ๆ ทั้งหมด: ค่าเสื่อมราคา = (มูลค่าตามบัญชีสําหรับรอบระยะเวลา n) × 2 ÷อายุฟังก์ชัน syd และ sln ยังคํานวณค่าเสื่อมราคาของสินทรัพย์ด้วย ฟังก์ชัน syd และ ddb ช่วยให้ค่าเสื่อมราคาสูงขึ้นสําหรับปีก่อนหน้า ในขณะที่ sln คํานวณค่าเสื่อมราคาแบบเส้นตรง

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

dg

คํานวณอัตราส่วนกําไรส่วนแบ่งซึ่งขึ้นอยู่กับราคาขายและราคาซื้อ ถ้าค่าของพารามิเตอร์ การขาย เป็น 0.0 การคํานวณจะไม่สามารถทําได้

วากยสัมพันธ์

real dg(real sale, real purchase)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
การขาย ราคาขาย
ซื้อ ราคาซื้อ

ค่าที่ส่งกลับ

อัตราส่วนของส่วนสนับสนุน

หมายเหตุ

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

คํานวณมูลค่าในอนาคตของการลงทุน

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ปริมาณ ยอดเงินที่ชําระในระหว่างแต่ละรอบระยะเวลา
ดอกเบี้ย อัตราดอกเบี้ย
ชีวิต จํานวนของรอบระยะเวลาการลงทุน

ค่าที่ส่งกลับ

มูลค่าในอนาคตของการลงทุน

หมายเหตุ

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

idg

คํานวณราคาขายตามราคาซื้อและอัตราส่วนส่วนสนับสนุน

real idg(real purchase, real contribution_ratio)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ซื้อ ราคาซื้อ
contribution_ratio อัตราส่วนของส่วนสนับสนุน

ค่าที่ส่งกลับ

ราคาขาย

หมายเหตุ

ถ้าอัตราส่วนกําไรส่วนสนับสนุนเท่ากับ 1.0 จะไม่สามารถคํานวณได้ ฟังก์ชัน idg เป็นค่าผกผันของฟังก์ชัน dg

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

intvMax

ดึงข้อมูลจํานวนช่วงสําหรับรอบระยะเวลาที่ระบุเมื่อรอบระยะเวลาถูกแบ่งออกเป็นส่วนต่างๆ ตามที่ระบุโดยพารามิเตอร์ func

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
input_date จุดสิ้นสุดของรอบระยะเวลาซึ่งต้องอยู่หลังพารามิเตอร์ ref_date
ref_date จุดเริ่มต้นของรอบระยะเวลา
func ค่าแจงนับระบบ IntvScale ที่ระบุหน่วยการหาร

หมายเหตุ

ต่อไปนี้คือค่าที่เป็นไปได้สําหรับพารามิเตอร์ func :

  • ไม่มีใคร
  • YearMonthDay
  • YearMonth
  • Year
  • MonthDay
  • Month
  • วัน
  • YearQuarter
  • ไตรมาส
  • YearWeek
  • สัปดาห์
  • WeekDay

ตัวอย่าง

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

ส่งกลับชื่อของช่วงที่เป็นจํานวนช่วงที่ระบุ ก่อนวันที่ที่ระบุ

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
input_date วันที่ในช่วงเวลาแรก
col จํานวนช่วงเวลาก่อนวันที่ที่ระบุโดยพารามิเตอร์ input_date
func ค่าการแจงนับ intvScale

ค่าที่ส่งกลับ

ชื่อของช่วง

หมายเหตุ

ตัวอย่างเช่น ถ้าพารามิเตอร์ของ func เป็น IntvScale::WeekDay แจงนับ วิธีการนี้จะส่งกลับชื่อของวันในสัปดาห์ หากพารามิเตอร์ func เป็น IntvScale:: ค่าการแจงนับสัปดาห์ วิธีนี้จะส่งกลับสตริงที่มีจํานวนสัปดาห์

ตัวอย่าง

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

คํานวณจํานวนช่วงเวลาระหว่างวันที่สองวันเมื่อคุณแบ่งเวลาเป็นช่วงเวลาที่ระบุ

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
input_date วันที่ที่ระบุจุดสิ้นสุดของรอบระยะเวลา
ref_date วันที่ที่ระบุจุดเริ่มต้นของรอบระยะเวลา
func ค่าการแจงนับ intvScale

ค่าที่ส่งกลับ

จํานวนช่วงระหว่างวันที่ที่ระบุโดยพารามิเตอร์ ref_date และ input_date

ตัวอย่าง

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

ส่งกลับวันที่ปกติสําหรับรอบระยะเวลา

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
input_date จุดสิ้นสุดของรอบระยะเวลาซึ่งต้องอยู่หลังจากวันที่ที่ระบุโดยพารามิเตอร์ ref_date
ref_date จุดเริ่มต้นของรอบระยะเวลา
func ค่าแจงนับแบบ intvScale ที่ระบุหน่วยการหารช่วงเวลา

ค่าที่ส่งกลับ

วันที่ปกติสําหรับรอบระยะเวลา

หมายเหตุ

วันที่ผลลัพธ์จะเท่ากับวันที่ของวันแรกในช่วงเวลาที่มีวันที่ระบุโดยพารามิเตอร์ ref_date อยู่

ตัวอย่าง

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

pmt

คํานวณยอดเงินที่ต้องชําระทุกรอบระยะเวลาเพื่อชําระคืนเงินกู้ยืม

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
บัญชีผู้ใช้หลัก ยอดเงินที่ยืมในตอนแรก
ดอกเบี้ย ดอกเบี้ยที่นําไปใช้ในแต่ละรอบระยะเวลากับยอดเงินที่ยืม
ชีวิต จํานวนของรอบระยะเวลาที่ชําระคืนเงินกู้ยืม

ค่าที่ส่งกลับ

ยอดเงินที่ต้องชําระทุกรอบระยะเวลา

หมายเหตุ

พารามิเตอร์ อายุการใช้งาน และ ดอกเบี้ย ต้องแสดงในหน่วยเวลาเดียวกัน ค่าของพารามิเตอร์อายุต้องมากกว่า 0.0

ตัวอย่าง

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

pt

ดึงข้อมูลผลรวมของตัวเลขบวกเปอร์เซ็นต์ที่ระบุของตัวเลขนั้น

วากยสัมพันธ์

real pt(real amount, real percentage)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ปริมาณ หมายเลขเดิม
อัตราร้อยละ เปอร์เซ็นต์อาหารเสริม

ค่าที่ส่งกลับ

ตัวเลขที่เท่ากับ ((ยอดเงิน *× *เปอร์เซ็นต์) + ยอดเงิน)

หมายเหตุ

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

pv

คํานวณค่าปัจจุบันของเงินรายปี ที่ได้รับในหลายรอบระยะเวลา และหักอัตราดอกเบี้ยสําหรับแต่ละรอบระยะเวลา

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ปริมาณ ยอดเงินที่ชําระในระหว่างแต่ละรอบระยะเวลา
ดอกเบี้ย อัตราดอกเบี้ย
ชีวิต จํานวนครั้งที่ชําระค่าที่ระบุโดยพารามิเตอร์ยอดเงิน

ค่าที่ส่งกลับ

ค่าปัจจุบันของเงินรายปี

หมายเหตุ

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

อัตรา

คํานวณดอกเบี้ยที่จําเป็นสําหรับค่าการลงทุนปัจจุบัน เพื่อสร้างมูลค่าในอนาคตตามจํานวนรอบระยะเวลาที่ระบุ

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
_future_value มูลค่าในอนาคตของการลงทุน
_current_value ค่าปัจจุบันของการลงทุน
_เงื่อนไข จํานวนของรอบระยะเวลาที่การลงทุนขยาย

ค่าที่ส่งกลับ

อัตราดอกเบี้ยที่คํานวณได้

หมายเหตุ

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

sln

ดึงข้อมูลยอดเงินค่าเสื่อมราคาคงที่สําหรับสินทรัพย์ที่ระบุสําหรับแต่ละรอบระยะเวลาค่าเสื่อมราคา

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ราคา ราคาซื้อของสินทรัพย์
เศษ มูลค่าซากของสินทรัพย์
ชีวิต จํานวนของรอบระยะเวลาอายุที่คาดไว้ของสินทรัพย์

ค่าที่ส่งกลับ

ยอดเงินค่าเสื่อมราคา

ตัวอย่าง

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

syd

คํานวณค่าเสื่อมราคาของสินทรัพย์ในช่วงเวลาที่ระบุ

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
_ราคา ราคาซื้อของสินทรัพย์
_เศษ มูลค่าซากของสินทรัพย์
_ชีวิต อายุที่คาดหวังของสินทรัพย์ (จํานวนของรอบระยะเวลา)
_ช่วง รอบระยะเวลาที่จะคํานวณค่าเสื่อมราคา

ค่าที่ส่งกลับ

ยอดเงินค่าเสื่อมราคาในช่วงเวลาที่ระบุ

หมายเหตุ

ซึ่งตรงกันข้ามกับฟังก์ชัน sln ฟังก์ชัน syd สามารถอนุญาตให้มีค่าเสื่อมราคาแบบเร่งของสินทรัพย์ได้ เช่นเดียวกับฟังก์ชัน ddb ซึ่งทําให้ค่าเสื่อมราคาสูงขึ้นในช่วงรอบระยะเวลาแรกของอายุของสินทรัพย์

ตัวอย่าง

ในตัวอย่างต่อไปนี้ จะมีการคํานวณค่าเสื่อมราคาเป็นครั้งคราวสําหรับสินทรัพย์ที่มีราคาซื้อ 10,000 มูลค่าซาก 2,000 และอายุ 5 ในการเปรียบเทียบ sln(10000,2000,5) จะคํานวณ 1600.00 สําหรับแต่ละรอบระยะเวลา

// 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);

เทอม

คํานวณจํานวนรอบระยะเวลาที่การลงทุนต้องรัน

วากยสัมพันธ์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ปริมาณ ยอดเงินของการลงทุนเป็นครั้งคราว
ดอกเบี้ย อัตราดอกเบี้ยสําหรับแต่ละรอบระยะเวลา
future_value มูลค่าในอนาคตที่คาดว่าจะได้รับสําหรับการลงทุน

ค่าที่ส่งกลับ

จํานวนของรอบระยะเวลาที่การลงทุนต้องดําเนินการ

ตัวอย่าง

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;
}