Show TOC

وثائق الكائنحقل العمليات في النافذة معادلة الضريبة - إعداد: البرازيل والهند تحديد موقع هذا المستند في بنية التنقل

 

استخدم هذا الحقل في النافذة معادلة الضريبة - إعداد لتحديد عمليات صالحة لمعادلة الضريبة.

لفتح النافذة، اختر   الإدارة   إعداد   الماليات   تكوين محرك الضرائب  .

العمليات الحسابية

العملية

الوصف

مثال

النتيجة

+

جمع

X=2

X=X+1

3

طرح

X=2

X=5-X

3

*

ضرب

X=4

X=X*5

20

/

قسمة

X=5

X=15/X؛

X=5

X=X/2

3;

2.5

%

المُعامل (باقي القسمة)

5%2;

10%8;

10%2;

1;

2;

0

(,)

الأفضلية

5*(2+3)

25

تقريب‏ (عدد، نقاط عشرية إلى عدد)

وظيفة محددة مسبقًا للتقريب.

تتبع قواعد التقريب الإعدادات التالية:

  • الحقل أسلوب التقريب في النافذة إعدادات المستند

  • حقل التقريب في النافذة تحديد العملات

  • الحقل منزلة عشرية في النافذة الإعدادات العامة، علامة التبويب عرض

تقريب (2.134,2)؛

تقريب (2.-1)

2.13;

0

تقريب (عدد، نوع)

وظيفة محددة مسبقًا للتقريب.

يمكنك فقط اختيار أحد الأنواع التالية:

  • نسب مئوية

  • أسعار

  • مبالغ

  • كميات

تتبع قواعد التقريب إعدادات الحقل منزلة عشرية في النافذة الإعدادات العامة، علامة التبويب عرض.

تقريب (2.134، مبالغ)

إذا كان إعداد الحقل مبالغ بمنازل عشرية هو 2.

2.13

عمليات الشرط

العمليات

الوصف

مثال

النتيجة

<

أقل من

5<8

صواب

<=

أقل من أو يساوي

5<=8

صواب

==

يساوي

5==8

خطأ

!=

لا يساوي

5!=8

صواب

>=

أكبر من أو يساوي

5>=8

خطأ

>

أكبر من

5>8

خطأ

إذا...وإلا (If…else)

معامل شرط

إذا كان (X<6) {X=X+2} وإلا

{X=X+1}

X=3

5

مثال مثال

ICMS

التصنيع أو التوزيع أو الاستهلاك أو الأصول

إجمالي مبلغ ICMS = صافي قيمة البند / (1-((سعر ICMS /100)*(الأساس/100)))

مبلغ ضريبة ICMS = إجمالي مبلغ ICMS - صافي القيمة

المبلغ الأساسي = صافي قيمة البند / (1-((سعر ICMS /100)*(الأساس/100))*(1+(سعر IPI/100)*(أساس IPI/100)))

مبلغ ICMS = المبلغ الأساسي * ((100-سعر ICMS‏)/100)*(الأساس/100))

نهاية المثال.
القواعد النحوية

