Вход | Регистрация


Перечисление через COM соединение

Перечисление через COM соединение
Я
   Rastaman55
 
21.09.16 - 18:03
Подключаюсь по Сom из 8.3 к 7.7
Док = База.CreateObject("Документ.РасходнаяНакладная"); 
Пока Док.ПолучитьДокумент() = 1 Цикл
 Док.ВыбратьСтроки();
            Пока Док.ПолучитьСтроку()=1 Цикл
дальше пытаюсь получить значение док.Товар.СтавкаНДС который в 7.7 имеет тип перечисления.ЗначенияНДС
Док.Товар.СтавкаНДС.Идентификатор();
Док.Товар.СтавкаНДС.ПорядковыйНомер(); не работают пишет метод не обнаружен

Как еще можно получить строку или номер из перечисления данного реквизита документа?
 
 
   Torquader
 
1 - 21.09.16 - 21:40
Попробуй английскими синонимами воспользоваться.
   Torquader
 
2 - 21.09.16 - 21:41
А ещё я делал так - загонят в список значений все значения перечисления и просил найти элемент в списке - 1С-то свой элемент понять может - и должна найти - если не нашла, то значение пустое.
   Guk
 
3 - 21.09.16 - 21:55
вообще
ЗначениеПоИдентификатору(<?>)
ValueByIdentifier(<?>)
Синтаксис:
ЗначениеПоИдентификатору(<Идентификатор>)
Назначение:
Возвращает значение перечисления, соответствующее идентификатору в конфигураторе. Если не найдено - то пустое значение.
Параметры:
<Идентификатор> - строковое выражение. Идентификатор значения перечисления, заданный в конфигураторе.

только есть у меня сомнение, что в 8.3 идентификатор или порядковый номер совпадает с идентификатором или порядковым номером в 7.7...
   Torquader
 
4 - 22.09.16 - 00:04
(3) В чём проблема - берём и через метаданные вычитываем из семёрки все идентификаторы перечисления - и делаем с ними всё, что хочется.
   Rastaman55
 
5 - 22.09.16 - 10:25
То что вы предлагаете это уже конечный шаг когда известен номер, идентификатор или значение в виде строки, а как собственно при таком подключении получить эти данные вначале? Все что есть это Док.Товар.СтавкаНДС который 1с сообщает как COM объект, что с ним можно сделать чтобы как то его идентифицировать?
Пробовал
Если
Док.Товар.СтавкаНДС= База.Перечисление.ЗначенияНДС.ОсновнаяСтавкаНДС тогда

так тоже не работает
   Torquader
 
6 - 22.09.16 - 10:51
(5) Сделай список или таблицу со всеми значениями и попробуй своё значение найти в ней через НайтиЗначение.
   Rastaman55
 
7 - 22.09.16 - 11:18
Один человек подсказал, всего то метод дописать изза того что это периодический тип в 1с 7.7, а я неск часов не мог разобраться.
ЗначениеСтавки=Док.Товар.СтавкаНДС.Получить().Идентификатор();
Сообщить(ЗначениеСтавки);

Сообщило- ОсновнаяСтавкаНДС, 
дальше уже сделаю соответствие в базе данному тексту.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует