|
Перечисление через COM соединение |
☑ |
0
Rastaman55
21.09.16
✎
18:03
|
Подключаюсь по Сom из 8.3 к 7.7
Док = База.CreateObject("Документ.РасходнаяНакладная");
Пока Док.ПолучитьДокумент() = 1 Цикл
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
дальше пытаюсь получить значение док.Товар.СтавкаНДС который в 7.7 имеет тип перечисления.ЗначенияНДС
Док.Товар.СтавкаНДС.Идентификатор();
Док.Товар.СтавкаНДС.ПорядковыйНомер(); не работают пишет метод не обнаружен
Как еще можно получить строку или номер из перечисления данного реквизита документа?
|
|
1
Torquader
21.09.16
✎
21:40
|
Попробуй английскими синонимами воспользоваться.
|
|
2
Torquader
21.09.16
✎
21:41
|
А ещё я делал так - загонят в список значений все значения перечисления и просил найти элемент в списке - 1С-то свой элемент понять может - и должна найти - если не нашла, то значение пустое.
|
|
3
Guk
21.09.16
✎
21:55
|
вообще
ЗначениеПоИдентификатору(<?>)
ValueByIdentifier(<?>)
Синтаксис:
ЗначениеПоИдентификатору(<Идентификатор>)
Назначение:
Возвращает значение перечисления, соответствующее идентификатору в конфигураторе. Если не найдено - то пустое значение.
Параметры:
<Идентификатор> - строковое выражение. Идентификатор значения перечисления, заданный в конфигураторе.
только есть у меня сомнение, что в 8.3 идентификатор или порядковый номер совпадает с идентификатором или порядковым номером в 7.7...
|
|
4
Torquader
22.09.16
✎
00:04
|
(3) В чём проблема - берём и через метаданные вычитываем из семёрки все идентификаторы перечисления - и делаем с ними всё, что хочется.
|
|
5
Rastaman55
22.09.16
✎
10:25
|
То что вы предлагаете это уже конечный шаг когда известен номер, идентификатор или значение в виде строки, а как собственно при таком подключении получить эти данные вначале? Все что есть это Док.Товар.СтавкаНДС который 1с сообщает как COM объект, что с ним можно сделать чтобы как то его идентифицировать?
Пробовал
Если
Док.Товар.СтавкаНДС= База.Перечисление.ЗначенияНДС.ОсновнаяСтавкаНДС тогда
так тоже не работает
|
|
6
Torquader
22.09.16
✎
10:51
|
(5) Сделай список или таблицу со всеми значениями и попробуй своё значение найти в ней через НайтиЗначение.
|
|
7
Rastaman55
22.09.16
✎
11:18
|
Один человек подсказал, всего то метод дописать изза того что это периодический тип в 1с 7.7, а я неск часов не мог разобраться.
ЗначениеСтавки=Док.Товар.СтавкаНДС.Получить().Идентификатор();
Сообщить(ЗначениеСтавки);
Сообщило- ОсновнаяСтавкаНДС,
дальше уже сделаю соответствие в базе данному тексту.
|
|