В Рознице 2.2 в РМК при формировании оплаты за товар присутствует вид оплаты "В рассрочку", более того, этот вид оплаты является Предопределенным элементом справочника.
Но... при закрытии смены оплата с признаком "В рассрочку" никак не попадает в документ "Отчет о розничных продажах". Баг или фича !?
Устраняем...
Добавлять будем в таблицу "Банковские кредиты" (ну а куда же еще).
Для начала пропишем контрагента, за кем образуется задолженность;
Идем в обработку "Закрытие смены" и в коде формы в Процедуре "ОбработатьДокументыККМСервер", ищем комментарий:
"// Записываем ОтчетОРозничныхПродажах." Находим строки записи оплат в таблицу "БанковскиеКредиты", которые начинаются со строки:
Для Каждого Оплата Из ТаблицаОплатБанковскиеКредиты Цикл
и здесь вместо строки:
НоваяСтрока.БанкКредитор = НоваяСтрока.ВидОплаты.БанкКредитор;
Вставляем строки:
Если Оплата.ВидОплаты = Справочники.ВидыОплатЧекаККМ.ОплатаВрассрочку Тогда //*** начало изменения
НоваяСтрока.БанкКредитор = Оплата.Контрагент ;
Иначе
НоваяСтрока.БанкКредитор = НоваяСтрока.ВидОплаты.БанкКредитор;
КонецЕсли; // ***конец изменения
Соответственно надо добавить Контрагента в РезультатЗапросаПоОплате.
Для этого ищем сам ЗапросПоОплате и в конструкторе запроса добавляем его из ЧекаККМ.
В Итоге окончание запроса должно выглядеть так:
|ИЗ
| ПодготовительнаяТаблица КАК ПодготовительнаяТаблица
|
|СГРУППИРОВАТЬ ПО
| ПодготовительнаяТаблица.БанкКредитор,
| ПодготовительнаяТаблица.ТипОплаты,
| ПодготовительнаяТаблица.ЭквайринговыйТерминал,
| ПодготовительнаяТаблица.БонуснаяПрограммаЛояльности,
| ПодготовительнаяТаблица.ВидОплаты,
| ПодготовительнаяТаблица.ПроцентКомиссии,
| ПодготовительнаяТаблица.ПроцентБанковскойКомиссии,
| ПодготовительнаяТаблица.ДисконтнаяКарта,
| ПодготовительнаяТаблица.ЭтоВозврат,
| ПодготовительнаяТаблица.Контрагент
|
|ИМЕЮЩИЕ
| (СУММА(ПодготовительнаяТаблица.Сумма) <> 0
| ИЛИ СУММА(ПодготовительнаяТаблица.СуммаБонусовВСкидках) <> 0)"); //*** добавил Контрагента из чеков
Далее ищем строки
ТаблицаОплатБанковскиеКредиты = ОбщегоНазначенияРТ.ОтобратьСтрокиПоКритериям(РезультатЗапросаПоОплате,
Новый Структура("ТипОплаты", Перечисления.ТипыОплатЧекаККМ.БанковскийКредит)).Выгрузить();
и вместо них вставляем:
СписокПеречислений = Новый СписокЗначений;//***измененные строки
СписокПеречислений.Добавить(Перечисления.ТипыОплатЧекаККМ.БанковскийКредит);
СписокПеречислений.Добавить(Перечисления.ТипыОплатЧекаККМ.ВРассрочку);
ТаблицаОплатБанковскиеКредиты = ОбщегоНазначенияРТ.ОтобратьСтрокиПоКритериям(РезультатЗапросаПоОплате,
Новый Структура("ТипОплаты", СписокПеречислений),Новый Структура("ТипОплаты", ВидСравнения.ВСписке)).Выгрузить();
//*** окончание изменненных строк
С закрытием смены разобрались!
Но вручную Рассрочку в отчет все еще не добавить и не откорректировать.
Исправляем несправедливость...
Открываем форму Документа "ОтчетОРозничныхПродажах".
Ищем процедуру "УстановитьПараметрыВыбораЭлементовФормы()" в ней строки
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ТипОплаты", Перечисления.ТипыОплатЧекаККМ.БанковскийКредит));
Элементы.ОплатаБанковскимиКредитамиВидОплаты.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
заменяем на:
МассивПараметров = Новый Массив;//***начало изменений
МассивПеречислений = Новый Массив;
МассивПеречислений.Добавить(Перечисления.ТипыОплатЧекаККМ.БанковскийКредит);
МассивПеречислений.Добавить(Перечисления.ТипыОплатЧекаККМ.ВРассрочку);
МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ТипОплаты", МассивПеречислений));//***окончание изменений
и не забываем снять галочку Только просмотр с Поля "ОплатаБанковскимиКредитамиБанкКредитор" на форме документа в группе "ГруппаОплатаБанковскимиКредитами".
Теперь в документе Отчет о розничных продажах отражена рассрочка и Контрагент, на кого она оформлена.
Далее правильно было бы разобраться со взаиморасчетами.. но таких задач не ставилось. Полученный результат просто уйдет в "Бухгалтерию 2.1" и все взаиморасчеты будут учтены там!
P.S. статья написана чисто для себя, по принципу чтобы не забыть и знать, где искать!
Просьба бросать камни )) и, если не лень, писать комментарии!