По системе автоматизации АЗС - Нефтепродукттехника
Главная Поиск Карта сайта Версия для печати
 
+7 (495) 644-04-08
E-Mail: inf@neftprod.ru

По системе автоматизации АЗС


ВОПРОС 1:

Почему в отчете по реализации системы управления АЗС "БУК TS-G" странно вычисляется стоимость реализованного топлива? Если умножить объем заправок влитрах на цену топлива, то расхождение с графой "Сумма" почти всегда составляет несколько копеек!

ОТВЕТ:

В программе стоимость проданного за смену топлива вычисляется суммированием стоимостей каждой отдельной заправки, при этом стоимость каждой заправки округляется до целых копеек по правилам математики.

Учитывать стоимость каждой заправки с дробными копейками невозможно, так как при этом неизбежно возникнет расхождение между реализацией и Z-отчетом, так как реализация, отображаемая в Z-отчете также вычисляется сложением итоговых сумм каждого отдельного чека, а сумма чека всегда округляется до целых копеек.

Приведем пример:

при  заказе топлива на 500 рублей по цене 13,20 руб./литр соответствующий этой сумме объем заказа равен 500/13,20 = 37,8787 литров. Но в ТРК отпуск топлива осуществляется с точностью 0,01 литра, поэтому в ТРК передается объем заказа, равный 37,87 литра, стоимость которого равна 37,87*13,20 = 499,884 руб. При этом касса печатает чек на 499,88 руб.

Таким образом, при заказе 37,87 литров по цене 13,20 руб./л чек выбивается на 499,88 руб.

Если пройдет 10 таких заправок, то сумма чеков составит 499,88 * 10 = 4998,80 руб. Именно на такую сумму увеличится реализация, фиксируемая в фискальной памяти кассы.

Однако, если  умножить общий объем прошедших заправок на цену, то получим:

37,87*10*13,20 = 4998,84 руб. и разница с кассой составит 4 коп.

Поэтому программа вычисляет стоимость реализованного топлива также, как и касса, то есть округляет стоимость каждой заправки до целых копеек и суммирует стоимости каждой отдельной заправки. Для приведенного выше примера получаем:

37,87*13,20 = 499,88 руб

499,88*10 = 4998,80  руб, что совпадает с реализацией, зафиксированной кассой.

Считать по другому (например, вычислять стоимость каждой заправки с дробными копейками) нельзя, так как тогда неизбежно возникнет расхождение с кассой, которая в чеке всегда округляет сумму до целых копеек. Таким образом программа показывает ту сумму денег, которая прошла через кассу, то есть которая была реально получена от клиентов.

ВОПРОС 2:

Каким образом в системе управления АЗС "БУК TS-G" задается режим округления суммы заправки и кассового чека?

ОТВЕТ:

Стоимость реализации вычисляется программой не умножением общей прокачки на цену, а суммированием стоимостей каждой заправки.

Стоимость каждой заправки может округляется по-разному, в зависимости от настойки ROUND в секции [system] файла BUKTS.CFG. Настройка ROUND подробно описана в руководстве менеджера АЗС. Выдержка из документации с описанием этой настройки дана ниже.

Даже если округления нет (ROUND=0,0,0), то все равно сумма стоимостей всех заправок может не совпадать с произведением общей реализации на цену.

Возьмем такой пример:

  • 10,01 литров * 11,70 руб/литр = 117,117 руб.
  • стоимость этой заправки составит 117,12 коп, так как стоимость заправки всегда округляется до копеек (точно также, как в этом случае вычисляется сумма чека в кассе);
  • если пройдет 10 таких заправок, то общая прокачка составит 100,10 литров.
  • 100,10 литров * 11,70 = 1171,17 руб.
  • Если же мы просуммируем стоимости каждой отдельной заправки, то получим 117,12 * 10 = 1171,20 руб.
  • Как видим, разность составляет 3 копейки.

Таким образом, при заправке, в которой дробная часть объема не равна нулю, часто происходит округление дробных копеек, что и приводит к расхождению между суммой стоимостей каждой заправки и простым произведением прокачки на цену. Такие заправки могут происходить по разным причинам: заказ топлива  на круглую сумму в рублях, досрочное окончание заправки, перелив и т.п.

Вычислять стоимость реализации простым умножением общей прокачки на цену топлива нельзя, так как в этом случае неизбежно появится разница между стоимостью в отчете по реализации и Z-отчетом кассы!

Таким образом, программа вычисляет стоимость топлива также, как и касса: суммирует стоимости каждой заправки (или суммы в каждом отдельном чеке) и показывает сумму денег, реально полученную от клиентов.

Описание настройки "ROUND" секции [SYSTEM] файла BUKTS.CFG.

ROUND=ЛИТРЫ, СТОИМОСТЬ, ВОЗВРАТ; – определяет алгоритмы вычисления объема и стоимости топлива в различных ситуациях.

Значение ЛИТРЫ задает алгоритм округления объема топлива при вводе заказа в деньгах:

  • 0 – округление всегда в меньшую сторону;
  • 1 – округление всегда в большую сторону (в пользу клиента).
  • 2 – округление по правилам математики.

                Значение по умолчанию – 0.

Так дисплей колонки имеет только два знака после запятой (для колонок фирмы EnE – три знака), то при заказе топлива на определенную сумму денег точный отпуск колонкой топлива ровно на сумму заказа может оказаться невозможным.

 Рассмотрим пример:

  • при цене одного литра 7,25 руб. и заказе на 100 рублей заказываемый объем составит 100/7,25 = 13,7931 литров;
  • но в ТРК может быть передан заказ либо 13,79 литров – тогда стоимость составит 13,79*7,25=99,98 руб.,
  • либо 13,80 литров на сумму 13,80*7,25=100,05 руб.

Соответственно данная настройка и определяет, какой объем будет передан в колонку в качестве заказа.

Значение СТОИМОСТЬ  задает алгоритм округления стоимости топлива (при вводе заказа, как в литрах, так и в деньгах) до целых рублей или до десятков рублей:

При любых значениях настройки округление производится только в том случае, если разность между стоимостью и округленным значением меньше стоимости минимально возможного объема топлива, который может отпустить колонка (0,01 литра, а для колонок "EnE" – 0,001 литра).

  • 0 –  нет округления стоимости.
  • 1 – стоимость топлива округляется до целых рублей, как в большую, так и в меньшую сторону;
  • 2 – стоимость топлива округляется до целых рублей только в большую сторону;
  • 3 – стоимость топлива округляется до целых рублей только в меньшую сторону;
  • 11-13 – те же действия, что и для значений 1-3, но округление производится только до десятков рублей.

                Значение по умолчанию – 0.

Рассмотрим режим округления стоимости на примере:

  • пусть задана настройка"ROUND=0,1";
  • при цене одного литра 7,25 руб. и заказе на 100 руб. в ТРК передается заказ 13,79 литра (см. пример выше);
  • стоимость заказанного топлива составляет 13,79*7,25=99,98 руб.; сдача равна 100,00 – 99,98 = 2 коп.;
  • 0,01 литра топлива стоят 0,01*7,25=7 коп, то есть сдача меньше минимально возможного объема топлива, который может отпустить колонка и, следовательно, возможно округление до целых рублей;
  • таким образом, в колонку передается заказ 13,79 л., чек пробивается на 100,00 руб. и в отчеты также записывается стоимость заправки, равная 100,00 руб.
  • в этом примере округление в большую сторону произойдет также с настройкой  "round=0,2".

Тот же пример с другой настройкой:

  • пусть задана настройка "ROUND=1,1;
  • при цене одного литра 7,25 руб. и заказе на 100 руб. в ТРК передается заказ 13,80 литра;
  • стоимость заказанного топлива составляет 13,80*7,25=100,05 руб.;
  • разность между стоимостью топлива и округленным значением равна 100,05 –100,00 = 5 коп.;
  • 0,01 литра топлива стоят 0,01*7,25=7 коп, то есть разность меньше минимально возможного объема топлива, который может отпустить колонка и, следовательно, возможно округление до целых рублей;
  • таким образом, в колонку передается заказ 13,80 л., чек пробивается на 100,00 руб. и в отчеты также записывается стоимость заправки, равная 100,00 руб.
  • в этом примере округление в меньшую сторону произойдет также с настройкой  "round=0,3".

Значение ВОЗВРАТ задает алгоритм вычисления стоимости топлива в случае, если заказанная доза не выбрана полностью, а также алгоритм вычисления стоимости при переливе:

  • 0 – стоимость топлива вычисляется как "объем отпущенного топлива умноженный на цену топлива";
  • 1 – стоимость топлива в случае недобора заказанной дозы вычисляется как "стоимость заказа минус стоимость остатка", а стоимость топлива при переливе – как "стоимость заказа плюс стоимость перелива".

На первый взгляд кажется, что между этими вариантами нет разницы. Но на самом деле, так как в последнем варианте стоимость каждой порции топлива округляется до целых копеек, то между стоимостями, вычисленными в разных вариантах, может быть разница в 1 коп.

Настройка ВОЗВРАТ=1, как правило, применяется в случае, если в составе системы управления работает фискальный регистратор (касса). При печати чека касса всегда округляет стоимость до целых копеек. И, так как при недоборе заказанной дозы печатается чек возврата, и, так как стоимость чека возврата также округляется до целых копеек, то в итоге сумма двух чеков может на одну копейку отличаться от стоимости топлива, вычисленной простым умножением объема на цену.

Аналогичная ситуация может возникнуть при переливе заказанной дозы: если на объем перелива печатается дополнительный чек, то сумма двух чеков также может оказаться больше стоимости топлива, вычисленной простым умножением объема на цену.

Поясним это на примере:

  • пусть цена одного литра 7,25 руб., заказано 45 литров, отпущено 41,98 литра;  остаток равен 45-41,98 = 3,02 литра;
  • если к компьютеру подключена касса, то при включении ТРК будет пробит чек на сумму 45*7,25 = 326,25 руб., а после заправки – будет пробит чек возврата на сумму (3,02*7,25=21,895) = 21,90 руб. (касса, как правило, всегда округляет пятерку в третьем разряде до целых копеек в большую сторону). Таким образом, в Z-отчете кассы пройдет реализация на сумму 326,25 – 21,90 = 304,35 руб.
  • при значении ВОЗВРАТ=0 стоимость проданного топлива, записанная в отчет программы, составит: 41,98*7,25 = 304,355 = 304,36 руб., (на 1 коп. больше, чем сумма пробитых чеков!);
  • при значении ВОЗВРАТ=1 стоимость проданного топлива в отчете составит:         45*7,25 – 3,02*7,25 = 326,25 – 21,895 = 326,25 – 21,90 = 304,35 руб.

      то есть в данном случае стоимость проданного топлива будет соответствовать сумме, прошедшей по кассе.

Пример с переливом:

  • цена одного литра 7,25 руб., заказано 13,79 литров, отпущено 13,81 литра; перелив равен 13,81–13,79 = 0,02 литра;
  • если к компьютеру подключена касса, то при включении ТРК будет пробит чек на сумму 13,79*7,25 = 99,98 руб., а после заправки – будет пробит чек на перелив на сумму (0,02*7,25=0,145) = 0,15 руб.

      таким образом, в Z-отчете кассы пройдет реализация на сумму 99,98+0,15 = 100,13 руб.

  • при значении ВОЗВРАТ=0 стоимость проданного топлива, записанная в отчет программы, составит:  13,81*7,25 = 100,1225 = 100,12 руб. (на 1 коп. меньше, чем сумма пробитых чеков!);
  • при значении ВОЗВРАТ=1 стоимость проданного топлива в отчете составит: 13,79*7,25 + 0,02*7,25 = 99,98 + 0,15 = 100,13 руб.

      то есть в данном случае стоимость проданного топлива будет соответствовать сумме, прошедшей по кассе.





Назад к списку