|
Последняя ли запись в выборке запроса? | ☑ | ||
---|---|---|---|---|
0
korchak
13.06.13
✎
13:52
|
Добрый день коллеги!
Подскажите, как узнать при выборке из результатов запроса, что мы спозиционированы на последней записи? |
|||
1
Ненавижу 1С
гуру
13.06.13
✎
13:52
|
зачем?
|
|||
2
korchak
13.06.13
✎
13:55
|
(1) для того, что если это последняя запись, то провести определенные арифметические операции, иначе нет
|
|||
3
ale-sarin
13.06.13
✎
13:55
|
(2) После цикла, не?
|
|||
4
Ненавижу 1С
гуру
13.06.13
✎
13:55
|
(2) становится еще более интереснее, зачем?
|
|||
5
korchak
13.06.13
✎
13:56
|
(3) нет в цикле перебора
|
|||
6
ДенисЧ
13.06.13
✎
13:56
|
Перел выборкой взять Количество(), в цикле считать итерации
|
|||
7
Ursus maritimus
13.06.13
✎
13:57
|
(1) За тем, что группировки еще не проходили.
|
|||
8
ale-sarin
13.06.13
✎
13:57
|
(5) Это я предложение такое выдвинул - считать после цикла.
|
|||
9
korchak
13.06.13
✎
13:58
|
(4) ну к примеру так: если на последней записи до к итогам добавить значение данных выборки
|
|||
10
YF
13.06.13
✎
13:59
|
(9) После цикла добавь, в чем фишка именно внутри?
|
|||
11
korchak
13.06.13
✎
14:01
|
интересно есть ли такая возможность... узнавать на какой по счету записи выборки мы находимся, в том числе последней... после цикла понятно :)
|
|||
12
GANR
13.06.13
✎
14:02
|
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать(); Счетчик = 0; Пока Выборка.Следующий() Цикл Счетчик = Счетчик + 1; Если Счетчик = Выборка.Количество() Тогда // запись последняя Иначе // запись НЕ последняя КонецЕсли; КонецЦикла; |
|||
13
Ненавижу 1С
гуру
13.06.13
✎
14:03
|
(9) зачем? используй обходы по итогам
|
|||
14
korchak
13.06.13
✎
14:05
|
(13) и все остальным спасибо!
|
|||
15
Lama12
13.06.13
✎
14:06
|
(0) А можно пример, для общего развития?
В каких задачах может возникнуть такая необходимость? |
|||
16
korchak
13.06.13
✎
14:10
|
(15) хорошо, может кто подскажет, как в этом запросе добавить сделать так что если это последняя запись ВТПоказанияСпидометра, то добавить к итогам ВТПоказанияСпидометра.Пробег1, а не потом химичить с обходами по группировкам?
|ВЫБРАТЬ | ВТПоказанияСпидометра.Авто КАК Авто, |ВЫБОР | КОГДА ВТПоказанияСпидометра.Пробег1 < ВТПоказанияСпидометра.Пробег2 | ТОГДА ВТПоказанияСпидометра.Пробег2 | ИНАЧЕ 0 |КОНЕЦ КАК НарастающийИтог |ИЗ | ВТПоказанияСпидометра КАК ВТПоказанияСпидометра |ИТОГИ | СУММА(НарастающийИтог) |ПО | ОБЩИЕ, | Авто |
|||
17
Рэйв
13.06.13
✎
14:11
|
(16)При выходе из цикла Выборка стоит на последней записи.Делай с ней что хошь
|
|||
18
korchak
13.06.13
✎
14:12
|
извиняюсь, ошибся: "а не потом химичить с обходами по итогам"
|
|||
19
korchak
13.06.13
✎
14:12
|
(17) это понятно, а самом запросе как ухитриться?
|
|||
20
Рэйв
13.06.13
✎
14:14
|
(19)А какая тебе разница где?
|
|||
21
Рэйв
13.06.13
✎
14:14
|
(19)Фика в том что до выполнения запроса нет вообще никаких записей
|
|||
22
korchak
13.06.13
✎
14:16
|
понятно, разобрался... всем еще раз спасибо :)
|
|||
23
zladenuw
13.06.13
✎
14:17
|
(22) так можно при обходе выборки узнать.
ТипЗаписиЗапроса (QueryRecordType) ТипЗаписиЗапроса (QueryRecordType) Значения ДетальнаяЗапись (DetailRecord) ИтогПоГруппировке (GroupTotal) ИтогПоИерархии (TotalByHierarchy) ОбщийИтог (Overall) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |