|
Сравнение значения выборки со всеми остальными |
☑ |
0
BaldKiwi
16.02.21
✎
11:38
|
Добрый утро, видимо еще не проснулся, но вопрос достаточно глупый скорее всего, у меня есть запрос, Допустим Выборка = Запрос.Выполнить().Выбрать(); Как мне из выборки первое значение присвоить переменной, а после в цикле Выборка.Следующий() , Проверять равно-ли первое значение всем остальным? что-то встал на месте и не могу сообразить
|
|
1
hhhh
16.02.21
✎
11:44
|
(0) сравнение идет при помощи знака "=". Ничего другого пока не придумали.
|
|
2
BaldKiwi
16.02.21
✎
11:46
|
(1) Это понятно, но если я после Выборка.Следущий напишу Переменная = Выборка.НужноеПоле, а после уже условие буду писать, то в принципе смысла от моей Переменной нет, она постоянно будет принимать значение такое же как у выборки
|
|
3
BaldKiwi
16.02.21
✎
11:47
|
(1) не писать же Выборка.Следующий, присваивать переменной значение, а после делать цикл Выборка.Следующий()
|
|
4
mkalimulin
16.02.21
✎
11:48
|
(0) Два способа. Либо две переменные ЗначениеПервого и ЭтоНачало, либо присвоить на старте "неопределено"
|
|
5
Михаил Козлов
16.02.21
✎
11:48
|
этоПервая = ИСТИНА;
ПОКА выборка.Следующий() Цикл
Если этоПервая Тогда переменная = выборка....; этоПервая = ЛОЖЬ;
|
|
6
mkalimulin
16.02.21
✎
11:48
|
(3) А можно и так.
|
|
7
BaldKiwi
16.02.21
✎
11:49
|
(4) (5) Всё спасли, что-то голова с утра не работает вообще, спасибо
|
|
8
Василий Алибабаевич
16.02.21
✎
11:50
|
(1) Оператор присваивания выглядит, стсуко, точно также : "=".
(2)
Примерно так:
ПервоеЗначение = 0;
Пока Выборка.Следующий() Цикл
Если ЗначениеЗаполнено(ПервоеЗначение) Тогда
СравнитьСПервым...
Иначе
ПервоеЗначение = Выборка.<ИмяПоля>
КонецЕсли;
КонецЦикла;
|
|
9
Михаил Козлов
16.02.21
✎
11:52
|
НЕОПРЕДЕЛЕНО короче выходит.
|
|
10
Малыш Джон
16.02.21
✎
12:02
|
(0) Такой вариант не предлагать?
Если Выборка.Следующий() Тогда
<присваиваем>
КонецЕсли;
Пока Выборка.Следующий() Цикл
<сравниваем>
КонецЦикла;
|
|
11
BaldKiwi
16.02.21
✎
12:32
|
(10) Такой вариант не совсем оптимальный же, зачем делать 2 цикла, можно сделать короче
Выборка.Следующий();
Переменная = Выборка.Поле1;
Пока Выборка.Следующий Цикл
Если ... = ... Тогда
КонецЦикла
|
|
12
BaldKiwi
16.02.21
✎
12:33
|
(8) Сделал примером с Истина/Ложь
(9) можно и так)
|
|
13
Малыш Джон
16.02.21
✎
13:13
|
(11) а где в (10) два цикла? О_о
|
|
14
Kassern
16.02.21
✎
13:18
|
(11) в твоем результате будешь косяк, если к примеру выборка пустой окажется
|
|
15
Kassern
16.02.21
✎
13:19
|
(14) блин опечатался, щас еще за распространение забанаят....
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший