Метод объекта не обаружен

1. user1245197 19.07.21 14:29 Сейчас в теме
СтавкаНДС = об.СтавкаНДС;

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

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

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


Пытаюсь записать ставку НДС переданную через оле, ПолучитьПолноеИмяПредопределенногоЗначения не работает, СтавкаНДС имеет значение COMОбъект, может кто знает как правильно реализовать?
Прикрепленные файлы:
Найденные решения
10. spacecraft 19.07.21 15:47 Сейчас в теме
(9)
 СтрСтавкаНДС = Олеобъект.База.xmlstring(СтавкаНДС);
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. spacecraft 19.07.21 15:00 Сейчас в теме
(1)
СтавкаНДС = об.СтавкаНДС;
СтрСтавкаНДС = Олеобъект.xmlstring(СтавкаНДС);
СтавкаНДСВЗакупках = Перечисления.СтавкиНДС[СтрСтавкаНДС];
5. user1245197 19.07.21 15:08 Сейчас в теме
(4)та же ошибка, метод объекта не обнаружен
6. spacecraft 19.07.21 15:13 Сейчас в теме
(5) тогда давайте весь код и полный текст ошибки.
8. FatPanzer 19.07.21 15:35 Сейчас в теме
И начните с олеобъекта - там у вас явно хрень какая-то, а не коннектор.
9. user1245197 19.07.21 15:44 Сейчас в теме
(6)ОЛЕобъект.xmlstring(СтавкаНДС) {(1)}: Метод объекта не обнаружен (xmlstring)


ИначеЕсли ИмяОбъекта = "Номенклатура" Тогда
			
			
			структСправ = Новый Структура("Имя, УИД, Наименование, Ссылка", ИмяОбъекта, 
                        ОЛЕобъект.База.string(об.ссылка.УникальныйИдентификатор()), об.Наименование);
			
			структСправ.Вставить("ЭтоГруппа", об.ЭтоГруппа);
			Если об.ЭтоГруппа Тогда
				структСправ.Вставить("Ссылка", об.ссылка);
			КонецЕсли;
			
			Если Не об.Родитель.Пустая() Тогда 
				структСправ.Вставить("Родитель", Новый Структура("ОЛЕгруппа", об.Родитель));
			КонецЕсли;
			Если Не об.ЭтоГруппа Тогда 
				
				КомментарийПоЗагрузке = "Загружено из УПП";
				
				структСправ.Вставить("Наименование", об.Наименование);
				структСправ.Вставить("НаименованиеПолное", об.НаименованиеПолное);
				структСправ.Вставить("Артикул", об.Артикул);
				структСправ.Вставить("Комментарий", КомментарийПоЗагрузке);
				Попытка
		                        СтавкаНДС = об.СтавкаНДС;

					СтрСтавкаНДС = ОЛЕобъект.xmlstring(СтавкаНДС);
					СтавкаНДСВЗакупках = Перечисления.СтавкиНДС[СтрСтавкаНДС];
					структСправ.Вставить("СтавкаНДС", СтавкаНДСВЗакупках);
					ЕдИзмСтрока = Строка(об.БазоваяЕдиницаИзмерения.Наименование) ;
					ЕдИзм = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдИзмСтрока);
					Если Не ЕдИзм.Пустая() Тогда
						структСправ.Вставить("ЕдиницаИзмерения", ЕдИзм);
					КонецЕсли;
				Исключение
				КонецПопытки;
			КонецЕсли;
Показать
Прикрепленные файлы:
10. spacecraft 19.07.21 15:47 Сейчас в теме
(9)
 СтрСтавкаНДС = Олеобъект.База.xmlstring(СтавкаНДС);
12. user1245197 19.07.21 15:48 Сейчас в теме
14. Xershi 1536 19.07.21 19:01 Сейчас в теме
(10) нужно использовать функцию перебора метаданных в оле.
Так получится строка, которую уже можно анализировать на клиенте.
Такое решение это костыль.
15. spacecraft 19.07.21 19:43 Сейчас в теме
(14)
нужно использовать функцию перебора метаданных в оле.
Так получится строка, которую уже можно анализировать на клиенте.
Такое решение это костыль.

Действительно костыль? Для получения имени значения перечисления? Так может достаточно СП прочитать?
XMLСтрока (XMLString)
...
Описание:
Получает XML представление значения для помещения в текст элемента или значение атрибута XML.
XML представление зависит от типа значения:
...
Значение системного перечисления (для перечислений, поддерживающих XML сериализацию) - как имя значения перечисления;
...
16. Xershi 1536 20.07.21 11:12 Сейчас в теме
(15) на днях решал такую же задачу, только без оле.
Данный метод считаю костылем.
Если сериализация станет работать иначе, то придется делать допил.
Если можно сразу сделать, что допил не понадобится?
17. spacecraft 20.07.21 11:22 Сейчас в теме
(16)
Данный метод считаю костылем.
Если сериализация станет работать иначе, то придется делать допил.
Если можно сразу сделать, что допил не понадобится?

Если исходить из такой логики, то программировать вообще не стоит, может же поменяться поведение у любых методов.
В общем даже не смешно.
А получение такого же результата, вместо одной простой команды, использовать несколько сложных... вот это костыль.

xmlstring работает с 8.0. Сериализация перечислений никогда не менялось.
2. FatPanzer 19.07.21 14:36 Сейчас в теме
"База" убери. Это метод глобального контекста, он должен работать на самом COM-Коннекторе.
3. user1245197 19.07.21 14:50 Сейчас в теме
7. OiSorry 19.07.21 15:33 Сейчас в теме
а не пробовали обратиться через метаданные? что то типа СтавкаНДС.Метаданные().Имя
11. user1245197 19.07.21 15:48 Сейчас в теме
(7)
Прикрепленные файлы:
13. OiSorry 19.07.21 15:55 Сейчас в теме
(11) ну вот это как понимаю то что нужно в переменной СтрСтавкаНДС
а понял, странно как то отработало...
18. Farpost 116 09.03.25 15:50 Сейчас в теме
Программисты фирмы1С знают толк в извращениях...
В начале-середине нулевых, видел решения Клиент-серверной БД, так там клиент работал по диалапу и таких извращений как в 1С не применялось от слова совсем...
Не говорю уж об минималистическом и крайне дружелюбном междумордии, про что по моему после Windows 7 окончательно забыли все и фирма 1С тоже.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот