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