اللغة تتبع حالة الأحرف.

  1. التعبيرات الفردية غير مدعومة. العبارات فقط هي الصالحة.

    تتضمن العبارات الصالحة الآتي:

    • التعيين

    • إذا

    • أثناء

    • مركَّب

  2. قواعد عبارات التعيين:

    1. يجب تهيئة المتغير المحلي المشار إليه.

      العبارات التالية غير صالحة:

      a = a + 1

      /*لم يتم تعيين قيمة إلى المتغير المحلي 'a' قبل */

      b = a

      /*لم يتم تعيين قيمة إلى المتغير المحلي 'a' قبل */

    2. لا يمكن تعيين قيمة بنوع مختلف إلى المتغير المحلي الخارجي المشار إليه في المجموعة.

      العبارات التالية غير صحيحة:

      a = "124"

      /*هذه العبارة غير صحيحة لأن نوع المتغير المحلي 'a' هو سلسلة، والذي يمكن تحديده بواسطة العبارة آخر عبارة قبل المجموعة*/

  3. قواعد العبارتين إذا/أثناء:

    1. يجب أن يكون نوع التعبير المرفق ضمن "(" and ")" من النوع منطقي:

      1. صواب

      2. خطأ

      3. نتيجة تعبير العلاقة.

    2. تتكون العبارات المرفقة ضمن "{" و "}" مضافًا إليها "{" و "}" من مجموعة، لذا سيتم تطبيق القاعدة 2.b).

  4. قاعدة الوظائف:

    1. يدعم هذا الإصدار الوظيفة "تقريب" فقط، والتي تحتوي على نوعين من النماذج الأصلية:

      • تقريب‏ (عدد، نقاط عشرية إلى عدد)

        /* يتضمن المعامل الأول "العدد" عددًا صحيحًا وحقيقيًا، كما يمثل عدد التقريب؛ ويتضمن المعامل الثاني "العدد الصحيح" نوع العدد الصحيح، كما يمثل فقط الأرقام بعد النقطة العشرية */

      • تقريب (عدد، نوع)

        /* المعامل الأول هو نفس النموذج الأصلي الأول؛ يجب أن تكون قيمة المعامل الثاني "النوع" إحدى القيم التالية: نسب مئوية، أسعار، مبالغ، كميات */

  5. قواعد التعبيرات:

    1. التعبير المنطقي:

      المعامِلات: && > ||

      المعامِلات: يجب أن تكون القيمة منطقية

    2. تعبير العلاقة:

      المعامِلات: >, >=, ==, !=, <, <=

      المعامِلات:

      • إذا كانت هناك قيمة سلسلة واحدة بين معاملين، فسيتم تغيير القيمة غير التابعة للسلسلة لقيمة السلسلة المقابلة قبل إجراء مقارنة

      • إذا كان لا يوجد قيمة سلسلة بين معاملين، فإنه يمكن مقارنة قيم العدد الصحيح والعدد الفعلي والمنطقي

      مثال مثال

      • قيمة ("truf‏" > true) هي true هنا تم تحويل المعامل الثاني إلى "true".

      • قيمة (2 < "12") هي false. هنا تم تحويل المعامل الأول إلى "2".

      • قيمة (2< true) هي false. هنا تم تحويل المعامل الثاني إلى 1.

      • قيمة (2>false) هي true. هنا تم تحويل المعامل الثاني إلى 0.

      نهاية المثال.
    3. تعبير حسابي:

      المعامِلات: (*, /, %) > (+, -)

      المُعاملات:

      • يجب أن يكون نوع المعاملات الخاصة بـ "%" عددًا صحيحًا\

      • يجب أن يكون نوع المُعاملات الخاصة بالمعاملات غير تابع للسلسلة، بما في ذلك العدد الصحيح والعدد الفعلي والعدد المنطقي

      • يمكن أن تكون المعاملات الخاصة بـ "+" من أي نوع. إذا كانت توجد قيمة سلسلة للمعاملات، فستكون النتيجة سلسلة؛ وإلا، فستكون النتيجة رقمية.

      • إذا كان كلا المعاملين عددًا صحيحًا، فستكون نتيجة "/" أيضًا عددًا صحيحًا. على سبيل المثال، 2 / 4 = 0 (القسمة بالضبط)

    4. التعبير الأحادي:

      المعامِلات: !, -

      المُعاملات:

      • بالنسبة لـ "!"، يجب أن تكون قيمة منطقية

      • بالنسبة لـ "-"، يجب أن تكون قيمة غير تابعة للسلسلة

    5. تعبير القوس: تعبير الأكثر أفضلية

      المعامِلات: (, )

      أفضليتهم هي: 1) < 2) < 3) < 4) < 5)

  6. قواعد أخرى:

    1. لا يمكن تعيين السلاسل لمعامل الإخراج غير التابع للسلسلة

    2. لا يمكنك تعيين قيمة لمعامل الإدخال

    3. تجاوز سعة الرقم - عندما تتجاوز الحد الأقصى للقيمة 9223372036854

    4. يجب تعيين قيم لجميع متغيرات الإخراج

كلمات محجوزة (يتبع حالة الأحرف)

if

النسب المئوية

ContinueNotice

Round

else

الأسعار

ContinueNextPageNotice

while

المبالغ

B1Notice

صواب

الكميات

false

المحول البرمجي B1

الأحرف

الحرف = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" .

الرقم = "0123456789" .

cr =‏ CHR(‏13).

tab =‏ CHR(‏9) .

If =‏ CHR(‏10) .

anyButQuote = ANY – “ ' ”

anyButApostrophe = ANY – “ ' ”

تبدأ التعليقات من "/*" إلى "*/"

تجاهل

cr + lf + tab

الرموز المميزة

المعرف = حرف {حرف | رقم | '_'} .

الرقم = رقم {رقم}.

رقم فعلي = رقم {رقم} "." رقم {رقم}.

السلسلة = '"' {anyButQuote} '"' | "'" {anyButApostrophe} "'".

الإنتاج

B1 = Body.

Body = StatSeq .

StatSeq =‏ Stat [";"] {‏Stat [";"]}.

CompoundStat = "{" ‏StatSeq "}".

Stat = AssignStat | IfStat | WhileStat | CompoundStat.

AssignStat = Ident "=" Exp.

IfStat =‏ "if" "(" Exp ")" CompoundStat [‏ "else" CompoundStat ].

WhileStat = "while" "(" Exp ")" CompoundStat.

Exp = ConExp.

ConExp =‏ OrExp.

OrExp = AndExp {‏ "||" AndExp }.

AndExp =‏ RelExp‏ { "&&" RelExp }.

RelExp = ‏AddExp [ ‏RelOp AddExp].

RelOp = ( "<" | "<=" | ">" | ">=" | "==" | "!=" ).

AddExp =‏ MulExp {‏ AddOp MulExp}.

AddOp = ( "+" | "-" ).

MulExp = Factor {‏ MulOp Factor }.

MulOp = ( "*" | "/" | "%" ).

Factor =‏ ("true" | "false" | integer | string | real |"(" Exp ")" | IdentOrFunction | Enum | UnaryOp Factor).

IdentOrFunction =‏ Ident (‏ParamList | ).

Ident = ident.

ParamList =‏ "(" [Exp { "," Exp}] ")".

Enum =‏ RoundTypeEnum | SystemStringEnum.

RoundTypeEnum =‏ ("Percents" | "Prices" | "Amounts" | "Quantities").

SystemStringEnum =‏ ("ContinueNotice" | "ContinueNextPageNotice" | "B1Notice").

UnaryOp = ("-" | "!").

END B1.