0
Misty
13.12.19
✎
05:30
|
Добрый день. Подключаюсь к базе УТ 11.4 через COM соединение. Задача: из поступления товаров и услуг необходимо получить значение реквизита "НалогообложениеНДС" тип "ПеречислениеСсылка.ТипыНалогообложенияНДС".
trade = Новый COMобъект("V83.Application");
trade.Connect(СтрокаПодключения);
Док = trade.Документы.ПриобретениеТоваровУслуг.НайтиПоНомеру("111");
Документ находится, реквизиты считываются, а налогообложениеНДС никак. В торговле установлено какое то соответствие для поступления товаров и услуг у этого реквизита, как то так:
ПредставлениеПродажаОблагаетсяНДС = НСтр("ru = 'Закупка облагается НДС'")
Представления.Вставить(Перечисления.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС, ПредставлениеПродажаОблагаетсяНДС);
ПредставлениеПродажаНеОблагаетсяНДС = НСтр("ru = 'Продажа не облагается НДС'");
Представления.Вставить(Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС, ПредставлениеПродажаНеОблагаетсяНДС);
И видно из за этого??? не работает конструкция
Если Док.НалогообложениеНДС = trade.Перечисления.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС тогда
//дейтсвие 1
Если Док.НалогообложениеНДС = trade.Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС тогда
//действие2
Хотя если я такое условие пишу в самой торговле, то там сравнение корректно и работает.
Как мне правильно написать код?
Спасибо
|
|
4
1ctube
13.12.19
✎
06:38
|
Через COM передаются только примитивные типы (число и строка), а не ссылки на метаданные.
Нагуглил пример: Ном = COM_ОбъектБД.Перечисления.ВидыТМЦ.Индекс(COM_ЭлементСправочника.Перечисление);
Имя = COM_ОбъектБД.Метаданные().Перечисления.ВидПеречисления.EnumValues.Get(Ном).Name;
|
|