Добрый день !
Помогите разобраться с документом КомплектацияНоменклатуры !
В документе ИсходнаяНоменклатура (Запчасть) разбирается на комплектующие ...
Заполнена табличная часть "Комплектующие"; Рассчитаны доли каждой комплектующей а СУММЫ - не рассчитаны ! В табличной части "Комплектующие" ДоляСтоимости заполнена, а СуммаПередачи - нет (кроме того на форме эта колонка скрыта и не используется для режима "Разборка")
Далее ... при проведении документа формируются проводки по РегистрБухгалтерии.Хозрасчетный где Стоимость (ЗапЧасти) пропорционально долям (Комплектующие.ДоляСтоимости) рассчитывается и выставляется в Сумма (проводки)
Вопрос: Где именно производится этот расчет ? То есть где именно производится это вычисление Сумма = Стоимость * Комплектующие.ДоляСтоимости
Отладчиком хожу по ОбработкеПроведения - ничего подобного не вижу !
---
Спасибо за подсказку !

УправлениеЗапасамиПартионныйУчет.СписаниеПартий() : 2977

```1c
    Если СтрокаДереваПартий <> Неопределено Тогда

    // В.Ч. ПередачаТоваров (Передача Товаров)
    ЭтоДокументПередачаТоваров = Ложь;
    Если ТипЗнч(СтрокаДокумента.Регистратор) = Тип("ДокументСсылка.ПередачаТоваров") Тогда
    тчТовары = СтрокаДокумента.Регистратор.ПолучитьОбъект().Товары;
    ЭтоДокументПередачаТоваров = Истина;
    КонецЕсли;

    // В.Ч. КомплектацияНоменклатуры (Комплектация Номенклатуры)
    ЭтоДокументКомплектацияНоменклатуры = Ложь;
    Если ТипЗнч(СтрокаДокумента.Регистратор) = Тип("ДокументСсылка.КомплектацияНоменклатуры") Тогда
    тчКомплектующие = СтрокаДокумента.Регистратор.ПолучитьОбъект().Комплектующие;
    ЭтоДокументКомплектацияНоменклатуры = Истина;
    КонецЕсли;

    Для Каждого СтрокаПартииРаспределения ИЗ СтрокаДереваПартий.Строки Цикл

    // В.Ч.
    вчСуммаПередачи = 0;
    Если ЭтоДокументКомплектацияНоменклатуры Тогда
    СтрокаТчКомплектующие = тчКомплектующие.Получить(СтрокаДокумента.НомерСтрокиДокумента - 1);
    Если СтрокаТчКомплектующие.СуммаПередачи <> 0 Тогда
    // В.Ч. - берем точные кво и Сумму прямо из документа,
    // без приколов со средневзвешенным списанием !
    //Движение.Количество = СтрокаТчТовары.Количество;
    вчСуммаПередачи = СтрокаТчКомплектующие.СуммаПередачи;
    КонецЕсли;
    КонецЕсли;

    Если КоличествоОсталосьПогасить <= 0 Тогда
    // В.Ч. Если ЭтоДокументКомплектацияНоменклатуры Тогда
    Если вчСуммаПередачи = 0 Тогда
    Прервать;
    //Иначе
    // Сообщить(СтрокаДокумента.НоменклатураНовая); // Отладка
    КонецЕсли;
    КонецЕсли;

    СтрокаПартии = ПолучитьСтрокуОстатковПартий(СтрокаПартииРаспределения, СтруктураИзмерений, ТаблицаОстатковПартий);

    //АБС ВСТАВКА 18360
    // Если в партии счет учета пустой, не списывать эту партию
    Если СтрокаДокумента.ОтражатьВНалоговомУчете ИЛИ СтрокаДокумента.ОтражатьВБухгалтерскомУчете Тогда
    Если СокрЛП(Строка(СтрокаПартии.СчетУчета)) = " Тогда
    Продолжить;
    КонецЕсли;
    КонецЕсли;
    //АБС ВСТАВКА КОНЕЦ 18360

    // Количество по строке больше 0
    Если НЕ СтрокаПартии.Количество > 0 Тогда
    // В.Ч. Если ЭтоДокументКомплектацияНоменклатуры Тогда
    Если вчСуммаПередачи = 0 Тогда
    Продолжить;
    //Иначе
    // Сообщить("Продолжить "); // Отладка
    КонецЕсли;
    КонецЕсли;

    Если СтрокаДокумента.ОтражатьВНалоговомУчете
    И СтрокаДокумента.КодОперацииПартииТоваров = СтруктураПараметров.КодыОпераций.ПринятиеКУчетуОС
    И СтрокаПартии.СчетУчета = ПланыСчетов.Налоговый.МатериалыВСоставеОСвНУ тогда
    Продолжить;
    КонецЕсли;

    Если СтрокаПартии.Количество >= КоличествоОсталосьПогасить Тогда
    КоэффСписания = КоличествоОсталосьПогасить/СтрокаПартии.Количество;
    Иначе
    КоэффСписания = 1;
    КонецЕсли;

    Если ЗначениеЗаполнено(СтрокаДокумента.ДокументПартии) И (СтрокаПартии.ДокументОприходования = СтрокаДокумента.ДокументПартии) Тогда
    КоличествоСписанноеПоДокументуПартии = КоличествоСписанноеПоДокументуПартии + Окр(СтрокаПартии.Количество * КоэффСписания,3,1);
    КонецЕсли;

    // Добавим новую строку
    Движение = ДобавитьДвижениеВСтруктуруПараметров(ИмяРегистра, СтруктураПараметров);

    // Свойства
    Движение.Период = СтрокаДокумента.Период;
    Движение.Регистратор = СтрокаДокумента.Регистратор;
    Движение.Активность = Истина;
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

    // Измерения
    Движение.Номенклатура = СтрокаПартии.Номенклатура;
    Движение.Организация = СтруктураПараметров.ОрганизацияУпр;

    // Ресурсы
    Движение.Количество = Окр(СтрокаПартии.Количество * КоэффСписания,3,1);
    Движение.Стоимость = Окр(СтрокаПартии.Стоимость * КоэффСписания,2,1);

    // В.Ч.
    Если ЭтоДокументПередачаТоваров Тогда
    СтрокаТчТовары = тчТовары.Получить(СтрокаДокумента.НомерСтрокиДокумента - 1);
    Если СтрокаТчТовары.СуммаРуб <> 0 Тогда
    // В.Ч. - берем точные кво и Сумму прямо из документа,
    // без приколов со средневзвешенным списанием !
    Движение.Количество = СтрокаТчТовары.Количество;
    Движение.Стоимость = СтрокаТчТовары.СуммаРуб;
    КонецЕсли;
    КонецЕсли;

    // В.Ч.
    Если ЭтоДокументКомплектацияНоменклатуры Тогда
    // СтрокаТчКомплектующие = тчКомплектующие.Получить(СтрокаДокумента.НомерСтрокиДокумента - 1);
    Если вчСуммаПередачи <> 0 Тогда
    // В.Ч. - берем точные кво и Сумму прямо из документа,
    // без приколов со средневзвешенным списанием !
    //Движение.Количество = СтрокаТчТовары.Количество;
    Движение.Стоимость = вчСуммаПередачи; // СтрокаТчКомплектующие.СуммаПередачи;
    КонецЕсли;
    КонецЕсли;
    // ============================================================­========
```
---
Если РАУЗ - расчет может проводиться и в модуле регистра УчетЗатрат, так как финальная стоимость определяется только после расчета себестоимости, а движения в документе могут быть и с нулевыми суммами (в зависимости от настроек учетной политики)
---
Спасибо за подсказку !

УправлениеЗапасамиПартионныйУчет.СписаниеПартий() : 2977

```1c
    Если СтрокаДереваПартий <> Неопределено Тогда

    // В.Ч. ПередачаТоваров (Передача Товаров)
    ЭтоДокументПередачаТоваров = Ложь;
    Если ТипЗнч(СтрокаДокумента.Регистратор) = Тип("ДокументСсылка.ПередачаТоваров") Тогда
    тчТовары = СтрокаДокумента.Регистратор.ПолучитьОбъект().Товары;
    ЭтоДокументПередачаТоваров = Истина;
    КонецЕсли;

    // В.Ч. КомплектацияНоменклатуры (Комплектация Номенклатуры)
    ЭтоДокументКомплектацияНоменклатуры = Ложь;
    Если ТипЗнч(СтрокаДокумента.Регистратор) = Тип("ДокументСсылка.КомплектацияНоменклатуры") Тогда
    тчКомплектующие = СтрокаДокумента.Регистратор.ПолучитьОбъект().Комплектующие;
    ЭтоДокументКомплектацияНоменклатуры = Истина;
    КонецЕсли;

    Для Каждого СтрокаПартииРаспределения ИЗ СтрокаДереваПартий.Строки Цикл

    // В.Ч.
    вчСуммаПередачи = 0;
    Если ЭтоДокументКомплектацияНоменклатуры Тогда
    СтрокаТчКомплектующие = тчКомплектующие.Получить(СтрокаДокумента.НомерСтрокиДокумента - 1);
    Если СтрокаТчКомплектующие.СуммаПередачи <> 0 Тогда
    // В.Ч. - берем точные кво и Сумму прямо из документа,
    // без приколов со средневзвешенным списанием !
    //Движение.Количество = СтрокаТчТовары.Количество;
    вчСуммаПередачи = СтрокаТчКомплектующие.СуммаПередачи;
    КонецЕсли;
    КонецЕсли;

    Если КоличествоОсталосьПогасить <= 0 Тогда
    // В.Ч. Если ЭтоДокументКомплектацияНоменклатуры Тогда
    Если вчСуммаПередачи = 0 Тогда
    Прервать;
    //Иначе
    // Сообщить(СтрокаДокумента.НоменклатураНовая); // Отладка
    КонецЕсли;
    КонецЕсли;

    СтрокаПартии = ПолучитьСтрокуОстатковПартий(СтрокаПартииРаспределения, СтруктураИзмерений, ТаблицаОстатковПартий);

    //АБС ВСТАВКА 18360
    // Если в партии счет учета пустой, не списывать эту партию
    Если СтрокаДокумента.ОтражатьВНалоговомУчете ИЛИ СтрокаДокумента.ОтражатьВБухгалтерскомУчете Тогда
    Если СокрЛП(Строка(СтрокаПартии.СчетУчета)) = " Тогда
    Продолжить;
    КонецЕсли;
    КонецЕсли;
    //АБС ВСТАВКА КОНЕЦ 18360

    // Количество по строке больше 0
    Если НЕ СтрокаПартии.Количество > 0 Тогда
    // В.Ч. Если ЭтоДокументКомплектацияНоменклатуры Тогда
    Если вчСуммаПередачи = 0 Тогда
    Продолжить;
    //Иначе
    // Сообщить("Продолжить "); // Отладка
    КонецЕсли;
    КонецЕсли;

    Если СтрокаДокумента.ОтражатьВНалоговомУчете
    И СтрокаДокумента.КодОперацииПартииТоваров = СтруктураПараметров.КодыОпераций.ПринятиеКУчетуОС
    И СтрокаПартии.СчетУчета = ПланыСчетов.Налоговый.МатериалыВСоставеОСвНУ тогда
    Продолжить;
    КонецЕсли;

    Если СтрокаПартии.Количество >= КоличествоОсталосьПогасить Тогда
    КоэффСписания = КоличествоОсталосьПогасить/СтрокаПартии.Количество;
    Иначе
    КоэффСписания = 1;
    КонецЕсли;

    Если ЗначениеЗаполнено(СтрокаДокумента.ДокументПартии) И (СтрокаПартии.ДокументОприходования = СтрокаДокумента.ДокументПартии) Тогда
    КоличествоСписанноеПоДокументуПартии = КоличествоСписанноеПоДокументуПартии + Окр(СтрокаПартии.Количество * КоэффСписания,3,1);
    КонецЕсли;

    // Добавим новую строку
    Движение = ДобавитьДвижениеВСтруктуруПараметров(ИмяРегистра, СтруктураПараметров);

    // Свойства
    Движение.Период = СтрокаДокумента.Период;
    Движение.Регистратор = СтрокаДокумента.Регистратор;
    Движение.Активность = Истина;
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

    // Измерения
    Движение.Номенклатура = СтрокаПартии.Номенклатура;
    Движение.Организация = СтруктураПараметров.ОрганизацияУпр;

    // Ресурсы
    Движение.Количество = Окр(СтрокаПартии.Количество * КоэффСписания,3,1);
    Движение.Стоимость = Окр(СтрокаПартии.Стоимость * КоэффСписания,2,1);

    // В.Ч.
    Если ЭтоДокументПередачаТоваров Тогда
    СтрокаТчТовары = тчТовары.Получить(СтрокаДокумента.НомерСтрокиДокумента - 1);
    Если СтрокаТчТовары.СуммаРуб <> 0 Тогда
    // В.Ч. - берем точные кво и Сумму прямо из документа,
    // без приколов со средневзвешенным списанием !
    Движение.Количество = СтрокаТчТовары.Количество;
    Движение.Стоимость = СтрокаТчТовары.СуммаРуб;
    КонецЕсли;
    КонецЕсли;

    // В.Ч.
    Если ЭтоДокументКомплектацияНоменклатуры Тогда
    // СтрокаТчКомплектующие = тчКомплектующие.Получить(СтрокаДокумента.НомерСтрокиДокумента - 1);
    Если вчСуммаПередачи <> 0 Тогда
    // В.Ч. - берем точные кво и Сумму прямо из документа,
    // без приколов со средневзвешенным списанием !
    //Движение.Количество = СтрокаТчТовары.Количество;
    Движение.Стоимость = вчСуммаПередачи; // СтрокаТчКомплектующие.СуммаПередачи;
    КонецЕсли;
    КонецЕсли;
    // ============================================================­========
```