|
Не получается подключится к другой базе | ☑ | ||
---|---|---|---|---|
0
never_be
20.06.13
✎
18:35
|
Вот запрос:
V8 = Новый COMОбъект("V8.Application"); БД = V8.Connect("File=""D:\1C\reports"";Usr=""report"";"); Запрос = БД.NewObject("Запрос"); Запрос.Текст = "ВЫБРАТЬ |ОтчетыОфисовРасходыОбороты.СуммаРасход, |ОтчетыОфисовРасходыОбороты.СуммаОборот, |ОтчетыОфисовРасходыОбороты.Офис, |ОтчетыОфисовРасходыОбороты.ТипРасходов |ИЗ |РегистрНакопления.ОтчетыОфисовРасходы.Обороты(&ДатаНачала, &ДатаОкончания, Период, Офис = &Офис) КАК ОтчетыОфисовРасходыОбороты"; Запрос.УстановитьПараметр("ДатаНачала",НачалоДня(ДатаНачалаДР)); Запрос.УстановитьПараметр("ДатаОкончания",КонецДня(ДатаОкончанияДР)); Запрос.УстановитьПараметр("Офис",Справочники.Офисы.НайтиПокоду(КонтрагентДляПоискаКод)); РезультатЗапроса = Запрос.ВыполнитьюВыбрать(); Вылетает на первой же строке с ошибкой: {Обработка.Отчеты.Форма.Форма.Форма(642)}: Ошибка при вызове конструктора (COMОбъект) V8 = Новый COMОбъект("V8.Application"); по причине: Недопустимая строка с указанием класса |
|||
1
Beduin
20.06.13
✎
18:37
|
(0) Тебе винда сказал, что не знает ничего про V8.Application
|
|||
2
never_be
20.06.13
✎
18:37
|
(1) Ну и, подключиться как ? В всех примерах такое же.
|
|||
3
Beduin
20.06.13
✎
18:41
|
(2) Приведи пример примера.
|
|||
4
Cyberhawk
20.06.13
✎
18:41
|
V82.Application
|
|||
5
Ёпрст
20.06.13
✎
18:42
|
V82.Application
V82.COMConnector |
|||
6
never_be
20.06.13
✎
18:48
|
(5) (4) Конец рабочего дня, мозг отключен.
|
|||
7
never_be
20.06.13
✎
18:50
|
Пошли дальше :)
{Обработка.Отчеты.Форма.Форма.Форма(644)}: Значение не является значением объектного типа (NewObject) Запрос = БД.NewObject("Запрос"); |
|||
8
Ёпрст
20.06.13
✎
18:52
|
(7)
NewObject("Запрос"); такое можно писать только для V77.Application |
|||
9
never_be
20.06.13
✎
18:53
|
(7) V82.COMConnector
|
|||
10
Cyberhawk
20.06.13
✎
18:53
|
(7) Запрос = V8.NewObject...
|
|||
11
Cyberhawk
20.06.13
✎
18:54
|
+(10) рабочий кусок
V8 = Новый COMОбъект("V82.Application"); Попытка Открытие = V8.Connect("Srvr ="+Строка(Сервер)+";Ref="+ИмяБазы+";Usr="+Пользователь+";Pwd="+Пароль+";"); Исключение #Если Клиент Тогда Предупреждение("База данных Источника не открыта!"); #КонецЕсли Возврат МассивТаблицИзИсточника; КонецПопытки; КонецЕсли; Состояние("Получение данных из Источника..."); ЗапросИсточник = V8.NewObject("Запрос"); ЗапросИсточник.Текст = ПолучитьТекстЗапросаИсточник(); |
|||
12
never_be
20.06.13
✎
18:55
|
Осталось только разлить с этим:
Запрос.УстановитьПараметр("Офис",Справочники.Офисы.НайтиПокоду(КонтрагентДляПоискаКод)); Как правильно установить параметр из другой базы. |
|||
13
never_be
20.06.13
✎
18:56
|
(12) Ругается
{Обработка.Отчеты.Форма.Форма.Форма(654)}: Поле объекта не обнаружено (Офисы) Запрос.УстановитьПараметр("Офис",Справочники.Офисы.НайтиПокоду(КонтрагентДляПоискаКод)); Справочники.Офисы в другой базе |
|||
14
Cyberhawk
20.06.13
✎
18:58
|
(12) если есть ссылка - можно проще
ЗапросИсточник.Параметры.Вставить("ОсновнойПоставщик", V8.ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(Контрагент))); А если хошь через Найти, тогда Запрос.УстановитьПараметр("Офис", V82.Справочники.Офисы.НайтиПоКоду(КодДляПоиска)) |
|||
15
never_be
20.06.13
✎
19:03
|
(14) Получилось так:
V8 = Новый COMОбъект("V82.COMConnector"); БД = V8.Connect("File=""E:\1C_Bases\Office_acc"";Usr=""report"";"); Запрос = БД.NewObject("Запрос"); Запрос.Текст = "ВЫБРАТЬ |ОтчетыОфисовРасходыОбороты.СуммаРасход, |ОтчетыОфисовРасходыОбороты.СуммаОборот, |ОтчетыОфисовРасходыОбороты.Офис, |ОтчетыОфисовРасходыОбороты.ТипРасходов |ИЗ |РегистрНакопления.ОтчетыОфисовРасходы.Обороты(&ДатаНачала, &ДатаОкончания, Период, Офис = &Офис) КАК ОтчетыОфисовРасходыОбороты"; Запрос.УстановитьПараметр("ДатаНачала",НачалоДня(ДатаНачалаДР)); Запрос.УстановитьПараметр("ДатаОкончания",КонецДня(ДатаОкончанияДР)); Запрос.УстановитьПараметр("Офис", V8.Справочники.Офисы.НайтиПоКоду(КонтрагентДляПоискаКод)); РезультатЗапроса = Запрос.Выполнить.Выбрать(); Ошибка: {Обработка.Отчеты.Форма.Форма.Форма(654)}: Поле объекта не обнаружено (Справочники) Запрос.УстановитьПараметр("Офис", V8.Справочники.Офисы.НайтиПоКоду(КонтрагентДляПоискаКод)); |
|||
16
Cyberhawk
20.06.13
✎
19:04
|
(15) ты определись сначала, Аппликатион или КОМКоннектор ты используешь. В первом случае работаешь с V8, во втором - с БД
|
|||
17
never_be
21.06.13
✎
10:33
|
(16) теперь вот так
{Обработка.Отчеты.Форма.Форма.Форма(655)}: Ошибка при получении значения атрибута контекста (Выполнить) РезультатЗапроса = Запрос.Выполнить.Выбрать(); по причине: Метод не найден |
|||
18
never_be
21.06.13
✎
11:01
|
Переделал запрос вот так:
V8 = Новый COMОбъект("V82.COMConnector"); БД = V8.Connect("File=""E:\1C_Bases\Office_acc"";Usr=""report"";"); Запрос = БД.NewObject("Запрос"); Запрос.Текст = "ВЫБРАТЬ |ОтчетыОфисовРасходыОбороты.СуммаРасход, |ОтчетыОфисовРасходыОбороты.СуммаОборот, |ОтчетыОфисовРасходыОбороты.Офис, |ОтчетыОфисовРасходыОбороты.ТипРасходов |ИЗ |РегистрНакопления.ОтчетыОфисовРасходы.Обороты(&ДатаНачала, &ДатаОкончания, Период, Офис = &Офис) КАК ОтчетыОфисовРасходыОбороты"; Запрос.УстановитьПараметр("ДатаНачала",НачалоДня(ДатаНачалаДР)); Запрос.УстановитьПараметр("ДатаОкончания",КонецДня(ДатаОкончанияДР)); Запрос.УстановитьПараметр("Офис", БД.Справочники.Офисы.НайтиПоКоду(КонтрагентДляПоискаКод)); РезультатЗапроса = Запрос.Выполнить.Выбрать(); На последней строке ошибка (17) |
|||
19
Cyberhawk
21.06.13
✎
11:13
|
Запрос.Выполнить().Выбрать()
|
|||
20
never_be
21.06.13
✎
11:31
|
(19) Пля уже не первый раз втыкаюсь в эти скобки.
|
|||
21
never_be
21.06.13
✎
11:35
|
В РезультатеЗапроса какие-то ComОбъекты как из них достать данные ? Мне надо Наименование офиса, суммы и вид расходов.
|
|||
22
never_be
21.06.13
✎
11:48
|
Делаю вот так:
Пока РезультатЗапроса.Следующий() Цикл Расход = РезультатЗапроса.СуммаExpense; Оборот = РезультатЗапроса.СуммаTurnover; НаименованиеОфиса = РезультатЗапроса.Офис.Наименование; НаименованиеРасходов = РезультатЗапроса.ТипРасходов.Наименование; КонецЦикла; все хорошо но наименование офиса всегда пусто и записей слишком много, может условие по отбору офиса не выполнилось в запросе ? |
|||
23
Cyberhawk
21.06.13
✎
19:37
|
Ты раскрой СОМ-объекты в табло Конфигуратора и посмотри, что там
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |