Имя: Пароль:
1C
 
Получение значения следующей строки таблицы
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)ХИ-хи-хи, как смешно!!!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.