Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Июн 2021, 09:39
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
МультиВход
 
collapse

Автор Тема: 1С 8.3+Java+jacob Узнать тип поля в результате запроса  (Прочитано 2928 раз)

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

Оффлайн belchanin

  • *
  • Регистрация: 2017-03-14
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
Есть код ...

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

  • *****
  • Регистрация: 2012-05-16
  • Сообщений: 2564
  • РЕПУТАЦИЯ: 820
  • КПД: 32%
  • Профессия: Программист 1С
а зачем вам типы данных? тем более 1С-ные?
простые типы данных (Строка, Число, Дата, ...) вы и так сможете обработать
а различные Ссылки (Типы) зачем они вам?
превращайте их в строки с помощью агрегатной функции
ПредставлениеСсылки()

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

Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн belchanin

  • *
  • Регистрация: 2017-03-14
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
а зачем вам типы данных? тем более 1С-ные?
простые типы данных (Строка, Число, Дата, ...) вы и так сможете обработать
а различные Ссылки (Типы) зачем они вам?
превращайте их в строки с помощью агрегатной функции
ПредставлениеСсылки()

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


Теги: JAVA jacob 
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Последние вакансии

* Том 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
72 Сообщений
LexaK
62 Сообщений
antoneus antoneus
31 Сообщений
Ивашка
27 Сообщений
KATERINA 861
23 Сообщений
neek666
22 Сообщений
SSC
15 Сообщений
alexandr_ll
15 Сообщений
Алексей_1985_06
11 Сообщений
pouyo
8 Сообщений

* Кто онлайн

  • Точка Гостей: 230
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Инструменты

* Дополнительно

Поиск