Запросы в OLE соединении

1. user1202776 24.05.19 16:40 Сейчас в теме
Для внешнего отчета нужно из базы УАТ (управление автотранспортом) нужно взять два реквизита строкового типа из документа уатПутевойЛист. Внешний отчет будет использоваться в УТ 10.3. УТ(8.3), а УАТ(8.2).
Соединение= Новый COMОбъект("v82.Application");
Параметры = "Srvr=""192.168.25.29:1642"";Ref=""uat"";Usr=""User1"";Pwd=""12345"";";

Попытка
Подключение = Соединение.Connect(Параметры);
Исключение

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не удалось подключиться к базе" + ОписаниеОшибки();
Сообщение.Сообщить();

КонецЦикла;


Запрос = Соединение.NewObject("Запрос"); // для V82.Application
Запрос.Текст ="";
Соединение = Неопределено;
В запросе должны быть данные из базы УАТ? Документа уатПутевойЛист нету в УТ и поэтому не понимаю как передать в запрос СКД внешнего отчета. Мне нужно передать два реквизита из документа уатПутевойЛист в СКД внешнего отчета
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user5300 1063 24.05.19 16:46 Сейчас в теме
(1)Выгружаешь данные в таблицу значений,
2 Добавляешь таблицу как внешний набор данных
3 объединяешь с запросом скд и формируешь
3. user1202776 24.05.19 17:02 Сейчас в теме
(2)Запрос = Соединение.NewObject("Документы.уатПутевойЛист");
МетаСправочники = Соединение.Метаданные.Документы;
// Перебираем все справочники
Для каждого Документ Из МетаСправочники Цикл
Сообщить(Документ.Имя);
// Перебираем все реквизиты
Для каждого Реквизит Из Документ.Реквизиты Цикл
Сообщить(Символы.Таб + Реквизит.Имя);
КонецЦикла;
КонецЦикла;
Рек1=Соединение.Метаданные.Документы.уатПутевойЛист.Attributes.СпидометрВозвращения;
Рек2=Соединение.Метаданные.Документы.уатПутевойЛист.Attributes.СпидометрВыезда;
ТЗ=Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить(Рек1);
ТЗ.Колонки.Добавить(Рек2);

Ошибка:
{ВнешнийОтчет.ВодителиСуммарныйОтчет.Форма.ФормаОтчета.Форма(29)}: Ошибка при вызове метода контекста (Добавить)
ТЗ.Колонки.Добавить(Рек2);
по причине:
Неверное имя колонки
4. user1202776 24.05.19 17:17 Сейчас в теме
(2) Как через запрос взять данные из УАТ? При создании запроса через
Запрос = Соединение.NewObject("Запрос");
Запрос.Текст ="";
открывается запрос с данными из УТ, а не из УАТ. Так должно быть?
5. acanta 24.05.19 17:21 Сейчас в теме
(4) вы хотите чтобы конструктор запроса выполнил ОЛЕ соединение и выдал вам метаданные другой базы в режиме конфигуратора?
Вы можете сохранить файл конфигурации источника и открыть его в конфигураторе приемника.
6. user1202776 24.05.19 17:30 Сейчас в теме
(5)Мне нужно, чтобы в колонку отчета "Проиденное растояние,км" вставлялась разница между"ДатаВыезда" и "ДатаВозвращения".Отчет формирую с помощью СКД. И Мне нужно дату выезда и дату возвращения добавить в СКД
Прикрепленные файлы:
7. acanta 24.05.19 17:37 Сейчас в теме
Текст запроса вам необходимо сформировать в конфигураторе УАТ, после чего вставить его в обработку с запросом.
8. user1202776 24.05.19 17:47 Сейчас в теме
(7) Так тоже пробовал. Выдает ошибку : Таблица не найдена "Документ.уатПутевойЛист"
Прикрепленные файлы:
9. starjevschik 24.05.19 22:51 Сейчас в теме
Не публиковал бы ты прям так все доступы с адресами логинами паролями.

Про СКД я как-то сомневаюсь. Это надо сделать сначала запрос в базу Оле, потом результат этого запроса в виде например таблицы значений засунуть в твою СКД как внешний источник данных и тогда уже его можно будет там использовать. Как-то так примерно.
Запрос пишется в той базе, которая открывается по Оле. Там в ней берешь консоль запросов и составляешь нужный запрос. Все поля должны иметь простые типы (число строка дата), ссылки не годятся.
Потом этот запрос вставляешь в текст запроса уже в базе-приемнике.
А вот дальше это уже настоящий вопрос.
10. user1202776 25.05.19 13:38 Сейчас в теме
(9)Там рандомный адрес, логин и пароль. Будет работать если я сделаю запрос данных объект на основе таблицы значений в скд, объединю через запрос данных объединение, запрос данных объект и запрос данных с основными данными?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот