|
Передача таблицы значений в запрос | ☑ | ||
|---|---|---|---|---|
|
0
drey1912
24.11.15
✎
02:33
|
Здравствуйте, есть регистр сведений "КонтрольУникальностиШПИ". ШПИ - некоторый буквенно-циферный код. Указывается в заказе покупателя. ЗаказПокупателя - регистратор данного регистра.
Есть обработка по обновлению этих самых ШПИ у заказов, она их подгружает из excel. Теперь проблема: Мне нужно проверить есть ли в файле - ШПИ, которые есть в регистре, если есть, то эту строку я пропускаю при обработке. Если нет, то присваиваю заказу новый ШПИ. Вот запрос: ТаблицаЗначений = ЧтениеДанныхИзФайловНаСервере.ПрочитатьИзВременногоХранилища_xls(ФайлНаСервере.АдресВременногоХранилища, 1, 14); ТаблицаЗначений.Колонки.Колонка16.Имя= ("НомерЗаказа"); ТаблицаЗначений.Колонки.Колонка10.Имя= ("ШПИ"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТабЗнч.ШПИ КАК ШПИ, | ТабЗнч.НомерЗаказа КАК НомерЗаказа |ПОМЕСТИТЬ ВТ_Заказы |ИЗ | &ТабЗнч КАК ТабЗнч |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ_Заказы.НомерЗаказа |ИЗ | ВТ_Заказы КАК ВТ_Заказы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтрольУникальностиШПИ КАК КонтрольУникальностиШПИ | ПО ВТ_Заказы.ШПИ = КонтрольУникальностиШПИ.ШПИ |ГДЕ | КонтрольУникальностиШПИ.ШПИ ЕСТЬ NULL "; Запрос.УстановитьПараметр("ТабЗнч", ТЗ); Выборка = Запрос.Выполнить(); ШПИ = Выборка; При выполнении запроса появляется ошибка "Тип не может быть выбран в запросе". Про нее я читал, требуется явное приведение типов, НО ТЗ заполняется из табдокумента... не могу понять как здесь сделать приведение типов или может вы подскажите другой вариант проверки на уникальность значений... |
|||
|
1
drey1912
24.11.15
✎
02:42
|
P.S. Так же в документе ексель содержится номер заказа - по которому я ищу в базе нужный заказ для замены ШПИ.
|
|||
|
2
patria0muerte
24.11.15
✎
03:57
|
Типизировать можно и в запросе.
"ВЫБРАТЬ | ВЫРАЗИТЬ(ТабЗнч.ШПИ КАК СТРОКА(300)) КАК ШПИ, | ВЫРАЗИТЬ(ТабЗнч.НомерЗаказа КАК КАК СТРОКА(300)) КАК НомерЗаказа |ПОМЕСТИТЬ ВТ_Заказы |ИЗ | &ТабЗнч КАК ТабЗнч"; |
|||
|
3
drey1912
24.11.15
✎
22:45
|
В запросе как раз таки нельзя в моем случае) Уже решил задачу)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |