День добрый, если я вас правильно понял, то задача заключается в том чтобы в отчете, который печатает ККМ (фискальный регистратор) происходило разбиение прошедших через кассу сумм по некоторому критерию. В зависимости от возможностей конкретного оборудования это можно сделать по-разному. Большинство ФР'ов могут вести раздельные счетчики (от 4-х до 8-ми) по типам оплат и выводить итоги по этим секциям в своих отчетах (X-отчет / Z-отчет). Если заказ-наряды у вас всегда оплачиваются одним видом оплаты (Наличными), а все остальное всегда только безналичными платежами (но вы их проводите/фиксируете на ФР), то именно так лучше и поступить: т.е. ФРы настроить чтобы свои отчеты они печатали с детализацией по типам оплат (по-умолчанию не все так настроены), а со стороны фронта (организационно или дорабтками программы) проследить/обеспечить чтобы каждый из документов оплачивался своим правильным типом оплаты.
Если такой вариант вас не устраивает (наличными платят и по заказ-нарядам и за запчасти/гсм либо то в какую секцию должна "посчитаться" сумма продажи зависит от номенклатуры, а не от вида документа), то при условии что используемое вами в качестве ФР оборудование умеет печатать свои отчеты с разбиением итоговых сумм по торговым отделам, Вы можете доработать код продукта и посылать в ФР нужный вам номер отдела для каждой строки чека индивиидуально. В модуле обработки "ФронтКассира" в функции "ПробитьЧек" после комментария // Формирование таблицы товаров есть код задания номера отдела в зависмости от вида хозяйственной операции и режима фронта это либо:
Цитата |
---|
SafeArrayТаблицаТоваров.SetValue(НомерСтрокиТоваров,1,ПараметрыШапки.ОсновнойОтдел); // N Отдела берем из настроек рабочего места |
либо:
Цитата |
---|
SafeArrayТаблицаТоваров.SetValue(НомерСтрокиТоваров,1,ПолучитьНомерОтдела(СтрокаТоваров.МестоРазмещения)); // N Отдела из реквизита спр. Склады |
Если же вам например нужно чтобы номер секции зависел только от самой номенклатуры, то можно завести такой реквизит ("НомерОтделаДляККМ") в спр. "Номенклатура" заполнить его нужными вам значениями для всех элемнтов, а вышеприведенные строчки исправить на такой вариант
Цитата |
---|
SafeArrayТаблицаТоваров.SetValue(НомерСтрокиТоваров,1,СтрокаТоваров.Номенклатура.НомерОтделаДляККМ); // N Отдела берем из номенклатуры |
Но как я уже написал выше все может "упереться" в возможности/ограничения оборудования (к примеру ваша модель ФР не умеет печатать отчеты с детализацией именно по отделам или вот для атоловских ФРов налоговая ставка на товар задается именно через номер отдела и тут может возникнуть противоречие когда нужно продавать "не в тот отдел" а иначе сумма налога неправильная будет)