Класс "распределение при списании". Выложено по просьбе trdm'а
http://www.1cpp.ru/forum/YaBB.pl?num=1154087132/22#22. Класс писался давно, несколько не причесанный и несколько недоконченный (списывает только положительные ресурсы, предполагалось сделать и с отрицательными). В выложенном мдшнике кроме самого класса есть пример работы с ним.
Суть:
Есть 2 таблицы - требований (например, из ТЧ расходной накладной - Товар,Кво и примкнувший к ним склад

) и остатков (например, остатки из соотв. регистра).
Все их поля фактически являются измерениями и ресурсами, и могут быть разделены на:
1. Базовый (опорный списываемый) ресурс - ресурс по которому идет списание и контроль - в нашем примере это количество (и соотв. колич. остаток товара).
2. Измерения фильтра - общие измерения в обоих таблицах (например, Товар и Склад).
3. Распределяемые измерения - например, партии для остатков. По ним последовательно идет списание опорного ресурса.
4. Распределяемый ресурс - например, себестоимость партии. Списывается пропорционально опорному ресурсу.
5. доп. атрибуты - значащие поля, которые должны быть и в результирующей таблице.
Все эти параметры (структура таблиц) задаются объекту, после чего вызывается его метод СформироватьТЗСписания(). Метод принимаает на входе таблицы остатков и требований, и дает таблицу результат. Таблица включает все отмеченные в пп1-5 поля, при этом опорный списываемый ресурс представлен двумя полями: с префиксом Спис_ - то что можно списать, и Неспис_ - то что списать нельзя (нет остатка).
Что с нею делать дальше - зависит от задачи.
Далее описывать не буду, думаю все ясно из примера и небольшого к-ва имеющихся комментариев.