Имя: Пароль:
1C
1С v8
Быстрая проверка на заполнение одного значения
0 picom
 
13.09.11
12:03
Не могу придумать алгоритм быстрой проверки заполнения "лишь одного"
Итак
Есть реквизиты
А
Б
В
Г

В них заносятся цифры
А должно быть заполнено лишь одно значение на выбор
Программа должна ругаться если занесена информация в более чем одно поле

Как осуществить эту проверку программно

Вариант
Если А > 0 и Б > 0 тогда ругачка не предлагать
1 Axel2009
 
13.09.11
12:04
лишь одно -
А > 0 Или Б > 0 Или В > 0 Или Г > 0
2 Maxus43
 
13.09.11
12:04
запросом!)
3 acsent
 
13.09.11
12:04
Посчитать колво заполненных
4 picom
 
13.09.11
12:04
()3 Воот, а как
5 Нуф-Нуф
 
13.09.11
12:05
сделать переключатель и открывать для доступа только один из реквизитов
6 acsent
 
13.09.11
12:05
Колво = ?(А <> 0, 1, 0) + ?(Б <> 0, 1, 0) + ...
7 Axel2009
 
13.09.11
12:06
Сч = 0
Если А > 0 Тогда Сч = Сч + 1; КонецЕсли;
...
Если Сч > 1 Тогда..
8 acsent
 
13.09.11
12:06
(5) + 1
9 forforumandspam
 
13.09.11
12:07
(6) Колво = 0 + (А <> 0) + (Б <> 0) + ...
10 picom
 
13.09.11
12:08
(9) (А <> 0) вернет единицу ?
11 Maxus43
 
13.09.11
12:08
(9) 0 + Истина сколько получится?
12 forforumandspam
 
13.09.11
12:09
(10)(11) Сначала проверьте
13 picom
 
13.09.11
12:15
(9) Крутяк
проверяю
Если 0 + (А <> 0) + (Б <> 0) <> 1 Тогда
14 FIXXXL
 
13.09.11
12:23
(0)при занесении значения проверяй, если отлично от 0, блокируй остальные элементы, если 0 - разблокируй все
15 Сергей Д
 
13.09.11
12:24
Если не отрицательные, то А+Б+В+Г<>0
Но чем плох вариант из (1)?
16 picom
 
13.09.11
12:28
(15) а если а и б заполнено ?
17 Ненавижу 1С
 
гуру
13.09.11
12:31
(А*А+Б*Б+В*В+Г*Г = (А+Б+В+Г)*(А+Б+В+Г))
И (А+Б+В+Г)>0
18 Aprobator
 
13.09.11
13:39
(0). Тупо в форме поставить, что если 1 реквизит заполнил, то другие обнуляются и доступ к их редактированию закрыть. Ну, соответственно, при обнулении реквизита, доступ на редактирование открывается. Ну и при открытии (если реквизиты сохраняются), тоже прописать небольшую контрольку.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс