|   |   | 
| 
 | Подключение из одной базы в другую, и выгрузка объектов из последней | ☑ | ||
|---|---|---|---|---|
| 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) прав и тему можно закрывать.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |