|
Выборка запроса в delphi к 1С | ☑ | ||
---|---|---|---|---|
0
AndreyV62
28.06.16
✎
15:46
|
Connector := CreateOleObject('V82.COMConnector');
Server := Connector.Connect(ConnStr); Query := Server.NewObject('Запрос'); Query.Text := SQL; Rslt := Query.Execute(); Choose := Rslt.Choose(); //пример пробежки, но как значения поместить в Dbgrid while Choose.Next() do begin ShowMessage( String(Choose.GUID)); end; |
|||
1
vde69
28.06.16
✎
15:50
|
ты хвастаешь или чего? в чем вопрос?
|
|||
2
Ёпрст
28.06.16
✎
16:01
|
(1) но как значения поместить в Dbgrid?
|
|||
3
Sonny
28.06.16
✎
16:02
|
(0) А на Фортране можешь? Или хотя бы Фокспро.
|
|||
4
vde69
28.06.16
✎
16:04
|
(2) на сколько мне не изменяет склероз все Db____ работают только с источниками данных, то есть ему нужен DBE источник к 1с, тогда все просто будет, но 1с это не поддерживает...
по этому сабж не решается без эмуляции драйвера, что автору явно не под силу... автору советую взять обычный грид и пихать данные в него... |
|||
5
mehfk
28.06.16
✎
16:06
|
Задание в учебнике: Дано (0). Придумай вопрос и реши задачу.
|
|||
6
vde69
28.06.16
✎
16:07
|
(4) +
то есть отказаться от динамической таблицы в пользу обычной... ну и второе почему это именно так: дбгрид это компонент не для показа а для редактирования источника данных, то есть он обратно должен иметь апдейты :) |
|||
7
Господин ПЖ
28.06.16
✎
16:07
|
>автору советую взять обычный грид и пихать данные в него...
+1 dbgrid скорее всего забинден на какой-нибудь рекодсет, описываемый в его свойствах = провайдер + запрос |
|||
8
vde69
28.06.16
✎
16:08
|
(7) так и есть, там требуется DBE провайдер...
|
|||
9
Sonny
28.06.16
✎
16:13
|
BDE, а не DBE.
Хорошо, что студенты нынче не используют это скопище мерзости. Столько дряного софта на нем понаписали, до сих пор еще не сдох кое-где. |
|||
10
AndreyV62
28.06.16
✎
16:15
|
Я взял это с форума. Но кусок
ShowMessage( String(Choose.GUID)); даёт ошибку. 'Method 'GUID' not supported by automation object'. В чём может быть проблема? |
|||
11
Зая Бусечка
28.06.16
✎
16:16
|
А что такое GUID в твоём запросе?
|
|||
12
AndreyV62
28.06.16
✎
16:28
|
Сложно сказать.
Подскажите как вывести допустим первую колонку запроса. |
|||
13
Ёпрст
28.06.16
✎
16:28
|
(12) ты текст запроса то покажи хоть
|
|||
14
vde69
28.06.16
✎
16:29
|
(12) в отладчике посмотри чему равен Query.Text
и выведи сюда.... |
|||
15
Ёпрст
28.06.16
✎
16:29
|
+13 если не знаешь что это, подсказываю
Query.Text := SQL; ShowMessage( SQL); //показывай |
|||
16
AndreyV62
28.06.16
✎
16:39
|
SQL := 'Выбрать первые 10 ССылка как Доверенность, Номер,Дата из Документ.Доверенность';
|
|||
17
vde69
28.06.16
✎
16:41
|
(16) это не запрос а мусор...
выбрать от куда??? отсутствует "ИЗ" |
|||
18
Dotoshin
28.06.16
✎
16:42
|
(17) не отсутствует - из Документ.Доверенность
|
|||
19
vde69
28.06.16
✎
16:42
|
(17) стоп, я лоханулся :)
но запрос все равно неверный... |
|||
20
Зая Бусечка
28.06.16
✎
16:43
|
(16) И где там GUID?
|
|||
21
AndreyV62
28.06.16
✎
16:43
|
SQL := 'Выбрать первые 10 ССылка как Доверенность, Номер,Дата ИЗ Документ.Доверенность';
Нормально отрабатывает из консоли запросов 1С |
|||
22
Dotoshin
28.06.16
✎
16:43
|
(16) У тебя первая колонка называется - Доверенность, вместо русскоязычных псевдонимов полей нужно написать англоязычные, тогда к ним можно будет обратиться из дельфей
|
|||
23
Dotoshin
28.06.16
✎
16:45
|
Например вместо ССылка как Доверенность напиши ССылка как GUID
|
|||
24
vde69
28.06.16
✎
16:46
|
(23) это поле какой таблицы??? таблицу забыли поименовать...
|
|||
25
Dotoshin
28.06.16
✎
16:49
|
(24) Ок.
Тогда так:SQL := 'Выбрать первые 10 ДокументДоверенность.ССылка как GUID, Номер,Дата ИЗ Документ.Доверенность как ДокументДоверенность'; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |