СтавкаНДС = об.СтавкаНДС;

СтрСтавкаНДС = Сред(Олеобъект.База.ПолучитьПолноеИмяПредопределенногоЗначения(СтавкаНДС), СтрДлина(СтавкаНДС.метаданные().ПолноеИмя()) + 2);

СтавкаНДСВЗакупках = Перечисления.СтавкиНДС[СтрСтавкаНДС];

структСправ.Вставить("СтавкаНДС", СтавкаНДСВЗакупках);

Пытаюсь записать ставку НДС переданную через оле, ПолучитьПолноеИмяПредопределенногоЗначения не работает, СтавкаНДС имеет значение COMОбъект, может кто знает как правильно реализовать?
---
```1c
    СтрСтавкаНДС = Олеобъект.База.xmlstring(СтавкаНДС);
```
---
```1c
    СтавкаНДС = об.СтавкаНДС;
    СтрСтавкаНДС = Олеобъект.xmlstring(СтавкаНДС);
    СтавкаНДСВЗакупках = Перечисления.СтавкиНДС[СтрСтавкаНДС];
```
---
та же ошибка, метод объекта не обнаружен
---
тогда давайте весь код и полный текст ошибки.
---
И начните с олеобъекта - там у вас явно хрень какая-то, а не коннектор.
---
ОЛЕобъект.xmlstring(СтавкаНДС) {(1)}: Метод объекта не обнаружен (xmlstring)

```1c
    ИначеЕсли ИмяОбъекта = "Номенклатура" Тогда

    структСправ = Новый Структура("Имя, УИД, Наименование, Ссылка", ИмяОбъекта,
    ОЛЕобъект.База.string(об.ссылка.УникальныйИдентификатор()), об.Наименование);

    структСправ.Вставить("ЭтоГруппа", об.ЭтоГруппа);
    Если об.ЭтоГруппа Тогда
    структСправ.Вставить("Ссылка", об.ссылка);
    КонецЕсли;

    Если Не об.Родитель.Пустая() Тогда
    структСправ.Вставить("Родитель", Новый Структура("ОЛЕгруппа", об.Родитель));
    КонецЕсли;
    Если Не об.ЭтоГруппа Тогда

    КомментарийПоЗагрузке = "Загружено из УПП";

    структСправ.Вставить("Наименование", об.Наименование);
    структСправ.Вставить("НаименованиеПолное", об.НаименованиеПолное);
    структСправ.Вставить("Артикул", об.Артикул);
    структСправ.Вставить("Комментарий", КомментарийПоЗагрузке);
    Попытка
    СтавкаНДС = об.СтавкаНДС;

    СтрСтавкаНДС = ОЛЕобъект.xmlstring(СтавкаНДС);
    СтавкаНДСВЗакупках = Перечисления.СтавкиНДС[СтрСтавкаНДС];
    структСправ.Вставить("СтавкаНДС", СтавкаНДСВЗакупках);
    ЕдИзмСтрока = Строка(об.БазоваяЕдиницаИзмерения.Наименование) ;
    ЕдИзм = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдИзмСтрока);
    Если Не ЕдИзм.Пустая() Тогда
    структСправ.Вставить("ЕдиницаИзмерения", ЕдИзм);
    КонецЕсли;
    Исключение
    КонецПопытки;
    КонецЕсли;
```
---
```1c
    СтрСтавкаНДС = Олеобъект.База.xmlstring(СтавкаНДС);
```
---
спасибо, помогло
---
нужно использовать функцию перебора метаданных в оле.
Так получится строка, которую уже можно анализировать на клиенте.
Такое решение это костыль.
---
нужно использовать функцию перебора метаданных в оле.
Так получится строка, которую уже можно анализировать на клиенте.
Такое решение это костыль.
Действительно костыль? Для получения имени значения перечисления? Так может достаточно СП прочитать?
XMLСтрока (XMLString)
...
Описание:
Получает XML представление значения для помещения в текст элемента или значение атрибута XML.
XML представление зависит от типа значения:
...
Значение системного перечисления (для перечислений, поддерживающих XML сериализацию) - как имя значения перечисления;
...
---
на днях решал такую же задачу, только без оле.
Данный метод считаю костылем.
Если сериализация станет работать иначе, то придется делать допил.
Если можно сразу сделать, что допил не понадобится?
---
Данный метод считаю костылем.
Если сериализация станет работать иначе, то придется делать допил.
Если можно сразу сделать, что допил не понадобится?
Если исходить из такой логики, то программировать вообще не стоит, может же поменяться поведение у любых методов.
В общем даже не смешно.
А получение такого же результата, вместо одной простой команды, использовать несколько сложных... вот это костыль.

xmlstring работает с 8.0. Сериализация перечислений никогда не менялось.
---
"База" убери. Это метод глобального контекста, он должен работать на самом COM-Коннекторе.
---
та же самая ошибка
---
а не пробовали обратиться через метаданные? что то типа СтавкаНДС.Метаданные().Имя
---
ну вот это как понимаю то что нужно в переменной СтрСтавкаНДС
а понял, странно как то отработало...
---
Программисты фирмы1С знают толк в извращениях...
В начале-середине нулевых, видел решения Клиент-серверной БД, так там клиент работал по диалапу и таких извращений как в 1С не применялось от слова совсем...
Не говорю уж об минималистическом и крайне дружелюбном междумордии, про что по моему после Windows 7 окончательно забыли все и фирма 1С тоже.