|
|
|
Получение значения следующей строки таблицы | ☑ | ||
|---|---|---|---|---|
|
0
viktosha
24.08.06
✎
16:45
|
В результате выполнения запроса (Рез)есть следующие колонки: номенклатура, кол-во и т.д. Как получить значение следующей строки, а именно колонки номенклатура не переводя на нее курсор.(У меня цикл пока Рез.Следующий(), а в нем надо сравнивать на значение следующего элемента). И тут же как посмотреть, что он не последний?
|
|||
|
2
Bahmet
24.08.06
✎
16:47
|
(0)используй доступ к строкам по индеку
|
|||
|
3
viktosha
24.08.06
✎
16:48
|
(2)можно пример
|
|||
|
4
Bahmet
24.08.06
✎
16:51
|
индексу то есть:
КолСтр=ТабЗн.Количество(); Для к=0 По КолСтр-1 Цикл ... Сумма = ТабЗн[к].Сумма; ... КонецЦикла; |
|||
|
5
Bahmet
24.08.06
✎
16:52
|
ну а на последнюю через переменную к и определяй
|
|||
|
6
Andrey_spb
24.08.06
✎
16:53
|
(4) Она про Выборку говорит, там по индексу нельзя... Можно выгрузить, а потом...
|
|||
|
7
Bahmet
24.08.06
✎
16:53
|
следующую получаешь через к+1
|
|||
|
8
viktosha
24.08.06
✎
16:53
|
(4)Нет такое не подходит, может тогда можно узнать номер строки, в которой находится курсор?
|
|||
|
9
Bahmet
24.08.06
✎
16:54
|
(6)ну это по умолчанию ясно что выгружаешь
|
|||
|
10
Веник
24.08.06
✎
16:54
|
Ничего не понятно! Может семерочным языком объяснишь?
Внутри цикла пока Рез.Следующий() который пробегается по строкам, запускай ещё один который будет перебирать колонки //Цикл считывания строк Пока Рез.Следующий() Цикл //Цикл считывания колонок Пока колонка ... бла бла КонецЦикла КонецЦикла |
|||
|
11
Andrey_spb
24.08.06
✎
16:54
|
(8) не удивительно... а номер узнать можно...
|
|||
|
12
Andrey_spb
24.08.06
✎
16:55
|
(9) Кому ясно?! Тебе? Ты нормально объясни, если взялся...
|
|||
|
14
dimoff
24.08.06
✎
16:56
|
Выгрузить результат в таблицу значений и по индексу.
|
|||
|
15
Веник
24.08.06
✎
16:56
|
А! :) всё понял
Выгружай всё в ТЗ (ТаблицаЗначений), и там делай что хошь |
|||
|
16
Веник
24.08.06
✎
16:56
|
(14) +1
|
|||
|
22
MikleV
24.08.06
✎
16:58
|
а в выборке нельзя Пока Выборка.Следующий() цикл
СлдеЗапись = Выборка.Следующий() Конеццикла; ? |
|||
|
23
Веник
24.08.06
✎
16:59
|
(22) А ты сам пробовал?
|
|||
|
24
MikleV
24.08.06
✎
17:00
|
в выборке нельзя
(23) а что по вопрос непонятен? сам нет. но может взлететь. |
|||
|
25
Bahmet
24.08.06
✎
17:01
|
Светик...не тормози активность на ветке...фото..и тебе тут в лучшем виде всё решат!!!
|
|||
|
26
MikleV
24.08.06
✎
17:01
|
+(24) опс. там метод предудущий есть..а то выборка ускачет..
цикл собъётся. |
|||
|
27
viktosha
24.08.06
✎
17:01
|
Мне не надо переходить на следующий элемент, мне надо узнать его значение, все типа Следующий(),СледующиПоЗначениюПоля() переводят курсор.Ну так что, удалые молодцы, ничем девушке помочь не можете, чтобы код на ТЗ не переделывать?
|
|||
|
28
Andrey_spb
24.08.06
✎
17:02
|
Короче, нужно что-то типа этого:
ТабЗнач=Запрос.Выполнить().Выгрузить(); н=0; Всего=ТабЗнач.Количество()-1; Для Каждого Стр Из ТабЗнач Цикл Если н<>Всего Тогда Если Стр[н]<>Стр[н+1] Тогда // твое условие // твои действия КонецЕсли; КонецЕсли; н=н+1; КонецЦикла; |
|||
|
29
viktosha
24.08.06
✎
17:03
|
вот блин, так и скажите, что нельзя, а остальное я сама напишу
|
|||
|
31
Веник
24.08.06
✎
17:05
|
(24) Если только вниз, то взлетит! :)
Прочитай код попорядку в голове и ты увидишь, что после твоей записи, следующая строчка кода будет равна +2 (27) Переходи на Delphi ... не морочь голову людям ПРАВИЛЬНЫЙ ОТВЕТ: Чтобы получить значение колонки следующей строки, её нужно Получить(); Никак иначе как кроме ТЗ ты не сделаешь - это же есть самый простой способ |
|||
|
32
MikleV
24.08.06
✎
17:06
|
(31) я уже понял.
|
|||
|
33
viktosha
24.08.06
✎
17:08
|
(31)В том-то и дело, что после Delphi 1С как-то с трудом
Всем: ну раз ТЗ, значит ТЗ, всем спасибо |
|||
|
34
Bahmet
24.08.06
✎
17:09
|
(33)Delphi 1С- новый язык программирования???
|
|||
|
35
viktosha
24.08.06
✎
17:10
|
(34)ХИ-хи-хи, как смешно!!!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |