Имя: Пароль:
1C
1С v8
Ошибка с внешними источниками в 8.3.3
,
0 rs_trade
 
26.06.13
14:14
Кто может проверить у себя?

Есть такой элементарный запрос к внешнему источнику

ВЫБРАТЬ
   dboСправочникПоразмерныеШК.Код
ИЗ
   ВнешнийИсточникДанных.BASE77.Таблица.dboСправочникПоразмерныеШК КАК dboСправочникПоразмерныеШК
ГДЕ
   dboСправочникПоразмерныеШК.Код В(&МассивШК)

Так вот если МассивШК содержит более 100 элементов, вываливается ошибка:

Unknown object type 'TEMPORARY' used in a CREATE, DROP, or ALTER statement.

Если МассивШК ограничить соткой элементов, все нормуль. Проблема именно с условием В, для больших списков.
1 Asmody
 
26.06.13
14:15
какая база-то?
2 rs_trade
 
26.06.13
14:16
Проверить можно на любом внешнем источнике, например такой конструкцией

   Запрос = Новый Запрос;
   
   Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 200
                  |    dboСправочникПоразмерныеШК.Код
                  |ИЗ
                  |    ВнешнийИсточникДанных.BASE77.Таблица.dboСправочникПоразмерныеШК КАК dboСправочникПоразмерныеШК";
                 
                 
   тзШК = Запрос.Выполнить().Выгрузить();
   
   Запрос.Текст = "ВЫБРАТЬ
                  |    dboСправочникПоразмерныеШК.Код
                  |ИЗ
                  |    ВнешнийИсточникДанных.BASE77.Таблица.dboСправочникПоразмерныеШК КАК dboСправочникПоразмерныеШК
                  |ГДЕ
                  |    dboСправочникПоразмерныеШК.Код В (&ТаблицаШтрихкоды)";
                 

   Запрос.УстановитьПараметр("ТаблицаШтрихкоды", тзШК.ВыгрузитьКолонку("Код"));
   
   Запрос.Выполнить();
3 Maxus43
 
26.06.13
14:16
(1) ВнешнийИсточникДанных.BASE77 :)
4 rs_trade
 
26.06.13
14:17
Да любой внешний источник.
5 rs_trade
 
26.06.13
14:25
(4) Любой, в смысле с любыми данными. Главное условие ГДЕ со списком. А сами внешние источники у меня таблицы MS SQL 2008.
6 Mitriy
 
26.06.13
14:32
попробуй формировать внешнюю таблицу, а потом В (Выбрать ВТ.ШтрихКод ИЗ ВТ)
7 Maxus43
 
26.06.13
14:34
(6) в 8.3 поддерживает? в 8.2 временные таблицы и чатсь функционала впринципе не работало
8 Mitriy
 
26.06.13
14:36
(7) пробовать надо, я так, навскидку...
9 Mitriy
 
26.06.13
14:43
нет, не получится...
10 Mitriy
 
26.06.13
14:56
подтверждаю:
Описание: [Microsoft][ODBC SQL Server Driver][SQL Server]Неизвестный тип объекта "TEMPORARY" в инструкции CREATE, DROP или ALTER.
11 rs_trade
 
26.06.13
15:08
(10) Нормально че. Учитывая что временные таблицы тоже не работают, обхода именно этой конструкции сходу не видно.
12 rs_trade
 
26.06.13
15:11
Напишите на партнерский кто может. Там ни слова нет по этой ошибке.
13 Mitriy
 
26.06.13
15:13
(11) ну почему? Разбиваешь массив на несколько по сто объектов и выполняешь запрос в цикле ))
14 rs_trade
 
26.06.13
15:14
(13) Я пока так и сделал, но это же не решение.
15 EvgeniuXP
 
26.06.13
18:42
а еще говорите, запрос в цикле низя :)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший