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

Публикация № 1043496

Программирование - Практика программирования

Рассрочка Розница РМК Рабочее место кассира продажа в рассрочку оформление

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

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

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

Устраняем...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

заменяем на:

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

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

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

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

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

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

1

См. также

Специальные предложения

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение