Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 апр 2024, 04:42

1С 8.3+Java+jacob Узнать тип поля в результате запроса

Автор belchanin, 14 мар 2017, 11:40

0 Пользователей и 1 гость просматривают эту тему.

belchanin

Есть код ...

ActiveXComponent v8App;
Variant connection1C;

v8App = new ActiveXComponent("v83.Application");

String conString = "File=ХХХХХ;Usr=ХХХХ;Pwd=ХХХХ";
connection1C = Dispatch.call(v8App, "Connect", conString);

Dispatch query = (Dispatch) Dispatch.call(v8App, "NewObject", "Query").getDispatch();
Dispatch.put(query, "Text", "SELECT * FROM Справочник.Transformers AS Items");

Dispatch result = Dispatch.call(query, "Execute").toDispatch();
if(!Dispatch.call(result, "IsEmpty").getBoolean())
{
       Dispatch qcol= Dispatch.get(result, "Columns").getDispatch();

        for(int i=0; i<scol.length;i++)
        {
              int qtype=Dispatch.call(Dispatch.call(Dispatch.call(Dispatch.call(qcol, "Get", i).getDispatch(), "ValueType").getDispatch(), "Types").getDispatch(), "Count").getInt();
              for(int j=0; j<qtype; j++)
                   System.out.println(String.valueOf(System.out.println(Dispatch.call(Dispatch.call(Dispatch.call(Dispatch.call(qcol, "Get", i).getDispatch(), "ValueType").getDispatch(), "Types").getDispatch(), "Get", j).getvt()));
        }
}

Для всех колонок возвращается тип 9 (VariantDispatch = 9) ... как же узнать реальный тип колонки ... буду очень признателен за помощь ... 
PS Прошу прощения если влез не в ту тему со своим вопросом, но более подходящей не нашел ...

LexaK

а зачем вам типы данных? тем более 1С-ные?
простые типы данных (Строка, Число, Дата, ...) вы и так сможете обработать
а различные Ссылки (Типы) зачем они вам?
превращайте их в строки с помощью агрегатной функции
ПредставлениеСсылки()

или вообще все значения полей запроса получайте в виде строки, используйте
Представление()

если помогло нажмите: Спасибо!

belchanin

Цитата: LexaK от 14 мар 2017, 12:36
а зачем вам типы данных? тем более 1С-ные?
простые типы данных (Строка, Число, Дата, ...) вы и так сможете обработать
а различные Ссылки (Типы) зачем они вам?
превращайте их в строки с помощью агрегатной функции
ПредставлениеСсылки()

или вообще все значения полей запроса получайте в виде строки, используйте
Представление()
Мне хоть какие-то типы вытащить из результата запроса, 1С или Java ... соответствие пропишу при необходимости, для написания одного класса, который получает данные от 1С и формирует ResultSet, который, в дальнейшем, интегрируется в существующие классы проекта ...

Теги: JAVA jacob 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск