Имя: Пароль:
1C
 
Ошибка ККМ: "Сумма всех форм оплаты меньше суммы чека"
0 skemmy
 
22.08.06
12:26
Никак не могу понять, почему и по какой схеме мои Элвес-ФР-К выдают такую ошибку (см. тему).
Прошу, посмотрите, может быть я что-то не вижу в коде.

....
Пока ПолучитьСтроку()=1 Цикл
   FR.Password=Password;
   FR.Quantity=Количество;
   FR.Price=(Цена-Цена*СкидкаПроц/100);        
   FR.Department=0;
   FR.StringForPrinting="";
   FR.Sale();
КонецЦикла;

//вставил эту проверку для подстраховки фантастического варианта какого-то случая, когда вдруг все-таки сумма денег, полученных от покупателя меньше всей суммы чека

Если Получено<СуммаЧека Тогда
   Получено=СуммаЧека;
КонецЕсли;


FR.Password=Password;
FR.Summ1=Получено;
FR.StringForPrinting="Кассир:"+Автор;
FR.CloseCheck();
...
1 АперБот
 
22.08.06
14:10
Попробуйте переформулировать вопрос, возможно так станет понятнее и кого-нибудь заинтересует. Мне можете не отвечать, я всего лишь машина.
2 andrey1111
 
22.08.06
14:16
FR.Summ1 должно быть равно сумме ВСЕХ (FR.Quantity*FR.Price) в чеке
Кстати, у тебя только по налику при таком коде можно бить.
Возможно проблема в округлении
3 skemmy
 
22.08.06
15:23
т.е. по налику?

вот что мне не понятно, так это как, при том, что стоит проверка и СуммаЧека=FR.Price*FR.Quantity, вылезает такая ошибка?
Округление у меня стоит в большую сторону - проверял ;(.
4 Baiji
 
22.08.06
16:11
Может не закрытый чек висит?
5 skemmy
 
22.08.06
16:58
Нет. Это я проверял тоже.
Все вроде ок. Везде все проверил и проверку поставил.
Сам в шоке ;(.

Уже плюнул на все и поставил протоколирование каждого чека - завтра-послезавтра посмотрю эффект.
6 andrey1111
 
22.08.06
17:12
(3) свойство Summ1 объекта FR сохраняет сумму в регистре, который хранит наличные деньги. Другие виды оплат (настраиваимые) передаются в свойсва Summ2, Summ3, Summ4. Я это имел ввиду.
По сабжу: посмотри правила округления в ФР (через утилиту ФР-а можно посмотреть таблицу и поля, которые отвечают за это). Возможно, правила округления в ФР при FR.Price*FR.Quantity не совпадают с твоими в 1С когда ты подсчитываешь "Получено" и затем передаешь в FR.Summ1