Рассрочка в Рознице 2.2







Добавляем Рассрочку в документ «Отчет о розничных продажах» в конфигурации «Розница для Беларуси, редакция 2.2.»

В Рознице 2.2 в РМК при формировании оплаты за товар присутствует вид оплаты "В рассрочку", более того, этот вид оплаты является Предопределенным элементом справочника.

Но… при закрытии смены оплата с признаком "В рассрочку" никак не попадает в документ "Отчет о розничных продажах". Баг или фича !?

Устраняем…

Добавлять будем в таблицу "Банковские кредиты" (ну а куда же еще).

Для начала пропишем контрагента, за кем образуется задолженность;

Идем в обработку "Закрытие смены" и в коде формы в Процедуре "ОбработатьДокументыККМСервер", ищем комментарий: 

"// Записываем ОтчетОРозничныхПродажах." Находим строки записи оплат в таблицу "БанковскиеКредиты", которые начинаются со строки:

Для Каждого Оплата Из ТаблицаОплатБанковскиеКредиты Цикл 

и здесь вместо строки:

НоваяСтрока.БанкКредитор              = НоваяСтрока.ВидОплаты.БанкКредитор;

Вставляем строки:

Если Оплата.ВидОплаты = Справочники.ВидыОплатЧекаККМ.ОплатаВрассрочку Тогда  //*** начало изменения
НоваяСтрока.БанкКредитор = Оплата.Контрагент ;
Иначе
НоваяСтрока.БанкКредитор = НоваяСтрока.ВидОплаты.БанкКредитор;
КонецЕсли;  // ***конец изменения

Соответственно надо добавить Контрагента в РезультатЗапросаПоОплате.

Для этого ищем сам ЗапросПоОплате и в конструкторе запроса добавляем его из ЧекаККМ. 

В Итоге окончание запроса должно выглядеть так:

    |ИЗ
    |    ПодготовительнаяТаблица КАК ПодготовительнаяТаблица
    |
    |СГРУППИРОВАТЬ ПО
    |    ПодготовительнаяТаблица.БанкКредитор,
    |    ПодготовительнаяТаблица.ТипОплаты,
    |    ПодготовительнаяТаблица.ЭквайринговыйТерминал,
    |    ПодготовительнаяТаблица.БонуснаяПрограммаЛояльности,
    |    ПодготовительнаяТаблица.ВидОплаты,
    |    ПодготовительнаяТаблица.ПроцентКомиссии,
    |    ПодготовительнаяТаблица.ПроцентБанковскойКомиссии,
    |    ПодготовительнаяТаблица.ДисконтнаяКарта,
    |    ПодготовительнаяТаблица.ЭтоВозврат,
    |    ПодготовительнаяТаблица.Контрагент
    |
    |ИМЕЮЩИЕ
    |    (СУММА(ПодготовительнаяТаблица.Сумма) <> 0
    |        ИЛИ СУММА(ПодготовительнаяТаблица.СуммаБонусовВСкидках) <> 0)"); //*** добавил Контрагента из чеков

Далее  ищем строки 

ТаблицаОплатБанковскиеКредиты = ОбщегоНазначенияРТ.ОтобратьСтрокиПоКритериям(РезультатЗапросаПоОплате,
Новый Структура("ТипОплаты", Перечисления.ТипыОплатЧекаККМ.БанковскийКредит)).Выгрузить();

и вместо них вставляем:

СписокПеречислений = Новый СписокЗначений;//***измененные строки
СписокПеречислений.Добавить(Перечисления.ТипыОплатЧекаККМ.БанковскийКредит);
СписокПеречислений.Добавить(Перечисления.ТипыОплатЧекаККМ.ВРассрочку);
ТаблицаОплатБанковскиеКредиты = ОбщегоНазначенияРТ.ОтобратьСтрокиПоКритериям(РезультатЗапросаПоОплате,
Новый Структура("ТипОплаты", СписокПеречислений),Новый Структура("ТипОплаты", ВидСравнения.ВСписке)).Выгрузить();
//*** окончание изменненных строк

С закрытием смены разобрались!

Но вручную Рассрочку в отчет все еще не добавить и не откорректировать.

Исправляем несправедливость…

Открываем форму Документа "ОтчетОРозничныхПродажах".

Ищем процедуру "УстановитьПараметрыВыбораЭлементовФормы()" в ней строки

МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ТипОплаты", Перечисления.ТипыОплатЧекаККМ.БанковскийКредит));
Элементы.ОплатаБанковскимиКредитамиВидОплаты.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);

заменяем на:

 МассивПараметров = Новый Массив;//***начало изменений
МассивПеречислений = Новый Массив;
МассивПеречислений.Добавить(Перечисления.ТипыОплатЧекаККМ.БанковскийКредит);
МассивПеречислений.Добавить(Перечисления.ТипыОплатЧекаККМ.ВРассрочку);
МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ТипОплаты", МассивПеречислений));//***окончание изменений

и не забываем снять галочку Только просмотр с Поля "ОплатаБанковскимиКредитамиБанкКредитор" на форме документа в группе "ГруппаОплатаБанковскимиКредитами".

Теперь в документе Отчет о розничных продажах отражена рассрочка и Контрагент, на кого она оформлена.

Далее правильно было бы разобраться со взаиморасчетами.. но таких задач не ставилось. Полученный результат просто уйдет в "Бухгалтерию 2.1" и все взаиморасчеты будут учтены там!

P.S. статья написана чисто для себя, по принципу чтобы не забыть и знать, где искать!

Просьба бросать камни )) и, если не лень, писать комментарии! 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *