|
v7: Прямой запрос из 1с 7.7 к другой базе 1с 7.7 | ☑ | ||
---|---|---|---|---|
0
iJuni
20.02.18
✎
13:36
|
Есть две базы, хочу с одной базы делать прямые запросы в другую.
Есть следующий код, который частично работает: Функция Подключение() БазаОле=СоздатьОбъект("V77.Application"); КаталогБазыОЛе = СокрЛП(Константа.ПутьКВнешнейБазе); ПользовательОле = "ВнешняяБД"; ПарольОле = ""; МонопольныйРежимOLE = ""; // для немонопольного запуска указать пустую строку! ЗапускБезЗаставки = 1; // для появления заставки (например, чтобы наблюдать // процесс запуска базы OLE визуально) поставьте здесь "0" Сообщить("Подключение к БД"); РезультатПодключения = БазаОле.Initialize ( БазаОле.RMTrade , "/d" +""""+СокрЛП(КаталогБазыОЛе)+""""+ " /n" + СокрЛП(ПользовательОле) + " /p" + СокрЛП(ПарольОле) + МонопольныйРежимOLE, ?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW","")); Если РезультатПодключения = 0 Тогда Предупреждение("Не удалось подключится к указанной базе - проверьте вводные! " + РазделительСтрок + " База данных должна быть добавлена в меню выбора баз!"); Возврат -1; КонецЕсли; Сообщить("Подключение успешно!"); Возврат БазаОле; КонецФункции Запрос = ВнешняяБаза.CreateObject("Класс.ПрямойЗапрос"); ТекстЗапроса = "Select * From Журнал "; ТЗ = СоздатьОбъект("ТаблицаЗначений"); Рез = Запрос.Выполнить("ТаблицаЗначений", ТекстЗапроса); Запрос выполяется, но не выгружается в ТЗ Рез.Выгрузить(Экран); Ругается на: Плохой тип переменной Подскажите куда копать ? |
|||
1
АЛьФ
20.02.18
✎
13:39
|
2(0) Какой смысл в использовании OLE? Прямой запрос и средствами 1С++ можно сделать в другой базе.
|
|||
2
iJuni
20.02.18
✎
13:48
|
Буду весьма признателен за пример.
|
|||
3
iJuni
20.02.18
✎
13:48
|
Юзаю Олю, так как когда-то делал что-то на ней.
|
|||
4
iJuni
20.02.18
✎
13:49
|
Базы ДБФ
|
|||
5
Ёпрст
20.02.18
✎
13:53
|
(4) это никакого значения не имеет.
|
|||
6
Ёпрст
20.02.18
✎
14:01
|
||||
7
iJuni
20.02.18
✎
14:07
|
Спасибо, все завелось.
|
|||
8
Ёпрст
20.02.18
✎
14:12
|
(6) прям вот так сходу за 6 мин проверил ?
|
|||
9
iJuni
20.02.18
✎
14:17
|
ругнулся на драйвер
поставил драйвер. жмыхну кнопку, ругнулся что нету таких справочников - подшаманил справочники |
|||
10
iJuni
20.02.18
✎
14:19
|
в монопольном не пашет?
|
|||
11
iJuni
20.02.18
✎
14:38
|
Подскажите как правильно типизировать ?
Пишу вот так: ТекстЗапроса = "Select sp70 as [Товар База2.@Справочник.Товары] from База2.@ДокументСтроки.РасходнаяНал"; выдает пустые поля.... |
|||
12
АЛьФ
20.02.18
✎
15:05
|
2(11) А какой тип ожидается в результате запроса? Все возможные типы прописаны в текущем md. Создать типизированный объект другой базу не получится.
|
|||
13
iJuni
20.02.18
✎
15:06
|
Да, сам додумался уже ) спасибо.
|
|||
14
Ёпрст
20.02.18
✎
15:17
|
(10) пашет, если поставшь заплатку от hogik
|
|||
15
Ёпрст
20.02.18
✎
15:18
|
(11) типизировать сможешь, если тока стороняя база - клон первой, архивная копия, к примеру
|
|||
16
iJuni
20.02.18
✎
16:48
|
еще вопросик, а как сделать
Select * from База2._1SJOURN ? |
|||
17
Ёпрст
20.02.18
✎
16:52
|
(16)
|select | Жур.@ОбщийРеквизит.IDD as IDDВудаленнойБазе |from База2.1sjourn Жур |where Жур.iddocdef = @ВидДокумента.ПоступлениеДопРасходы |
|||
18
Ёпрст
20.02.18
✎
16:52
|
как пример
|
|||
19
iJuni
20.02.18
✎
16:53
|
сожрал без _
Select * from База2.1SJOURN |
|||
20
iJuni
20.02.18
✎
16:53
|
спасибо
|
|||
21
Ёпрст
20.02.18
✎
17:10
|
(19) естественно, в дбф нет таблиц с _
|
|||
22
iJuni
20.02.18
✎
17:21
|
Всегда пользовался классом ПрямойЗапрос, вот и хз где что есть )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |