|
Подключение из одной базы в другую, и выгрузка объектов из последней | ☑ | ||
---|---|---|---|---|
0
Валидатор
05.03.14
✎
14:40
|
Хочу подключиться из одной базы 1с 8.2 в другую, после чего, в подключенной базе выгрузить данные РС, но возникла ошибка:
{Форма.Форма.Форма(114)}: Ошибка при вызове метода контекста (Execute) tableVal_1C = query.Execute().Unload(); по причине: Произошла исключительная ситуация (1C:Enterprise 8.2.19.83): {(1, 15)}: Таблица не найдена "РегистрСведений.СоответствиеОбъектов" Select * From <<?>>РегистрСведений.СоответствиеОбъектов where БазаДанных77 = 0 Вот код: ТаблицаНоменклатуры = Новый ТаблицаЗначений; query = БД.NewObject("Query"); ИмяТаблицы = "РегистрСведений.СоответствиеОбъектов"; query.Text = "Select * From " + ИмяТаблицы + " where БазаДанных = " + НомерБазы; tableVal_1C = query.Execute().Unload(); For i = 0 to tableVal_1C.Count() - 1 Do НоваяСтрока = ТаблицаНоменклатуры.Добавить(); НоваяСтрока.ИДОбъекта = tableVal_1C.Get(i).Get(1); НоваяСтрока.Наименование = tableVal_1C.Get(i).Get(2); НоваяСтрока.ЕКГУИД = БД.String(tableVal_1C.Get(i).Get(4).УникальныйИдентификатор()); Если НЕ БД.String(tableVal_1C.Get(i).Get(5)) = "" Тогда НоваяСтрока.ДопКлюч = БД.String(tableVal_1C.Get(i).Get(5).УникальныйИдентификатор()); КонецЕсли; ОбработкаПрерыванияПользователя(); EndDo; БД - ком объект, который подколючился к базе, из которой выдираем данные по РС, что не так? почемиу таблица не обнаружена? |
|||
1
Валидатор
05.03.14
✎
14:48
|
ап
|
|||
2
Torquader
05.03.14
✎
14:49
|
Запрос в 1С, а код написан как для SQL.
Что за условие про БазаДанных=ЧемуТоТам ? |
|||
3
fvadim
05.03.14
✎
14:51
|
запрос выглядит правильным.
или такого РС нету или база не та. запрос в консоли отрабатывает? |
|||
4
salvator
05.03.14
✎
14:52
|
После " + НомерБазы добавить +""; попробуй
|
|||
5
Валидатор
05.03.14
✎
14:54
|
(4) нет, все равно тоже самое
|
|||
6
Torquader
05.03.14
✎
14:54
|
А точно к той базе подключились ?
|
|||
7
Валидатор
05.03.14
✎
14:54
|
(6) точно
|
|||
8
х86
05.03.14
✎
14:55
|
(3)+1
|
|||
9
Torquader
05.03.14
✎
14:56
|
(7) Тогда скопируй название из консоли, так как мог, например, латинскую букву где-то указать.
|
|||
10
Валидатор
05.03.14
✎
14:56
|
в консоли запросов все отрабатывает
|
|||
11
Валидатор
05.03.14
✎
14:57
|
Select * From РегистрСведений.СоответствиеОбъектов where БазаДанных77 = 6
выдал результат |
|||
12
Torquader
05.03.14
✎
14:58
|
(11) Тогда попробуй через параметр - может быть - она ноль не очень понимает.
|
|||
13
fvadim
05.03.14
✎
15:01
|
нафик параметры. сначала добиться выполнения без ошибок запроса. текст запроса скопировать из консоли, где он работает и оставить только, без всяких переменных:
Select * From РегистрСведений.СоответствиеОбъектов |
|||
14
Валидатор
05.03.14
✎
15:02
|
(13) так у меня есть строка:
query.Text = "Select * From " + ИмяТаблицы + " where БазаДанных77 = " + НомерБазы +""; я отладчиком иду по ней и в query.Text формируется текст запроса: Select * From РегистрСведений.СоответствиеОбъектов where БазаДанных77 = 6 и результат в консоли есть а в 1ске все летит на строке: tableVal_1C = query.Execute().Unload(); |
|||
15
Валидатор
05.03.14
✎
15:05
|
я дебил лох короче, правда не к той базе конетился(
|
|||
16
fvadim
05.03.14
✎
15:09
|
(15) ну ты крут. другой бы молча слился, а мы бы тут извелись, гадая в чём была причина.
|
|||
17
Torquader
05.03.14
✎
15:10
|
(15) Значит (3) прав и тему можно закрывать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |