Получить имя справочника из типа вида субконто через COM
☑
0
Pro-tone
01.12.11
✎
17:16
Требуется строка имени справочника.
В общем пишу такое:
Если Параметры.ВидСправочника = "Субконто" Тогда
//тут получим справочник 1го субконто
СчетБУ = Параметры.СчетБУ;
СчетБУ_Внешн = ВнешняяБаза.ПланыСчетов.Хозрасчетный.НайтиПоКоду(СчетБУ.Код).ПолучитьОбъект();
ВидыСубконто_Внешн = СчетБУ_Внешн.ВидыСубконто;
ВидСубконто_ВнешнСтрока_1 = ВидыСубконто_Внешн.Получить(0);
ТипВидаСубконто_Внешн = ВидСубконто_ВнешнСтрока_1.ВидСубконто.ТипЗначения;
//
КонецЕсли;
При этом заглянув в
ВнешняяБаза.String(ВидСубконто_ВнешнСтрока_1.ВидСубконто.ТипЗначения) дает "Справочник ссылка: Прочие доходы и расходы".
А мне надо имя его такое - "ПрочиеДоходыИРасходы".
Как мне получить такое имя ?
1
hhhh
01.12.11
✎
17:21
XMLString
2
Pro-tone
01.12.11
✎
17:26
ВнешняяБаза.XMLString(ВидСубконто_ВнешнСтрока_1.ВидСубконто.ТипЗначения) - ошибка при вызове метода контекста XMLString(
3
Pro-tone
01.12.11
✎
17:44
.
4
Infsams654
01.12.11
✎
18:34
Ну тогда
перебором по всем известным субконто
Если ВидСубконто_ВнешнСтрока_1.ВидСубконто.ТипЗначения.СодержитТип(Тип("Спр...") Тогда
5
Жан Пердежон
01.12.11
✎
18:49
Метаданные.НайтиПоТипу(ТипЗначения.Типы()[0]).Имя
6
Pro-tone
02.12.11
✎
09:24
(4) думаю так будет работать, но я все же сделал как предложил (5), только немного подправив код вот так:
ТипВидаСубконто_Внешн = ВидСубконто_ВнешнСтрока_1.ВидСубконто.ТипЗначения;
ИмяТипаВнешн = ВнешняяБаза.String(ВнешняяБаза.Метаданные.НайтиПоТипу(ТипВидаСубконто_Внешн.Типы().Получить(0)).Имя);
Спасибо !!!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший