Eeelena
1)
для тех товаров что уже есть в каркасной базе не выбрано услуга это или товар
2)
Номенклатура В
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ДокТЧ.Номенклатура
ИЗ
ДокТЧ КАК ДокТЧ
ГДЕ
ДокТЧ.Номенклатура.ВидНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга))
это параметры ВТ регистра
зачем писать ВЫБРАТЬ РАЗЛИЧНЫЕ если вы уже и так их сгруппировали?
3)
нужно использовать isnull (ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0)
4)
сообщение об ошибке не привязывается к строке
5)
у вас введена одна ПН. Как же можно тестировать очерёдность списания по партиям если она одна?
детально, с введением своих данных не проверял, выкладываю своё решение, можете сравнить
и покритиковать если что-то не так