![]() |
|
Как проще выбрать из Запроса | ☑ | ||
---|---|---|---|---|
0
igoza
10.07.13
✎
13:07
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Остатки.ШтрихКод КАК ШтрихКод, | Остатки.МестоХранения КАК МестоХранения, | Остатки.Комплектующая КАК Комплектующая |ИЗ | РегистрНакопления.ОстаткиКомлектующих.Остатки КАК Остатки |ГДЕ | Остатки.Комплектующая = &Ком |"; Запрос.УстановитьПараметр("Ком", ТекСтрока.Откуда); Выборка = Запрос.Выполнить().Выгрузить(); Из запроса выходит 1 строка но как сделать проще, не через цикл: Для Каждого Строка ИЗ Выборка Цикл лялялял..... Прервать; КонецЦикла; |
|||
1
vicof
10.07.13
✎
13:08
|
Пока Выборка.Следующий() Цикл...
|
|||
2
vicof
10.07.13
✎
13:08
|
Ну ил ипросто Выборка.Следующий()
|
|||
3
Рэйв
10.07.13
✎
13:09
|
Сообщить(Выборка[0].ШтрихКод)
|
|||
4
Рэйв
10.07.13
✎
13:09
|
(2) У него выборка ТЗ :-)
|
|||
5
Classic
10.07.13
✎
13:13
|
(3)
Вылетит на пустом результате |
|||
6
Ненавижу 1С
гуру
10.07.13
✎
13:13
|
(0) убери прервать и не мучайся - оставь
|
|||
7
Рэйв
10.07.13
✎
13:15
|
(5)Ну поди хватит ума проверить на .количество()
|
|||
8
Fragster
гуру
10.07.13
✎
13:15
|
нафига выгрузить? выбрать(), .следующий()
|
|||
9
Fragster
гуру
10.07.13
✎
13:16
|
Если Выборка.Следующий() Тогда
Возврат Выборка.ШтрихКод Иначе Возврат ""; Конец |
|||
10
Пеппи
10.07.13
✎
13:17
|
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий() Выборка.ШтрихКод |
|||
11
Godofsin
10.07.13
✎
13:17
|
да даже если и в ТЗ, зачем там прервать; и чем плох цикл?
|
|||
12
Пеппи
10.07.13
✎
13:17
|
3 строчки всего))
|
|||
13
Irbis
10.07.13
✎
13:18
|
СП пропит ещё некупленным?
|
|||
14
Fragster
гуру
10.07.13
✎
13:18
|
Возврат ?(Выборка.Следующий(), Выборка.Штрихкод, "");
|
|||
15
vicof
10.07.13
✎
13:18
|
(4) не разделяю слепую любовь к тз)
|
|||
16
Godofsin
10.07.13
✎
13:19
|
(12) а если выборка пустая? )))
|
|||
17
Godofsin
10.07.13
✎
13:20
|
(14) хороший вариант )))
|
|||
18
Пеппи
10.07.13
✎
13:21
|
(16) ))) ?(Выборка.количество()=0,"",Выборка.ШтрихКод)
|
|||
19
Godofsin
10.07.13
✎
13:23
|
(18) не взлетит )))
|
|||
20
Godofsin
10.07.13
✎
13:23
|
(18) см. (14)
|
|||
21
Fragster
гуру
10.07.13
✎
13:24
|
Запрос = Новый Запрос();
Запрос.Текст = "Выбрать 1 КАК Поле"; Итераций = 100000; РезультатЗапроса = Запрос.Выполнить(); Д = ТекущаяДата(); Для Сч = 1 по Итераций Цикл ТЗ = РезультатЗапроса.Выгрузить(); Результат = ""; Для каждого Стр Из ТЗ Цикл Результат = Стр.Поле; КонецЦикла; КонецЦикла; Сообщить(ТекущаяДата() - Д); Д = ТекущаяДата(); Для Сч = 1 по Итераций Цикл Выборка = РезультатЗапроса.Выбрать(); Результат = ?(Выборка.Следующий(),Выборка.Поле,""); КонецЦикла; Сообщить(ТекущаяДата() - Д); Выводит у меня 7 и 3 |
|||
22
Fragster
гуру
10.07.13
✎
13:27
|
Д = ТекущаяДата();
Для Сч = 1 по Итераций Цикл ТЗ = РезультатЗапроса.Выгрузить(); Результат = ?(ТЗ.Количество()<>0,ТЗ[0].Поле,""); КонецЦикла; Сообщить(ТекущаяДата() - Д); тоже 6-7 секунд |
|||
23
1Сергей
10.07.13
✎
13:29
|
пелять... такая тема должна была закончится ещё на первом-втором посте. Нет, блин, раздули
|
|||
24
Fragster
гуру
10.07.13
✎
13:29
|
для пустой выборки -
перебор - 5, по индексу с проверкой количества - 4, выборка - 2 |
|||
25
igoza
10.07.13
✎
14:50
|
(10) спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |