|
Пробитие суммы скидки в чеке (Штрих-М) | ☑ | ||
---|---|---|---|---|
0
Ivan Bezdomnyi
03.02.21
✎
07:04
|
1С 8.2 Конфигурация самописная
В программе есть бонусная система, т.е. клиент может часть чека оплачивать бонусами. Это надо как-то пробивать. Возникла идея пробивать эти бонусы как скидку. Полдня вчера гуглил, внятного ответа на свой вопрос так и не нашел. В общем виде пробитие выглядит так: Для Каждого Стр Из Товары Цикл FR.PaymentItemSign = 1; //Товар FR.PaymentTypeSign = 4; //Полный расчет FR.Quantity = Стр.Количество; FR.Price = Стр.Цена; FR.Department = 1; //Секция FR.StringForPrinting = Стр.Номенклатура.Наименование; FR.CheckType = 0; FR.FNOperation(); КонецЦикла; FR.Summ1 = СуммаНал; FR.Summ4 = СуммаБезнал; FR.FNCloseCheckEx(); Пробовал использовать Discount() FR.Summ1 = СуммаСкидкаБонусы; FR.Tax1 = 0; FR.Tax2 = 0; FR.Tax3 = 0; FR.Tax4 = 0; FR.Discount(); Пробовал FNDiscountOperation() вместо FR.FNOperation() (распределив бонусы пропорционально). FR.DiscountValue = СкидкаСтр; FR.FNDiscountOperation(); Но в итоге после пробития - в чеке ОФД ни слова о скидках. Помогите кто чем может, люди добрые. |
|||
1
serpentt
03.02.21
✎
09:13
|
А фактически скидка на чек применилась?
|
|||
2
serpentt
03.02.21
✎
09:14
|
Если ПРИМЕНИЛАСЬ, то выводите информацию о скидке произвольной строкой в чеке(так делают в АТОЛе)
|
|||
3
Ivan Bezdomnyi
03.02.21
✎
10:49
|
(1) ну я так понимаю что нет, потому что например
Берем один товар, сумма товара 10, оплата наличными 1, бонусами 9. Пишу FR.Price = 10; FR.DiscountValue = 9; FR.Summ1 = 1; Выдает ошибку "Сумма всех типов оплаты меньше итога чека"... |
|||
4
Исновая
03.02.21
✎
11:11
|
Нету скидки в фр уже давно, сумму скидки высчитываете в программе, пропорционально уменьшаете цену и с помощью сьроки после закрытия чека " СУММА со скидкой бла бла или скидка блабла...
|
|||
5
Ivan Bezdomnyi
08.02.21
✎
07:58
|
(4) Хорошо, но вот пример, первый что пришел в голову
Товар1 / Количество 3 / Цена 4 / Сумма 12 Товар2 / Количество 3 / Цена 3 / Сумма 9 Итого 21 Оплата: наличными 11, бонусами 10 Как эти бонусы распределить пропорционально, чтобы цена уложилась в копейки? |
|||
6
hhhh
08.02.21
✎
08:12
|
Товар1 / Количество 3 / Цена 2 / Сумма 6
Товар2 / Количество 2 / Цена 2 / Сумма 4 Товар2 / Количество 1 / Цена 1 / Сумма 1 |
|||
7
Kigo_Kigo
08.02.21
✎
08:46
|
Через коэффициент участия
СуммаВсего = Итог("Сумма"); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Сумма = Сумма - Сумма/СуммаВсего*100 * СуммаСкидкиБаллами/100; КонецЦикла; |
|||
8
d4rkmesa
08.02.21
✎
09:12
|
(0)(5) Посмотрите как в типовой УТ 10. Там цены давно уже с учетом всех скидок указываются, а несоответствия между ценой*количество и суммой выравниваются настройкой форматно-логического контроля.
|
|||
9
Ivan Bezdomnyi
08.02.21
✎
10:05
|
(6) как вариант, но как-то не красиво)
(7) сразу с первой строки: Сумма = 12 - 12/21 * 100 * 10/100 = 6,285714... и тут хоть округляй хоть нет, в итоге у цены тоже точность будет за пределами копеек и получим "Сумма всех типов оплаты меньше итога чека" (8) хорошо, попробую там поискать |
|||
10
Ivan Bezdomnyi
08.02.21
✎
10:34
|
(8) Можно поподробнее про форматно-логический контроль и про выравнивание несоответствия между ценой*количество и суммой?
Потому что сейчас проблема именно в этом. |
|||
11
Kigo_Kigo
08.02.21
✎
11:07
|
(10) Просто в полученно наличными всегда суй 1 рубль, все что лишнее будет попадать тупо в сдачу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |