Начальные условия и настройки:
- Существует несколько складов (на каждом из которых может быть своя себестоимость)
- Существует несколько организаций (между которыми настроена схема интеркампани, [Регламентированный учет - Настройка передачи товаров], у меня настроены только перекресные продажи, без возвратов)
- Все документы Реализаций (Отчетов ККМ, Возвратов от покупателей) от имени различных организаций, проведены ПОСЛЕ настройки схемы интеркомпани.
- Предполагается, что уже не будет правок "задним числом", т.е. период можно "закрывать". Иначе говоря, например, числа 15 мая - можно закрывать апрель, 15 июня - можно закрывать май, и т.д.
Это условие не является строгим, т.к. теоретически всегда можно повторить операцию "закрытия". - Для простоты предполагаем, что продажа между организациями производится по себестоимости (при желании можно слегка доработать обработку, чтобы была фиксированная наценка)
Итак 15 ноября производим закрытие октября...
По пунктам, то, что делает обработка:
- Удаляет старые, созданные автоматически или вручную документы передачи товаров между организациями (опционально) [Флаг Удалить старые документы передачи]
- Создаёт документы передачи между организациями на основании данных полученных по регистру накопления "ТоварыОрганизацийКПередаче" (имитация стандартного функционала в пакетном режиме). Этот регистр заполняется системой при проведении продаж от имени организации, на которой существует недостаток товаров, при настроенной схеме интеркомпани.
- Создаёт документы передачи между организациями на основании отрицательных остатков, полученных по регистру накопления "ТоварыОрганизаций" (компенсация неправильно настроенной интеркомпани, или проведения документов в закрываемом периоде "задним числом", это тоже имитация стандартного функционала в пакетном режиме)
- Создаёт документы передачи между организациями на основании отрицательных остатков, полученных по регистру накопления "СебестоимостьТоваров" (компенсация неправильно настроенной интеркомпани, или проведения документов в закрываемом периоде "задним числом", не учтенных в п3).
На этапах п. 2-4 создаются документы без заполнения цены товаров (заполняется только количество), можно дополнить, чтобы заполнялось с какой-либо начальной ценой. - Производит принудительный расчет себестоимости на конец периода.
- Производит заполнение цен в документах передачи товаров.
Если сумма хотя бы одного документа передачи, созданного в п. 2-4 изменилась относительно своего первоначального значения, то повтор итерации с п. 5.
Обычно п. 5-6 повторяются не более 3 раз, но кто знает, поэтому в коде есть возможность прерывания, да и общее количество ограничено 11 итерациями.
Обработка может работать долго, и поэтому для нее желателен единоличный доступ, примерное время работы при 10 организациях и 2000-2500 документов реализаций в месяц с 10-500 строками составляет в среднем 5-10 минут.
PS: В УТ11 (до версии раньше чем 11.0.9.15) при использовании более 10 организаций обработка настройки схемы интрекомпани работает неверно для того, чтобы это исправить нужно в Обработки.НастройкаПередачиТоваровМеждуОрганизациями.Формы.Форма.МодульФормы в процедуре ТаблицаНастройкиВыбор заменить строку
ИндексКолонки = Прав(Поле.Имя, 1);
на
ИндексКолонки = СтрЗаменить(Поле.Имя,"ТаблицаНастройкиСпособПередачи",""); // чтобы правильно отрабатывалить колонки с номером более 9
PS2: После проведения данной операции имеет смысл обновить цены, в которых производится стоимостная оценка склада, скажем, средним значением себестоимости из соответствюущего отчета. Вся методика с необходимыми обработками/отчетами: [УТ11] Упрощенная методика ведения учета при применении схемы интеркомпани
PS3: В табличной части Товары документа Передачи товаров между организации, для работы обработки нужно отключить проверку на заполнение в колонках Цена, Сумма, СуммаСНДС, поскольку первоначально документ создается с нулевыми значениями указанных реквизитов (ограничение легко обойти если доработать обработку)
Upd 01.01.2013: Добавлен оптимизированный вариант (по времени исполнения) для версии УТ 11.0.9.15 (обработка может работать неправильно при отстутствии документов Распределения расходов на себестоимость за расчетный период)
Upd 30.10.2013: Появилась адаптированная для УТ11.1 обработка [УТ11.1] Интеркомпани и расчет себестоимости или создание документов передачи товаров между организациями и закрытие периода