استخدم هذا الحقل في النافذة معادلة الضريبة - إعداد لتحديد عمليات صالحة لمعادلة الضريبة.
لفتح النافذة، اختر
.العملية |
الوصف |
مثال |
النتيجة |
---|---|---|---|
+ |
جمع |
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))
اللغة تتبع حالة الأحرف.
التعبيرات الفردية غير مدعومة. العبارات فقط هي الصالحة.
تتضمن العبارات الصالحة الآتي:
التعيين
إذا
أثناء
مركَّب
قواعد عبارات التعيين:
يجب تهيئة المتغير المحلي المشار إليه.
العبارات التالية غير صالحة:
a = a + 1
/*لم يتم تعيين قيمة إلى المتغير المحلي 'a' قبل */
b = a
/*لم يتم تعيين قيمة إلى المتغير المحلي 'a' قبل */
لا يمكن تعيين قيمة بنوع مختلف إلى المتغير المحلي الخارجي المشار إليه في المجموعة.
العبارات التالية غير صحيحة:
a = "124"
/*هذه العبارة غير صحيحة لأن نوع المتغير المحلي 'a' هو سلسلة، والذي يمكن تحديده بواسطة العبارة آخر عبارة قبل المجموعة*/
قواعد العبارتين إذا/أثناء:
يجب أن يكون نوع التعبير المرفق ضمن "(" and ")" من النوع منطقي:
صواب
خطأ
نتيجة تعبير العلاقة.
تتكون العبارات المرفقة ضمن "{" و "}" مضافًا إليها "{" و "}" من مجموعة، لذا سيتم تطبيق القاعدة 2.b).
قاعدة الوظائف:
يدعم هذا الإصدار الوظيفة "تقريب" فقط، والتي تحتوي على نوعين من النماذج الأصلية:
تقريب (عدد، نقاط عشرية إلى عدد)
/* يتضمن المعامل الأول "العدد" عددًا صحيحًا وحقيقيًا، كما يمثل عدد التقريب؛ ويتضمن المعامل الثاني "العدد الصحيح" نوع العدد الصحيح، كما يمثل فقط الأرقام بعد النقطة العشرية */
تقريب (عدد، نوع)
/* المعامل الأول هو نفس النموذج الأصلي الأول؛ يجب أن تكون قيمة المعامل الثاني "النوع" إحدى القيم التالية: نسب مئوية، أسعار، مبالغ، كميات */
قواعد التعبيرات:
التعبير المنطقي:
المعامِلات: && > ||
المعامِلات: يجب أن تكون القيمة منطقية
تعبير العلاقة:
المعامِلات: >, >=, ==, !=, <, <=
المعامِلات:
إذا كانت هناك قيمة سلسلة واحدة بين معاملين، فسيتم تغيير القيمة غير التابعة للسلسلة لقيمة السلسلة المقابلة قبل إجراء مقارنة
إذا كان لا يوجد قيمة سلسلة بين معاملين، فإنه يمكن مقارنة قيم العدد الصحيح والعدد الفعلي والمنطقي
مثال
قيمة ("truf" > true) هي true هنا تم تحويل المعامل الثاني إلى "true".
قيمة (2 < "12") هي false. هنا تم تحويل المعامل الأول إلى "2".
قيمة (2< true) هي false. هنا تم تحويل المعامل الثاني إلى 1.
قيمة (2>false) هي true. هنا تم تحويل المعامل الثاني إلى 0.
تعبير حسابي:
المعامِلات: (*, /, %) > (+, -)
المُعاملات:
يجب أن يكون نوع المعاملات الخاصة بـ "%" عددًا صحيحًا\
يجب أن يكون نوع المُعاملات الخاصة بالمعاملات غير تابع للسلسلة، بما في ذلك العدد الصحيح والعدد الفعلي والعدد المنطقي
يمكن أن تكون المعاملات الخاصة بـ "+" من أي نوع. إذا كانت توجد قيمة سلسلة للمعاملات، فستكون النتيجة سلسلة؛ وإلا، فستكون النتيجة رقمية.
إذا كان كلا المعاملين عددًا صحيحًا، فستكون نتيجة "/" أيضًا عددًا صحيحًا. على سبيل المثال، 2 / 4 = 0 (القسمة بالضبط)
التعبير الأحادي:
المعامِلات: !, -
المُعاملات:
بالنسبة لـ "!"، يجب أن تكون قيمة منطقية
بالنسبة لـ "-"، يجب أن تكون قيمة غير تابعة للسلسلة
تعبير القوس: تعبير الأكثر أفضلية
المعامِلات: (, )
أفضليتهم هي: 1) < 2) < 3) < 4) < 5)
قواعد أخرى:
لا يمكن تعيين السلاسل لمعامل الإخراج غير التابع للسلسلة
لا يمكنك تعيين قيمة لمعامل الإدخال
تجاوز سعة الرقم - عندما تتجاوز الحد الأقصى للقيمة 9223372036854
يجب تعيين قيم لجميع متغيرات الإخراج
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. |