Имя: Пароль:
1C
 
Касса АТОЛ-55ф "разбивает" позиции
,
0 vfire1000
 
25.04.17
12:31
Приветствую.
Есть касса АТОЛ 55Ф.

В 1С заказ с позицией:
"Номенклатура продажи"    15,000 Х 170,55  =2302,43 (скидка 10% на сумму)

Чек выходит:
"Номенклатура продажи"   7.000 Х 153,50 =1074,50
СКИДКА 10%                  =17.05
СУММА НДС 18%                 18% =163,91

"Номенклатура продажи"   8.000 Х 153,49 =1227,92
СКИДКА 10%                  =17.06
СУММА НДС 18%                 18% =187,31

В результате Сумма чека 2302,42 в 1С 2302,43. Бывает разница в другую сторону, соответственно чек не закрывается.

Как побороть "расслаивание" позиций?
1 vfire1000
 
25.04.17
12:32
Так формирую чек:

driver = Новый (ПрогИД);

//Подключение к устройству
//...

// Mode - Режим:
driver.Mode = 1;
driver.SetMode();

driver.NewDocument();

// CheckType - Тип чека:
driver.CheckType = 1;
// CheckMode - Режим формирования чека:
driver.CheckMode = 1;
driver.OpenCheck();

driver.AttrNumber = 1055;
// Применяемая система налогооблажения в чеке:
driver.AttrValue = 1;
driver.WriteAttribute();

driver.Name            = "Номенклатура продажи";
driver.Price         = 170.55;
driver.Quantity        = 15;
driver.Department     = 0;
driver.TaxTypeNumber     = 3;
driver.DiscountValue     = 10;
// DiscountType - Тип скидки:
// 0 - суммовая
// 1 - процентная
driver.DiscountType    = 1;
driver.Registration();
driver.PrintString();

// Оплата и закрытие чека
// TypeClose - Тип оплаты:
driver.TypeClose     = 0;
driver.Summ         = 10008.66;
driver.Payment();
driver.CloseCheck();

driver.DeviceEnabled = 0;
driver.DeleteDevice();
2 vfire1000
 
25.04.17
12:56
апну

а то что-то задница у меня получается
3 dezss
 
25.04.17
14:15
Это он-лайн касса?
4 vfire1000
 
25.04.17
14:17
(3) да
5 dezss
 
25.04.17
14:18
(4) а зачем тогда заморачиваешься?
Не проще ли подготовить xml и его передать в кассу, а она сама все посчитает?
6 vfire1000
 
25.04.17
14:22
(5) через хмл вообще получается ж***. Там расхождение еще больше.

Поэтому и решило попробовать печатать НЕ через компоненту 1С
7 vfire1000
 
25.04.17
14:22
*решил
8 dezss
 
25.04.17
14:26
хм...у меня с ней все хорошо получилось...сама все скидки и НДС-ы посчитала...
а что ты передавал в xml?
с этим, может смогу чем помочь...
9 vfire1000
 
25.04.17
14:32
<Positions>
    <FiscalString Name="Номенклатура продажи"     Quantity="15"     Price="170,55" Amount="2302,43" Tax="18"/>
</Positions>
<Payments Cash="2302,43" CashLessType1="0" CashLessType2="0" CashLessType3="0"/>
10 dezss
 
25.04.17
14:38
(9) а шапка?

И что он тебе тогда выдавал?
11 dezss
 
25.04.17
14:39
и кинь код формирования этого xml, плиз.
попробую у себя.
12 dezss
 
25.04.17
14:44
(11) хотя не надо...я у себя цену номенклатуры поменяю...
13 vfire1000
 
25.04.17
14:47
(12) ок

Вот изначальный хмл:

<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
    <Parameters PaymentType="1" TaxVariant="0" SenderEmail="" CustomerPhone=""/>
    <Positions>
        <FiscalString Name="Номенклатура продажи 2"     Quantity="1.5"     Price="863.37" Amount="1165.55" Tax="18"/>
        <FiscalString Name="Номенклатура продажи 1"     Quantity="2"     Price="214.89" Amount="386.8"     Tax="18"/>
        <FiscalString Name="Номенклатура продажи"         Quantity="15"     Price="170.55" Amount="2302.43" Tax="18"/>
        <FiscalString Name="Номенклатура продажи 3"        Quantity="2"     Price="170.55" Amount="306.99"     Tax="18"/>
        <FiscalString Name="Номенклатура продажи 4"     Quantity="1"     Price="5846.9" Amount="5846.9"     Tax="18"/>
    </Positions>
    <Payments Cash="10008.67" CashLessType1="0" CashLessType2="0" CashLessType3="0"/>
</CheckPackage>
14 dezss
 
25.04.17
14:50
У меня со скидкой 10% сумму 1с-ка посчитала 2302,42.
Да и копейки у нас отбрасываются перед пробитием чека.
Тоже разбилось на 2 позиции, в одной10, в другой 5 шт. Скидка не в процентах, а суммой (я на этой фигне не заморачивался, это у нас не принципиально)..
15 dezss
 
25.04.17
14:51
(13) и что у тебя на это выдавала касса?
16 vfire1000
 
25.04.17
14:52
(15) 1С отправляет целые данные. "Касса" разбивает.

Если сумма чека меньше оплаты, то все ок. Если больше, что пишет что чек аннулирован.
17 vfire1000
 
25.04.17
14:53
(16) + Чек вышел на сумму 10008,66
18 dezss
 
25.04.17
15:02
(16) да эт понятно, что разбивает касса, когда подгоняет цену под скидку...
Надо думать что-то с этими копейками...
ИМХО, надо округлять хотя бы до десятков, а лучше отбрасывать на уровне суммы чека, иначе такая ерунда будет частенько...
Либо понять какой именно алгоритм расчета использует касса, чтобы считать так же, как и она, но это деструктивно, так как это дело может меняться...
19 Злопчинский
 
25.04.17
15:13
это правило 1 колпейки. Victuan подробно описывал в своей разработке. вдобавок, руля скидками можно получить желаемый результат
когда
2*200.07 = 361.13
скидка = 39.01
20 vfire1000
 
25.04.17
15:14
(18) "Отключить" пересчет скидок в цене возможно ?
21 vfire1000
 
25.04.17
15:14
(19) через компоненту 1С этого не добится.

Что за разработка?
22 vfire1000
 
25.04.17
15:16
(21) нашел