دانشنامه تخصصی نرم افزار چاپیار

فرمول های کاربردی قیمت دهی برخی کالاها در چاپیار(فرمول نویسی)

205- فرمولهای مورد نیاز برای قیمت دهی برخی کالاهای خاص حوزه کاری چاپ

قیمت دهی فرمولی چیست؟

کالاهای مختلف با توجه به ویژگیهایی که دارند، به چند روش قیمت دهی می‌شوند. مقداری، متراژی و فرمولی. تفاوت این روشها در متغیرهای تاثیرگذار در قیمت دهی کالا می‌باشد.

روش قیمت دهی مقداری:

این روش برای کالاهایی مناسب است که تنها متغیر قیمت دهی برای آنها در کنار قیمت واحد، تعداد آن است. فرمول قیمت دهی این کالاها به این شکل است:
تعداد * قیمت واحد = قیمت مقداری

روش قیمت دهی متراژی:

این روش برای کالاهایی مناسب است که علاوه بر تعداد، متراژ آن هم اهمیت دارد. فرمول قیمت دهی این کالاها به شکل زیر است:
تعداد * متراژ(عرض * ارتفاع) = قیمت متراژی

روش قیمت دهی فرمولی:

این مدل قیمت دهی مخصوص کالاها و خدماتی است که در دسته بندی‌های بالا قرار نمی‌گیرند و متغیرهای موثر در قیمت دهی آنها، متفاوت است.
مثلا برای محاسبه هزینه سفیدی دور بنر، نمی‌توان به شکل متراژی محاسبه قیمت انجام داد.
برای آشنایی با روند درج قیمت فرمولی به مستند چگونه کالا یا خدمت فرمولی تعریف کنیم؟ مراجعه کنید.
این موارد نیاز به فرمول دهی دارند که در ادامه فرمولهای پیشنهادی برای محاسبه قیمت برخی موارد مرتبط با حوزه کاری چاپ و خدمات آن، آمده است:



فرمولهایی که در ادامه آمده است، فقط جنبه پیشنهادی برای برخی قیمت‌دهی‌های رایج است و لزوما قیمت‌دهی این کالاها طبق این فرمولها، انجام نمی‌شود.

پیشنهاد می‌شود برای استفاده از این فرمولها، متن آنها عینا در فرم قیمت دهی کالاها کپی شود و بعد از آن هم در شرایط مختلف مد نظر خودتان، امتحان کنید تا دقیقا نتیجه مد انتظار خود را حاصل نمایید.

برخی فرمولهای مهم و کاربردی:

1- قیمت دهی بر اساس ابعاد سانتی متری:

یکی از موارد بسیار پرکاربرد در کالاها این هست که بعضا قیمت واحد کالا را به ازای سانتیمتر مربع درج کرده‌ایم و ابعاد آیتم در سفارشات نیز بر حسب سانتی متر درج می‌شود. در این موارد نیاز است برای محاسبه دقیق قیمت، از فرمول استفاده نمایید، چرا که محاسبه قیمت برنامه بصورت پیش فرض بر اساس متر انجام می‌شود.
در این موار ممکن است در دو حالت، مقادیر ورودی بر اساس سانتی متر یا متر باشد.
در ادامه به بررسی این دو حالت می‌پردازیم:

الف) قیمت واحد به ازای هر سانتی متر و مقدار ورودی بر حسب سانتی متر است:
در این حالت، چون قیمت واحد را سیستم بر اساس واحد متر در نظر گرفته، شما هر عددی که برای متراژ وارد کنید، ابتدا ضرب در قیمت واحد می‌شود و سپس تقسیم بر عدد 10000 خواهد شد. بنابراین برای محاسبه درست باید حاصل در عدد 10000 ضرب شود.

ب) قیمت واحد به ازای هر سانتی متر ولی مقدار ورودی بر حسب متر است:
در این حالت، سیستم عدد متراژ را در قیمت واحد ضرب می‌کند. در صورتی که وقتی مثلا متراژ برابر 1 متر مربع است در حقیقت این عدد برابر 10000 سانتی متر مربع خواهد بود. در این حالت هم باید مقدار در عدد 10000 ضرب شود.

فرمول مورد استفاده به این شکل خواهد بود:
10000 * قیمت واحد * متراژ * تعداد = قیمت نهایی کالا با قیمت هر سانتی متر

[QTY] * [XReq] *[YReq] * [PriceQty] * 10000
در فرمول بالا، با توجه به اینکه هر متر مربع برابر 10000 سانتی متر مربع است، این عدد درج شده. در حالتی که فقط یکی از متغیرهای عرض یا ارتفاع درگیر این قیمت دهی باشند، باید به جای این عدد، از عدد 100 در فرمول استفاده شود.


2- قیمت‌دهی بر اساس محیط کار

در قیمت‌دهی کالای متراژی، همیشه مساحت آیتم در قیمت‌ها دخیل است. اگر آیتمی باشد که قیمت آن بر اساس محیط محاسبه می‌شود، باید با استفاده از طول و عرض، محیط کالا محاسبه و سپس در متغیرهای دیگر ضرب شود.
قیمت واحد * تعداد * محیط آیتم(ارتفاع+عرض * 2) = قیمت کالا(بر حسب محیط کار)

[PriceQty] * 2 * ([XReq] + [YReq]) * [QTY]

3- سفیدی بنر

یکی دیگر از خدمات پرکاربرد چاپ بنر، هزینه سفیدی دور بنر هست. برای این کار باید سفیدی بنر به عنوان یک خدمت ثبت شود و فرمول زیر برای آن در نظر گرفته شود:
در این فرمول مثال، حاشیه به عرض 15 سانتی‌متر در نظر گرفته شده و شما می‌توانید بر حسب نیاز خود این عدد را تغییر دهید. مساحت این ناحیه برابر با مساحت بنر با احتساب سفیدی دور آن منهای مساحت خود بنر است.
قیمت واحد * تعداد * (مساحت بنر - مساحت بنر با سفیدی) = قیمت خدمت

(([XReq] + 0.15)*([YReq] + 0.15) - [XReq] * [YReq]) * [QTY] * [PriceQty]

4- محاسبه قیمت فروش از روی قیمت خرید

بعضی اوقات کالایی هست که بر اساس قیمت خرید آن در همان لحظه، قیمت دهی فروش باید محاسبه شود. در این مواقع باید برای کالا قیمت فرمولی تعیین شود و قیمتی که در ثبت فروش درج می‌شود نیز همان قیمت خرید آن باشد.
مثلا در فرمولهای زیر، سود 30 درصدی برای کالا در نظر گرفته شده و فرمول آن به این شکل خواهد بود:
قیمت واحد(خرید) * تعداد * متراژ(برای کالاهای متراژی) * 1.3 = قیمت کالا
برای کالای متراژی:
[XReq] * [YReq] * [QTY] * 1.3 * [PriceQty]
برای کالای مقداری:
[QTY] * 1.3 * [PriceQty]
نکته: در این مورد، اگر میخواهید قیمتی که در فاکتور به عنوان "قیمت واحد" درج می‌شود، قیمت خرید نباشد، باید در همان فرم ویرایش کالا، در بخش "پیش فرض نحوه محاسبه قیمت واحد فرمولی"، گزینه دوم یعنی "قیمت کل تقسیم بر تعداد کالا" را انتخاب کنید.
02-قیمت_واحد.jpg


5- خدمت متراژی

