Если на счете 401.10.х.х заведено субконто "Детализация ЭКР" (вид субконто "Детализация ЭКР", тип "Справочник.ДетализацияЭКР"), то, в режиме заполнения невозможно выбрать значение субконто. Открывается форма выбора без установки владельца. По кнопке F7 можно выбрать правильное значение с указанием владельца, но в таком случае выбранные значения присвоятся всем строкам. На иллюстрации пример, когда такой способ заполнения недопустим, и нужно явно задавать значения. В одной строке КОСГУ 180, в других 130.
Ошибка кроется в обработке "ПодборЗатратПоУслугам" в процедуре "ВыбратьСубконтоДебета":
Если ТипОбъекта = "Справочник" Тогда
Объект = СоздатьОбъект(ТипСубконто);
Если Объект.Выбрать("Выберите элемент", "ФормаСписка") = 0 Тогда
Возврат 0;
КонецЕсли;
ТабУслуг.УстановитьЗначение(НомСтр,ИмяКол,Объект.ТекущийЭлемент());
Как видно, никаких проверок на наличие подчиненности не производится.
Исправленный вариант выглядит так:
Если ТипОбъекта = "Справочник" Тогда
//--dem
Объект = СоздатьОбъект(ТипСубконто);
ТипВладельца = Метаданные.Справочник(СтрЗаменить(ТипСубконто,"Справочник.","")).Владелец;
Если ПустоеЗначение(ТипВладельца)=0 Тогда
СтрТипВладельца = "Справочник."+ТипВладельца.Идентификатор;
СпрВладелец = СоздатьОбъект("Справочник."+ТипВладельца.Идентификатор);
Для а =1 По ТекСч.КоличествоСубконто() Цикл
Если ТекСч.ВидСубконто(а).ТипСубконто()=СтрТипВладельца Тогда
СпрВладелец.НайтиЭлемент(ТабУслуг.ПолучитьЗначение(НомСтр,3+а));
Объект.ИспользоватьВладельца(СпрВладелец.ТекущийЭлемент());
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
//--dem
Если Объект.Выбрать("Выберите элемент", "ФормаСписка") = 0 Тогда
Возврат 0;
КонецЕсли;
ТабУслуг.УстановитьЗначение(НомСтр,ИмяКол,Объект.ТекущийЭлемент());
Буду рад, если кому-то пригодится.