|
Ругается на Тип во временном запросе | ☑ | ||
---|---|---|---|---|
0
Ткачев
20.02.12
✎
09:37
|
Ругается {(3, 2)}: Тип не может быть выбран в запросе
<<?>>ТаблицаТоваров.Штрихкод, Пробовал указать через ВЫРАЗИТЬ и ПОДСТРОКА, но все равно ругается, как сделать правильно ? МассивФайлов = НайтиФайлы(Объект.ПапкаОбмена, "inventry.dat"); Если МассивФайлов.Количество() Тогда ТекстФайла = Новый ТекстовыйДокумент; ПутьФайла = МассивФайлов[0].ПолноеИмя; ТекстФайла.Прочитать(ПутьФайла); КоличествоСтрок = ТекстФайла.КоличествоСтрок(); Для Аа = 1 По КоличествоСтрок Цикл СтрокаФайла = ТекстФайла.ПолучитьСтроку(Аа); НовСтр = ТаблицаЗагрузки.Добавить(); НовСтр.Штрихкод = Сред(СтрокаФайла, 3, 5); НовСтр.Количество = Число(Сред(СтрокаФайла, 17, 10)); КонецЦикла; Запрос = Новый Запрос(" |ВЫБРАТЬ | ТаблицаТоваров.Штрихкод, | ТаблицаТоваров.Количество |ПОМЕСТИТЬ Товары |ИЗ | &ТаблицаТоваров КАК ТаблицаТоваров |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ ПЕРВЫЕ 1 | Штрихкоды.Штрихкод, | Товары.Количество |ИЗ | Товары КАК Товары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды | ПО (Штрихкоды.Владелец.Код ПОДОБНО ""%"" + Товары.Штрихкод)"); Запрос.УстановитьПараметр("ТаблицаТоваров", ТаблицаЗагрузки); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл КонецЦикла; КонецЕсли; |
|||
1
butterbean
20.02.12
✎
09:39
|
колонки в ТаблицаЗагрузки должны быть типизированы
|
|||
2
Smallrat
20.02.12
✎
09:58
|
типа так
ТаблицаЗагрузки.Колонки.Добавить("Кол1", Новый ОписаниеТипов("Число")); ТаблицаЗагрузки.Колонки.Добавить("Кол2", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(8))); ТаблицаЗагрузки.Колонки.Добавить("Кол3", Новый ОписаниеТипов("Дата")); |
|||
3
Ткачев
20.02.12
✎
10:15
|
(2)А уже в созданной таблице как тип можно поменять ?
|
|||
4
decdmb
20.02.12
✎
10:48
|
||||
5
Ткачев
20.02.12
✎
11:48
|
Что не правильно и не красиво сделано ?
Функция ЗагрузитьТаблицу(Объект, ТаблицаЗагрузки) Экспорт МассивФайлов = НайтиФайлы(Объект.ПапкаОбмена, "inventry.dat"); Если МассивФайлов.Количество() Тогда ТаблицаЗагрузки.Колонки.Очистить(); ТаблицаЗагрузки.Колонки.Добавить("Штрихкод", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(5))); ТаблицаЗагрузки.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число" , , Новый КвалификаторыЧисла(10, 2))); ТекстФайла = Новый ТекстовыйДокумент; ПутьФайла = МассивФайлов[0].ПолноеИмя; ТекстФайла.Прочитать(ПутьФайла); КоличествоСтрок = ТекстФайла.КоличествоСтрок(); Для Аа = 1 По КоличествоСтрок Цикл СтрокаФайла = ТекстФайла.ПолучитьСтроку(Аа); НовСтр = ТаблицаЗагрузки.Добавить(); НовСтр.Штрихкод = Сред(СтрокаФайла, 3, 5); НовСтр.Количество = Число(Сред(СтрокаФайла, 17, 10)); КонецЦикла; Запрос = Новый Запрос(" |ВЫБРАТЬ | ТаблицаТоваров.Штрихкод, | ТаблицаТоваров.Количество |ПОМЕСТИТЬ Товары |ИЗ | &ТаблицаТоваров КАК ТаблицаТоваров |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Товары.Штрихкод, | СУММА(Товары.Количество) КАК Количество |ПОМЕСТИТЬ ТабТовары |ИЗ | Товары КАК Товары | |СГРУППИРОВАТЬ ПО | Товары.Штрихкод |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод, | МАКСИМУМ(ТабТовары.Количество) КАК Количество |ИЗ | ТабТовары КАК ТабТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды | ПО (Штрихкоды.Владелец.Код ПОДОБНО ""%"" + ТабТовары.Штрихкод) | |СГРУППИРОВАТЬ ПО | Штрихкоды.Владелец"); Запрос.УстановитьПараметр("ТаблицаТоваров", ТаблицаЗагрузки); ТаблицаЗагрузки = Запрос.Выполнить().Выгрузить(); КонецЕсли; Возврат мНетОшибки; КонецФункции |
|||
6
Smallrat
20.02.12
✎
11:57
|
(3) вроде нет
|
|||
7
Ткачев
20.02.12
✎
12:01
|
(6)А если информация есть в таблице и запрос ее не берет, что делать?, создавать новую и циклом в нее переносить ?
|
|||
8
Jaffar
20.02.12
✎
12:19
|
(7) см. ссылку в (4) - там есть типизация ТЗ
|
|||
9
Smallrat
20.02.12
✎
12:19
|
возможно так прокатит
ТаблицаЗагрузки.Колонки.Добавить("НоваяКолонка", Новый ОписаниеТипов("Число")); ТаблицаЗагрузки.ЗагрузитьКолонку(ТаблицаЗагрузки.ВыгрузитьКолонку("СтараяКолонка"), "НоваяКолонка"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |