Эта публикация - реализация идей моей статьи
Обработка работает в любой конфигурации. Формируем таблицу задолженностей (построчно. Прикручивать импорт из файла я не стал, о причинах этого - ниже), кнопкой "Создать списки..." преобразуем ее (результат не отображается), затем распечатываем все варианты распределения задолженностей. В примере на скрине получилось два кредитора и три дебитора, что дало 2!*3! = 12 распределений. После (автоматического) удаления дублей(каждый вариант присутствует дважды, в прямом и обратном порядке перечисления дебиторов и кредиторов) вариантов для печати осталось шесть.
При увеличении количества участников количество вариантов растет очень сильно, что делает ситуацию необозримой. Поэтому я и не стал заботиться об обработке длинных таблиц.
06.06.2011 Добавил контроль повтора вариантов (когда результирующие таблицы различаются порядком колонок).
24.06.2011 Вынес текст (рекурсивной) комбинаторной функции "ВсеПерестановки" на скрин