هر خدمت، بر خلاف کالاهای متراژی که از عرض و ارتفاع در قیمت‌دهی بهره می‌برد، تنها از دو متغیر "قیمت واحد" و "تعداد خدمت" برای قیمت دهی استفاده می‌کند. در صورتی که خدمتی داشته باشیم که بر حسب طول و عرض کالا، قیمت دهی شود، باید از فرمول استفاده نماییم:
مثلا خدمتی که بر اساس ضرب متراژ کالا در قیمت واحد، قیمت دهی می‌شود:
قیمت واحد * عرض * ارتفاع * تعداد خدمت = قیمت خدمت

[PriceQty] * [XReq] * [YReq] * [QTY_Service]
در این فرمول، متغیر QTY-Service تعداد خدمت را نشان می‌دهد. در صورت نیاز می‌توانید از متغیر QTY استفاده نمایید و در این صورت، تعداد در فرمول برابر تعداد خود کالا خواهد بود.


6- قاب فنری

قاب فنری خدمتی است که بر روی بنر انجام می‌گیرد که شامل برخی ابزارهای مصرفی مثل لوله قاب فنری(متراژی)، گوشه و فنر و پانچ می‌باشد. به ازای هر پوستر، 4 عدد گوشه و قنر و 4 عدد پانچ و همچنین به اندازه محیط بنر به علاوه فاصله قاب تا لبه‌های کار، لوله لازم هست. بنابراین برای قاب فنری با فرض اینکه فاصله قاب تا لبه‌های بنر برابر 8 سانتی متر هست، به شکل زیر محاسبه می‌شود:
* تعداد = هزینه خدمت قاب فنری

[QTY] * (100000 + 300000 + [PriceQty] * (2*([XReq] + [YReq]) + 0.32))
در این فرمول قیمت پانچ برابر 100000، قیمت گوشه و فنر برابر 300000، فاصله قاب از لبه ها برابر 8 سانتی متر و قیمت هر متر لوله در فیلد قیمت خدمت درج می‌شود.


7- دوخت بنر

یکی دیگر از خدماتی که برای بنرها کاربرد دارد، دوخت بنر هست. به این شکل که (معمولا) بالا و پایین بنر یک دوخت انجام می‌شود. برای محاسبه قیمت این خدمت هم از قیمت دهی فرمولی استفاده می‌شود.
قیمت واحد * (عرض بنر * 2) = قیمت خدمت دوخت بنر(برای دوخت بالا و پایین بنر)

[QTY] * (2 * [XReq] * [PriceQty])
در این فرمول دوخت بالا و پایین محاسبه شده و قیمت واحد هر متر دوخت در فیلد قیمت واحد خدمت درج می‌شود.
QTY هم تعداد سفارش هست برای مواقعی که مثلا چند بنر سفارش داده می‌شود.


8- تابع max؛ محاسبه بزرگ‌ترین مقدار

تابع max بزرگ‌ترین مقدار را از بین اعداد واردشده انتخاب می‌کند.

مثال کاربردی: تعیین حداقل قیمت فروش

فرض کنید هزینه محاسبه‌شده برای چاپ یک سفارش ۱۸۰٬۰۰۰ تومان است؛ اما شما نمی‌خواهید هیچ سفارشی را با قیمتی کمتر از ۲۰۰٬۰۰۰ تومان ثبت نکنید.

max([OverallOrderPrice] ,200000)'

max(قیمت نهایی سفارش, 200000)

نتیجه: 200000

یعنی اگر هزینه نهایی سفارش مشتری از 200.000 تومان کمتر باشه قیمت را 200.000 تومان در نظر بگیر و یا اگر بیشتر شد بازم هم همان 200.000 تومان محاسبه بشه.

کاربرد: تعیین حداقل قیمت برای سفارش‌ها، خدمات یا کالاهایی که نباید کمتر از مبلغ مشخصی قیمت‌گذاری شوند.


9- تابع min؛ تعیین حداکثر قیمت خدمت

فرض کنید قیمت پارچه کتان بر اساس ضرب عرض در ارتفاع محاسبه می‌شود و نمی‌خواهید قیمت نهایی آن از ۷۰۰٬۰۰۰ تومان بیشتر شود.

min(XReq *YReq ,700000)

min(عرض سفارش * ارتفاع سفارش, 700000)

مثال:

اگر حاصل ضرب عرض در ارتفاع برابر با ۵۰۰٬۰۰۰ تومان باشد، قیمت نهایی همان ۵۰۰٬۰۰۰ تومان خواهد بود.

اگر حاصل ضرب عرض در ارتفاع برابر با ۹۰۰٬۰۰۰ تومان باشد، قیمت نهایی به ۷۰۰٬۰۰۰ تومان محدود می‌شود.

اگر حاصل ضرب عرض در ارتفاع دقیقاً ۷۰۰٬۰۰۰ تومان باشد، قیمت نهایی همان ۷۰۰٬۰۰۰ تومان خواهد بود.

به این ترتیب، تابع min کمک می‌کند قیمت پارچه کتان از سقف تعیین‌شده، یعنی ۷۰۰٬۰۰۰ تومان، بیشتر نشود.


10- تابع abs؛ محاسبه اختلاف دو مقدار

تابع abs برای زمانی کاربرد دارد که بخواهیم اختلاف دو مقدار را بدون توجه به مثبت یا منفی بودن نتیجه محاسبه کنیم.
برای مثال، فرض کنید برای یک خدمت چاپی، هزینه‌ای بر اساس اختلاف بین عرض و ارتفاع سفارش محاسبه می‌شود. در این حالت مهم نیست عرض بیشتر باشد یا ارتفاع؛ چیزی که برای ما اهمیت دارد، مقدار اختلاف این دو است.
فرمول:

abs([XReq] - [YReq])

فرض کنید عرض سفارش XReq برابر ۲ متر و ارتفاع YReq برابر ۱٫۵ متر باشد.
در این حالت اختلاف دو مقدار برابر با ۰٫۵ متر خواهد بود.
اگر عرض ۱٫۵ متر و ارتفاع ۲ متر باشد نیز نتیجه همچنان ۰٫۵ متر خواهد بود.
در واقع تابع abs باعث می‌شود نتیجه همیشه به‌صورت مقدار مثبت برگردانده شود.
اگر بخواهیم این اختلاف را در قیمت یک خدمت نیز تأثیر دهیم، می‌توان فرمول را به شکل زیر نوشت:

abs([XReq] - [YReq]) * [PriceQty]


11- تابع round؛ گرد کردن قیمت محاسبه‌شده

تابع round برای زمانی کاربرد دارد که نتیجه یک محاسبه دارای بخش اعشاری باشد و بخواهیم آن را به نزدیک‌ترین عدد صحیح گرد کنیم.
برای مثال، فرض کنید قیمت یک آیتم پس از انجام محاسبات مختلف، دارای بخش اعشاری شده است.
می‌توان قیمت محاسبه‌شده را با فرمول زیر گرد کرد:

round([OverallItemPrice])

همچنین می‌توان تابع round را مستقیماً در محاسبات قیمت استفاده کرد. برای مثال، اگر قیمت یک کالا بر اساس متراژ و قیمت واحد محاسبه شود:

round([Area] * [PriceQty])

در این حالت حاصل ضرب متراژ در قیمت واحد ابتدا محاسبه شده و سپس نتیجه به نزدیک‌ترین عدد صحیح گرد
می‌شود.
این تابع زمانی کاربرد دارد که بخواهیم نتیجه محاسبات قیمت، بدون بخش اعشاری و به نزدیک‌ترین عدد صحیح ثبت شود.


12- تابع ceiling؛ گرد کردن رو به بالا

تابع ceiling برای زمانی کاربرد دارد که مقدار محاسبه‌شده دارای بخش اعشاری باشد و بخواهیم آن را به عدد صحیح بالاتر تبدیل کنیم.
برای مثال، فرض کنید مقدار موردنیاز یک متریال برای انجام سفارش، ۴٫۲ متر باشد؛ اما فروش یا مصرف این متریال فقط بر اساس متر کامل انجام شود.
می‌توان از فرمول زیر استفاده کرد:

ceiling([Area])

اگر مقدار متراژ برابر ۴٫۲ باشد، نتیجه ۵ خواهد بود.
حالا اگر بخواهیم قیمت متریال نیز بر اساس مقدار گرد‌شده محاسبه شود، می‌توانیم بنویسیم:

ceiling([Area]) * [PriceQty]

در این حالت اگر مقدار موردنیاز ۴٫۲ متر باشد، قیمت بر اساس ۵ متر محاسبه خواهد شد.
این تابع برای مواردی مناسب است که مقدار موردنیاز باید همیشه به واحد کامل بعدی گرد شود؛ مانند متریال‌هایی که امکان فروش یا محاسبه کسری آن‌ها وجود ندارد.


13- تابع floor؛ گرد کردن رو به پایین

تابع floor نیز برای گرد کردن اعداد اعشاری استفاده می‌شود، با این تفاوت که مقدار را به عدد صحیح پایین‌تر تبدیل می‌کند.
برای مثال، فرض کنید مقدار قابل استفاده از یک متریال برابر با ۴٫۸ متر باشد، اما در محاسبات فقط تعداد مترهای کامل قابل استفاده برای شما اهمیت داشته باشد.
فرمول:

floor([Area])

اگر متراژ برابر ۴٫۸ باشد، نتیجه ۴ خواهد بود.
برای مثال، اگر بخواهیم قیمت را فقط بر اساس مقدار کامل متریال محاسبه کنیم:

floor([Area]) * [PriceQty]

در این حالت مقدار ۴٫۸ متر به ۴ متر تبدیل شده و قیمت بر اساس ۴ متر محاسبه می‌شود.
بنابراین floor زمانی کاربرد دارد که بخش اعشاری مقدار نباید در محاسبات لحاظ شود.


14- تابع sqrt؛ محاسبه ریشه دوم

تابع sqrt برای محاسبه ریشه دوم یک مقدار استفاده می‌شود.
یکی از کاربردهای این تابع در فرمول‌نویسی کالاهایی است که ابعاد آن‌ها بر اساس مساحت محاسبه می‌شود.
برای مثال، فرض کنید یک کالای مربع‌شکل داریم و مساحت آن در متغیر متراژ قرار دارد. اگر بخواهیم طول
ضلع مربع را از روی مساحت آن به دست آوریم، می‌توانیم از فرمول زیر استفاده کنیم:

sqrt([Area])

برای مثال، اگر مساحت کالا ۲۵ مترمربع باشد، نتیجه فرمول برابر با ۵ متر خواهد بود.
در نتیجه می‌توان از sqrt در فرمول‌هایی استفاده کرد که برای محاسبه یک مقدار، ریشه دوم یک مقدار دیگر مورد نیاز است.


15- تابع power؛ محاسبه توان

تابع power برای زمانی کاربرد دارد که بخواهیم یک عدد را به توان مشخصی برسانیم.
برای مثال، فرض کنید یک کالای مربع‌شکل داریم و عرض سفارش طول ضلع آن را مشخص می‌کند. برای محاسبه مساحت
مربع می‌توان از فرمول زیر استفاده کرد:

power([XReq], 2)

در این فرمول، عرض سفارش به توان ۲ می‌رسد.
برای مثال، اگر طول ضلع ۲ متر باشد، مساحت برابر با ۴ مترمربع خواهد بود.
همچنین می‌توان از power در فرمول‌های پیچیده‌تر استفاده کرد؛ برای مثال:

power([XReq], 3)

که مقدار عرض سفارش را به توان ۳ می‌رساند.
بنابراین power زمانی کاربرد دارد که در فرمول قیمت‌دهی یا محاسبات کالا و خدمت، یک مقدار باید به توان مشخصی برسد.