Имя: Пароль:
1C
 
Отчет суточный без гашения
0 GoldMax
 
22.08.12
12:13
Конфигурация "Управление торговлей" 10.3 1С версии 8.2

Ошибка в "Отчет суточный без гашения".

В документе "Чек ККМ" есть возможность вносить оплату за товар 3 способами:
1) Наличные
2) Пластиковая карта
3) Банковский кредит.

В конце смены (можно в середине дня) необходимо напечатать отчет "Отчет суточный без гашения" на ККМ. В этом отчете происходит выборка всех созданных за день чеков ККМ по способам оплаты. На бумаге получается так что вся оплата банковским кредитом складываеся с оплатой пластиковыми карточками и печатается в одной строке - оплата пластиковой картой. А строчка оплата "Банковским кредитом" всегда равна 0.

Как разделить оплату пластиковыми картами и оплату банковским кредитом?
1 GoldMax
 
22.08.12
12:52
Ну может быть все же кто-то знает как разделить сумму оплат?
2 Maxus43
 
22.08.12
12:56
Отчет переделать. Ваш Кэп.

Как тут сказать? надо хоть запрос увидеть или ещё что, не у всех под ругой УТ
3 GoldMax
 
22.08.12
13:01
Я понимаю что не у всех УТ под рукой. Спрашиваю у тех кто сталкивался с такой проблемой.
4 Ахиллес
 
22.08.12
13:01
(2) Хрен ли на него смотреть? Тем более, что его не существует скорее всего. В ФР драйвер просто посылает команду "Напечатать отчет без гашения".
5 GoldMax
 
22.08.12
13:05
В конфигкраторе есть обработка "Закрытие кассовй смены". Если я правильно понимаю, то нужный мне отчет создается из этой обработки.
6 Капитан О
 
22.08.12
13:06
(5) неправильно. закрытие гасит
7 Ахиллес
 
22.08.12
13:09
(5) Ты про какой отчет говоришь, про ту ленточку, которая из фискального принтера вылазит? Этот отчет в 1С не создается и никак из него не управляется.
8 GoldMax
 
22.08.12
13:13
Да, про ту ленточку, которая из фискального аппарата вылазит. А откуда же данные в эту ленточку попадают? Конечно из 1С ид проведенных докуметов "ЧекККМ". Так что получается что этим отчетом управляет именно 1С
9 del123
 
22.08.12
13:14
данные попадают из ККМ как бы
10 Капитан О
 
22.08.12
13:14
(8) мо. ло. дец.
11 del123
 
22.08.12
13:14
при пробитии чека, у вас есть разбитие на кредит и пластиковую карту? Как в чеке это дело пишется?
12 GoldMax
 
22.08.12
13:19
В документе в шапке "Чек ККМ" выбираем оплату списком. Внизу документа появляется табличная часть. В которой мы можем выбрать способы оплаты. Всего существует 3 способа оплаты: наличные, пластиковая карта, банковский кредит.

Наличные расчитываются правильно.

А оплата по пластиковым картам и оплата банковским кредитом суммируются вместе.

Строчка с оплатой банковскими картами остается всегда равной 0
13 Паланик
 
22.08.12
13:19
(8) Ты это серьезно?
14 GoldMax
 
22.08.12
13:21
В напечатанном чеке есть 3 строчки: наличными, плат. картой, кредитом.

1 строчка - наличные расчитывается правильно
2 строчка - пластиковые карты - сумма пластиковых карт и банковского кредита
3 строчка - банковский кредит - всегда 0
15 GoldMax
 
22.08.12
13:21
(13) Что серьезно?
16 Шапокляк
 
22.08.12
13:22
(0)В справочнике ВидыОплатЧековККМ какой тип оплаты стоит у банковского кредита и пластиковой карты?
17 del123
 
22.08.12
13:23
ну дак, если у тебя в чеке банковский кредит всегда ноль, соответственно и в отчете без гашения тоже всегда ноль будет. Если в отчете с гашением сумма по кредиту не ноль, то копайся в обработке закрытия. Но чет как то странно это
18 GoldMax
 
22.08.12
13:28
(17) так вот и спрашиваю может быть кто подскажет как исправить эту обработку
19 del123
 
22.08.12
13:38
Можешь приложить сканы отчета без гашения и отчета с гашением, где заполнена сумма по кредиту?
20 probably
 
22.08.12
13:40
(18) тебе нужно посмотреть в настройках ФР сколько у него видов оплат существует, и какой код оплаты какому соответсвует. Дальше смотреть алгоритм пробития чека оплатой банковским кредитом и выяснять, почему ФР пробивает эту оплату пластиковой картой.
Как выяснишь и решишь этот вопрос, Z-отчет и x-отчет будут тебе выводиться правильно.
(10) и (13) над тобой подшутили с легким намеком в какую сторону нужно думать, но ты решил их проигнорировать.
Открытым текстом: данные в Z-отчет и x-отчет выводятся самим ФР на основе его данных, 1с никак на содержимое этих отчетов повлиять не может.
21 GoldMax
 
22.08.12
13:46
(20) Никогда никого не игнорирую. Особенно если помогают решить проблему. Совет ваш хороший, но пока что не понятный. Пойду разбираться с устройством, которое печатает.
22 zva
 
22.08.12
14:01
(0) В 1С сам чек при отправке на ФР оплату по кредиту не учитывает, только нал, безнал:
ПолучитьСерверТО().ПечатьЧека(ФР, ПолучитьСерверТО().ПолучитьПарольКассираККМ(), НомерЧекаККМ, НомерСменыККМ,
                                      ТаблицаТоваров, ПолучитьСуммуНаличнойОплаты(),
                                      ПолучитьСуммуБезналичнойОплаты(),
                                      ВидОперации = Перечисления.ВидыОперацийЧекККМ.Возврат);

Функция ПолучитьСуммуБезналичнойОплаты() Экспорт

   СуммаБезналичнойОплаты = 0;
   Для Каждого ТекОплата Из Оплата Цикл
       Если ЗначениеЗаполнено(ТекОплата.ВидОплаты) И ТекОплата.ВидОплаты.ТипОплаты <> Перечисления.ТипыОплатЧекаККМ.Наличные Тогда
           СуммаБезналичнойОплаты = СуммаБезналичнойОплаты + ТекОплата.Сумма;
       КонецЕсли;
   КонецЦикла;

   Возврат СуммаБезналичнойОплаты;

КонецФункции // ПолучитьСуммуБезналичнойОплаты()


Функция ЗакрытьЧек(Идентификатор, СуммаНал, СуммаБезнал) Экспорт

   Обработка = Неопределено;
   Объект    = Неопределено;
   Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект);

   Если НЕ ЗначениеЗаполнено(Результат) Тогда
       Результат = Обработка.ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал);
       мОписаниеОшибки = Объект.ОписаниеОшибки;
   Иначе
       мОписаниеОшибки = ПолучитьТекстОшибкиПодключенияТО("ФР");
   КонецЕсли;

   Возврат Результат;

КонецФункции // ЗакрытьЧек()

Эти места нужно переписывать... + обработку обслуживания, ибо туда передается
Результат = Обработка.ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал);
Хотя в обработке ShtrihMFiscalPrinters_v2 есть еще один параметр, скорей всег сумма по кредиту:
Функция ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал) Экспорт
...
Объект.Драйвер.ЗакрытьЧек(Объект.ИДУстройства, СуммаНал, СуммаБезнал, 0)
23 GoldMax
 
22.08.12
14:14
В отчете который печатаеся ФР продажи могут быть оплачены:

1) Наличными
2) Пластиковой картой
3) Тарой
4) Кредитом

В нашей организации:

1) Всегда печатает правильную сумму
2) Складывает сумму оплат по пластиковй карте с оплатой банковским кредитом. А должна быть только сумма оплаты пластиковыми картами.
3) Не используется и он всегда равен 0.
4) Всегда равен 0, а должна быть сумма оплаты банковскими кредитами.

В документе "ЧекККМ" при выборе спсоба оплаты "Списком" и заполнении таблицы оплат у нас есть возможность выбрать только 3 вида оплаты: наличными, пластиковой картой, банковский кредит.

Проблема только в том, что ФР при печати складывает сумму оплат по пластиковой карте с сумой оплат по банковским кредитам. А нам необходимо эти суммы разделить и напечатать каждую в своей строчке
24 Wolex
 
03.09.12
14:50
(v8: Отчет суточный без гашения я знаю :) правда, по Рознице, по похоже, в УТ та же проблема
дело в том, что 1С перед печатью чека формирует массив входных параметров. в этом массиве так же содержится информация о видах оплаты и их суммах. и там есть такой фрагмент


               // Подготовка таблицы оплат
               ТаблицаОплат = Новый Массив();
               
               // Наличные
               СтрокаОплаты = Новый СписокЗначений();
               СтрокаОплаты.Добавить(0);
               СтрокаОплаты.Добавить(ПолучитьСуммуНаличнойОплаты(ОбъектЧекККМ));
               СтрокаОплаты.Добавить("Наличная оплата");
               СтрокаОплаты.Добавить("");
               ТаблицаОплат.Добавить(СтрокаОплаты);
               
               // Безналичные
               СтрокаОплаты = Новый СписокЗначений();
               СтрокаОплаты.Добавить(1);
               СтрокаОплаты.Добавить(ПолучитьСуммуБезналичнойОплаты(ОбъектЧекККМ) + ПолучитьСуммуОплатыПодарочнымиСертификатами(ОбъектЧекККМ));
               СтрокаОплаты.Добавить("Безналичная оплата");
               СтрокаОплаты.Добавить("");
               ТаблицаОплат.Добавить(СтрокаОплаты);


вот содержание функции получения безналичной оплаты:

   СуммаБезналичнойОплаты = 0;
   Для Каждого ТекОплата Из ОбъектЧекККМ.ТабличныеЧасти.Оплата Цикл
       Если ЗначениеЗаполнено(ТекОплата.ВидОплаты) И ТекОплата.ВидОплаты.ТипОплаты <> Перечисления.ТипыОплатЧекаККМ.Наличные
       И НЕ ТекОплата.ВидОплаты = Справочники.ВидыОплатЧекаККМ.ОплатаПодарочнымСертификатом Тогда
           СуммаБезналичнойОплаты = СуммаБезналичнойОплаты + ТекОплата.Сумма;
       КонецЕсли;
   КонецЦикла;

   Возврат СуммаБезналичнойОплаты;


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