Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проверка неравенства
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Sede
Такой вопросик: К примеру допустим есть 4 переменных и их значения (пер1=1, пер2=2, пер3=3, пер4=4).
Необходимо удостоверится что все они разные, делаю проверку :

Если (пер1<>пер2) И (пер1<>пер3) И (пер1<>пер4) И (пер2<>пер3) И (пер2<>пер4) И (пер3<>пер4) Тогда
// Выполняем код
КонецЕсли;


Есть ли другие варианты решения подобных задач.
Зарание спасибо.
logist
Цитата(Sede @ 02.06.15, 9:46) необходимо зарегистрироваться для просмотра ссылки
Есть ли другие варианты решения подобных задач.

Есть, и думаю не один. Например, можно загнать всё в колонку ТЗ, и Свернуть() , если в итоге ТЗ.Количество() = 4 то все разные, если < 4 то есть одинаковые.
Sede
Цитата(logist @ 02.06.15, 9:14) необходимо зарегистрироваться для просмотра ссылки
Есть, и думаю не один. Например, можно загнать всё в колонку ТЗ, и Свернуть() , если в итоге ТЗ.Количество() = 4 то все разные, если < 4 то есть одинаковые.


12201689.gif Супер! Не додумался. Спасиб большое.
vadim007
Если Пер1 <> (Пер1+Пер2+Пер+Пер4)/4 Тогда
     //.....
КонецЕсли;
Vofka
Цитата(vadim007 @ 02.06.15, 10:29) необходимо зарегистрироваться для просмотра ссылки
Если Пер1 <> (Пер1+Пер2+Пер+Пер4)/4 Тогда
     //.....
КонецЕсли;

Я тоже так сначала хотел написать. Но вот, например: пер1 = 5, пер2=6, пер3=4 и пер4 = 5. В результате работы кода выше оно пройдет.
Sede
Цитата(vadim007 @ 02.06.15, 9:29) необходимо зарегистрироваться для просмотра ссылки
Если Пер1 <> (Пер1+Пер2+Пер+Пер4)/4 Тогда
     //.....
КонецЕсли;


Не встречал такого использования. Получается вычисляем спреднее значение 4х переменных и сравниваем с одним из них? Попробовал не работает:

Пер1= 1, (Пер1+Пер2+Пер3+Пер4)/4=(1+2+3+4)/4 = 10/4=2,5

1<>2,5 // выполняется
Переменная пер4=1 тогда:

Пер1=1, (Пер1+Пер2+Пер3+Пер4)/4=(1+2+3+1)/4=7/4=1,75

1<>1,75 //тоже выполняется,а не должно. потому что пер1=пер4

Или чтото не так соображаю 64000000.gif
vadim007
Цитата(Vofka @ 02.06.15, 10:03) необходимо зарегистрироваться для просмотра ссылки
Но вот, например: пер1 = 5, пер2=6, пер3=4 и пер4 = 5

(5+6+4+4)/4=4.75 <> 5

Цитата(Sede @ 02.06.15, 10:13) необходимо зарегистрироваться для просмотра ссылки
Или чтото не так соображаю

А, так вам нужно, чтоб ни одна переменная не совпадала. Тогда этот способ не подходит.
Или через ТЗ, или список.
Vofka
Цитата(vadim007 @ 02.06.15, 11:45) необходимо зарегистрироваться для просмотра ссылки
(5+6+4+4)/4=4.75 <> 5

(5+6+4+5)/4=5
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.