|
v7: Подключение по оле к 8.3 | ☑ | ||
---|---|---|---|---|
0
LisaAlisa
02.02.16
✎
17:08
|
Добрый день!
Подключение проходит успешно, но почему-то запрос пустой, ТЗ не заполняется ИБ_V8= СоздатьОбъект("V83.Application"); Попытка Открыта=ИБ_V8.Connect("Srvr="""+СокрЛП(ИмяСервера)+""";Ref="""+СокрЛП(ИмяБазы)+""";Usr="""+СокрЛП(Логин)+""";Pwd = """ + СокрЛП(Пасворд) + """;"); ИБ_V8.Visible = 0; Сообщить("База 1с8 открыта!"); Исключение Предупреждение("Ошибка открытия базы V8 - "+ОписаниеОшибки()); КонецПопытки; Запрос=ИБ_V8.NewOBJECT("Запрос"); Запрос.Текст = "ВЫБРАТЬ | СтраныМира.Код, | СтраныМира.Наименование, | СтраныМира.КодАльфа2, | СтраныМира.КодАльфа3 |ИЗ | Справочник.СтраныМира КАК СтраныМира"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() = 1 Цикл ТаблицаСтран.НоваяСтрока(); ТаблицаСтран.Код_1с8 = СокрЛП(Выборка.Код); ТаблицаСтран.КодАльфа2_1с8 = СокрЛП(Выборка.КодАльфа2); ТаблицаСтран.КодАльфа3_1с8 = СокрЛП(Выборка.КодАльфа3); ТаблицаСтран.Наименование_1с8 = СокрЛП(Выборка.Наименование); КонецЦикла; |
|||
1
DmitrO
02.02.16
✎
17:14
|
ставлю на
Выборка.Следующий() = -1 |
|||
2
LisaAlisa
02.02.16
✎
17:15
|
(1) почему?
|
|||
3
DmitrO
02.02.16
✎
17:18
|
потому что значение типа VT_BOOL платформа 1С7 конвертирует в число:
VARIANT_TRUE = -1 VARIANT_FALSE = 0 |
|||
4
LisaAlisa
02.02.16
✎
17:21
|
(3) большое спасибо!!!
особенно за то, что не поленились объяснить |
|||
5
DmitrO
02.02.16
✎
17:26
|
исходный код:
/* 0 == FALSE, -1 == TRUE */ typedef short VARIANT_BOOL; #define VARIANT_TRUE ((VARIANT_BOOL)-1) #define VARIANT_FALSE ((VARIANT_BOOL)0) булевый тип в COM, это 16 разрядное знаковое число, для Истина все биты заполнены, для Ложь все биты сняты. А 7.7, по простоте душевной числом его и передает, и по скольку число вроде как знаковое, то -1 в дополнительном двоичном коде и есть все биты установлены (0xFFFF). |
|||
6
DmitrO
02.02.16
✎
17:27
|
чета я сегодня разболтался..
|
|||
7
Serginio1
02.02.16
✎
17:37
|
(6) Или что бы мозги не пудрить
Выборка.Следующий() <> 0 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |