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