Алгоритм решаемой задачи должен обеспечить определение недооплаты по изделию. Недооплата имеет место, если для некоторого ТТН либо отсутствуют ПТР, либо по всем соответствующим ПТР суммарное количество оплаченной продукции меньше количества отгруженной продукции.
Для выявления недооплаты по конкретному изделию необходимо отобрать все ТТН, ПТР по которым не поступало, а также отобрать все ТТН, по которым есть соответствующие ПТР, что свидетельствует о получении заказчиком отгруженной продукции. Из полученного множества ТТН отобрать данные об отгрузке заданного изделия и, если по каким-либо ТТН отгружено больше, чем оплачено, то оценить недооплату.
В рассматриваемой задаче необходимо для заданного изделия выдать отчет с данными анализа оплаты и получить список всех изделий, по которым имеется недооплата. Поэтому задача может быть разделена на две подзадачи, в каждой из которых формируется свой выходной документ: «Отчет» и «Список» (рис. 16).
Рис. 16. Декомпозиция задачи анализа оплаты на две подзадачи
Функционально-технологические схемы подзадач получения отчета по заданному товару об оплаченной части продукции и недооплате и получения списка изделий, по которым имеется недооплата, приведены ниже.