При печати ЧекККМ в Рознице необходимо в таб.части Товары Объекта отфильтровать номенклатуру по ее нахождению в справочнике МенюЗавода. т.е. если в таб части Товары нет номенклатуры из справочника МенюЗавода тогда эту номенклатуру не выводим в макет ЧекККМ, там сразу пересчет общей суммы чека но это решу. Позиции в чеке может быть до 20. Вопрос как оптимальнее реализовать фильтр? есть цикл в котором заполняется макет номенклатурой из чека, внутри этого цикла сделать вызов своей функции с запросом не комильфо:) аксиома запросы в цикле зло. Или как вариант перед заполнением выгрузить таб часть в таблицу значении ее обработать и в цикле обхода этой отфильтрованной ТЗ выполнять заполнение макета? Может есть еще оптимально/производительные варианты?
(1) потому что в чеке может быть номенклатура не относящаяся к МенюЗавода, это не фискальный чек и не подтверждение оплаты для клиента, чек отправляется на нужный принтер для внутреннего использования. По типу ресторана по этому чеку собирают меню.
Стандартное решение если там выборка (из результата запроса) только в которую и можно встроиться
Берешь Номенклатуру и тупо в цикле выборке делаешь свой запрос, далее по результату или пропускаешь или в свою сумму
Если не хочется запросов в цикле
Сделать один запрос перед циклом или в первой итерации
Для создания Структуры МенюЗавода или ТЗ (с Индексами) аля кэша
По которой и будешь банально в цикле выборки проверять без запроса
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.