Имя: Пароль:
1C
1С v8
Переключатели
, ,
0 sovsemnovichek
 
04.09.13
17:51
Не понятно почему так. Три переключателя есть.
Пишу такой код

        Если  ПолучитьПереключатели.Переключатель1 = 0 Тогда
            Номенклатура = Справочники.Номенклатура.НайтиПоКоду(Строка.Код);
            Сообщить("Ищу по коду");
            
        ИначеЕсли ПолучитьПереключатели.Переключатель1 = 1 Тогда
            Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",Строка.Артикул);
            Сообщить("Ищу по артикулу");
        КонецЕсли;


Почему если сравнивать с 0, то срабатывает, а если сравнивать с 1, то происходит игнор и все равно срабатывает условие с 0?
1 Fram
 
04.09.13
17:53
может потому что ПолучитьПереключатели.Переключатель1 всегда равен 0?
2 cincout
 
04.09.13
17:53
Может всё таки там 0 а не 1?
3 sovsemnovichek
 
04.09.13
17:56
Первый переключатель стоит ПервыйВГруппе. У него ВыбираемоеЗначение 0. Но если сделать ВыбираемоеЗначение 1, а остальным 2 и 3, то вообще ничего не срабатывает... Объясните принцип работы... Вроде глупость, а я встрял...
4 Fram
 
04.09.13
17:56
следующий вопрос будет, а почему ПолучитьПереключатели.Переключатель1 всегда равен 0? ведь я же его переключаю.  
Угадал? :)
5 sovsemnovichek
 
04.09.13
17:57
(4) может он по-умолчанию такой всегда?
6 sovsemnovichek
 
04.09.13
17:59
как тогда действовать?
7 Мимохожий Однако
 
04.09.13
18:00
сначала скажи, что ты хочешь ))
8 Fram
 
04.09.13
18:00
(6) я так понимаю это обычные формы?.. все переключатели по порядку должны быть в перечне реквизитов формы.
9 vicof
 
04.09.13
18:17
Лично мне переключатели не нравятся, я бы сделал список выбора. Принцип такой же, а смотрится лучше.
10 sovsemnovichek
 
05.09.13
10:58
Кто-нибудь может объяснить принцип работы с выключателями?
11 sovsemnovichek
 
05.09.13
11:00
Пользовался этой информацией http://infostart.ru/public/92507/
не получается так
12 Крошка Ру
 
05.09.13
11:03
(0) Хз, конечно, но может, потому что там Истина/Ложь, а не 0/1. Ложь с нулем сравнить - корректно, а вот Истина не есть 1.
13 Крошка Ру
 
05.09.13
11:04
(12) Упс, глупость сморозил
14 sovsemnovichek
 
05.09.13
11:16
Блин, как ваще с ними работать? Эта группа как я понимаю, к ней можно обращаться через одну переменную, но реакция происходит только на 0... Непонятно
15 icrocodile
 
05.09.13
11:32
вот, здесь все понятно написано: http://vita-prog.ru/stat/prog1c/prog1c_13.html
16 sovsemnovichek
 
05.09.13
11:32
спасибо) буду разбираться
17 Starhan
 
06.09.13
12:12
()лол,
сам знаешь что проблема не в

Если Значение.Переключатель = 1 Тогда

Потому что оно всегда ноль. Но нам дал именно этот участок кода.
18 Lenka_Boo
 
06.09.13
12:19
(0) У тебя переключатели к какому реквизиту привязаны?
Тип этого реквизита какой? Число, булево или хз?
19 Lenka_Boo
 
06.09.13
12:21
+(18)Порядок обхода переключателей на форме посмотри. Они должны идти друг за другом.
20 sovsemnovichek
 
06.09.13
12:24
Реквизит "Переключатель" типа число
21 sovsemnovichek
 
06.09.13
12:25
(19) Порядок обхода настроен, проверял, там порядок
22 sovsemnovichek
 
06.09.13
12:28
При запуске, когда щелкаешь по Переключателям, то я вывожу сообщение, где я смотрю меняется ли значение реквизита, и оно меняется. Ага, меняется, значит и там должно меняться... Но в отладчике показывает, что всегда 0... И почему так я не могу понять....
23 Lenka_Boo
 
06.09.13
12:33
(22) Полтергейст...
Попробуй поставить тип "строка" и присвоить а, б, в.
И что у тебя в "ПолучитьПереключатели" назначается?
24 sovsemnovichek
 
06.09.13
12:37
ПОлучитьПереключатели, в ней форма, где реквизит мой, который меняется и не меняется блин =)
25 Lenka_Boo
 
06.09.13
12:46
(24) Норм. А то как-то попадались пытающиеся обращаться к каждому переключателю в группе.
26 sovsemnovichek
 
06.09.13
13:04
Если честно, то я даже это пробовал =D
27 sovsemnovichek
 
06.09.13
14:57
Разобрался) Создал новый реквизит обработки и передавал в него значение реквизита. Без него у меня, при нажатии ОК, значение реквизита почему то обнулялось!