Руководство по настройке Optima:Пример настройки калькуляции заказа

Материал из AltecDocs
Версия от 14:01, 22 апреля 2020; imported>Kirillche (→‎top: clean up)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к:навигация, поиск

20.3. Пример настройки калькуляции заказа

В качестве примера расчёта стоимости заказа возьмём следующую формулу:

СтЗак = СтИздСк + СтДопЗакСк + СтУслЗакСк,

где:

  • СтЗак — итоговая стоимость заказа (у. е.);
  • СтИздСк — сумма стоимостей всех изделий в заказе с учётом их количества и скидки на заказ (у. е.);
  • СтДопЗакСк — сумма стоимостей дополнений к заказу с учётом скидки на дополнения к заказу (у. е.);
  • СтУслЗакСк — сумма стоимостей услуг к заказу с учётом скидки на услуги к заказу (у. е.).

Перед вводом элементов калькуляции заказа нужно ввести необходимые параметры в разделе Параметры и переменные в части Калькуляция заказа (см. Параметры и переменные). Эти параметры сведены в табл. 4.8.

Таблица 4.8. Параметры для калькуляции заказа

Параметр Встроенная функция Описание
СтИзд SumItemPriceAll Сумма стоимостей изделий в заказе.
СкЗакПр OrdDiscountPrc Скидка на заказ в процентах.
СкЗакВл OrdDiscount Скидка на заказ в валюте.
СтДопЗак SumAddPrice Стоимость дополнений к заказу.
СкДопПр OrdAddDiscountPrc Скидка на дополнения к заказу в процентах.
СкДопВл OrdAddDiscount Скидка на дополнения к заказу в валюте.
СтУслЗак SumServicePrice Стоимость услуг к заказу.
СкУслПр OrdServDiscountPrc Скидка на услуги к заказу в процентах.
СкУслВл OrdServDiscount Скидка на услуги к заказу в валюте.

Данные для настройки калькуляции заказа сведены в табл. 4.9. Элементы калькуляции с незаполненным полем Сокращение позволяют выводить справочную информацию. Доступ к ним из других элементов калькуляции невозможен.

Таблица 4.9. Пример калькуляции заказа

Номер Наименование Сокращение Формула вычисления Условие выполнения
10 Стоимость всех изделий в заказе СтИзд Выполняется всегда
20 Скидка на заказ СкЗак СкЗакВл + СтИзд * СкЗакПр / 100 Выполняется всегда
30 Стоимость всех изделий со скидкой СтИздСк СтИзд — СкЗак Выполняется всегда
110 Стоимость дополнений к заказу СтДопЗак Выполняется всегда
120 Скидка на дополнения к заказу СкДопЗак СкДопВл + СтДопЗак * СкДопПр / 100 Выполняется всегда
130 Стоимость дополнений к заказу со скидкой СтДопЗакСк СтДопЗак - СкДопЗак Выполняется всегда
210 Стоимость услуг к заказу СтУслЗак Выполняется всегда
220 Скидка на услуги к заказу СкУслЗак СкУслВл + СтУслЗак * СкУслПр / 100 Выполняется всегда
230 Стоимость услуг к заказу со скидкой СтУслЗакСк СтУслЗак — СкУслЗак Выполняется всегда
500 Итоговая стоимость заказа СтЗак СтИздСк + СтДопЗакСк + СтУслЗакСк Выполняется всегда

В результате после расчета заказа мы получим следующее:

Рис. 4.16. Результат калькуляции заказа


Если при расчёте заказа будут обнаружены ошибки, то будет выведено соответствующее предупреждение, в котором будет приведён текст ошибочной формулы.

Kalc allert.png

Пример настройки калькуляции для опытных пользователей

Реализуем модель калькуляции заказа из предыдущего примера, но с использованием встроенного макроязыка и с некоторыми дополнениями. Формулу для калькуляции заказа возьмём такую же:

СтЗак = СтИздСк + СтДопЗакСк + СтУслЗакСк.

Помимо этого вычислим процент отчислений менеджеру, который рассчитывает заказ, в зависимости от его должности. Например, если это Старший менеджер, то ему положен 1 % от итоговой стоимости заказа, а если Младший менеджер — 0,5 % от итоговой стоимости заказа. На итоговую стоимость заказа эти отчисления не влияют. Но эти отчисления необходимо рассчитывать если суммарная площадь всех изделий в заказе превышает 100 м².

Для этого в разделе Должности на закладке «Пользователи» заведём соответствующие должности, а в разделе Параметры и переменные в дополнение к переменным, описанным в табл. 4.8, заведём следующие параметры (табл. 4.10).

Таблица 4.10. Дополнительные параметры для калькуляции заказа

Параметр Формула вычисления значения Описание
ДолжПольз UserPos Должность пользователя.
ПлЗак sumArea:=0;
FOR i:=Low(Items) TO High(Items) DO sumArea:=sumArea+Items[i].Area;
Сумма площадей всех изделий в заказе.

Данные для настройки калькуляции заказа с использованием макроязыка сведены в табл. 4.11.

Таблица 4.11. Пример калькуляции заказа с использованием макроязыка

Номер Наименование Сокращение Формула вычисления Условие выполнения
10 Стоимость всех изделий в заказе СтИзд Выполняется всегда
20 Скидка на заказ СкЗак СкЗакВл +
СтИзд * СкЗакПр/100
Выполняется всегда
30 Стоимость всех изделий со скидкой СтИздСк СтИзд — СкЗак Выполняется всегда
110 Стоимость дополнений к заказу СтДопЗак Выполняется всегда
120 Скидка на дополнения к заказу СкДопЗак СкДопВл + СтДопЗак * СкДопПр / 100 Выполняется всегда
130 Стоимость дополнений к заказу со скидкой СтДопЗакСк СтДопЗак — СкДопЗак Выполняется всегда
210 Стоимость услуг к заказу СтУслЗак Выполняется всегда
600 Процент менеджера. ПрМн prc:=0;
IF ДолжнПольз= 'Старший менеджер' THEN prc:=СтЗак*0.01;
IF ДолжнПольз= 'Младший менеджер' THEN prc:=СтЗак*0.005;
Result:=prc;
ПлЗак > 100
1000 Итоговая стоимость заказа. ИтогЗак СтЗак Выполняется всегда
IconInfo.png Элемент калькуляции Процент менеджера удобнее завести в отдельной папке (например, Зарплата) для последующей обработки результата.

Ввод формул расчёта рекомендуется производить при помощи дизайнера выражений и условий (см. рис. 4.17). Работа с дизайнером описана на Дизайнер выражений и условий.

Рис. 4.17. Задание сложной формулы расчёта элемента калькуляции