Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение третьего елемента Формы "Переключатель"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
gorik77
Помогите разобраться с настройкой третье элемента Формы "Переключатель" Для вывода на той же форме выбранного варианта в текстовом поле.

При Двух елементах все просто:
    Если ТипОтчета=1 Тогда
        ИмяПеречисления = "Свободна";    
                
    Иначе        
        ИмяПеречисления = "Выдана";    
        
    КонецЕсли;


Формула в текстовом поле Для вывода на форму выбранного варианта:
?(ТипОтчета=1,"Свободна","Выдана")


А вот с третьим Переключателем не могу додуматься как втиснуть его в условие "Если"
Да и с текстовым полем получаются непонятки. При добавлении третьего елемента таким способом:
?(ТипОтчета=1,"Свободна","Выдана","Списана")

Выдает ошибку типа

?(ТипОтчета=1,"Свободна","Выдана"<< ? >>,"Списана")
ожидается символ )


Я так понимаю что третий елемент таким способом не получится подключить, т.к. если я поставлю скобку там де он просит то третий елемент будет бесполезен и будет выдавать ошибку типа не опознанный оператор. иожет каким то другим способом сделать обход? а не через если?
logist
В этом варианте
?(ТипОтчета=1,"Свободна","Выдана")

Может быть только два выбора - да или нет

Множественный наверное будет так
Если а=б тогда ...
ИначеЕсли а=с тогда ...
ИначеЕсли а=л тогда ...
Иначе  ...
КонецЕсли;
Flexy
А если так?
Если ТипОтчета=1 Тогда
        ИмяПеречисления = "Свободна";    
                
    ИначеЕсли        
        ИмяПеречисления = "Выдана";    
    
    Иначе
        ИмяПеречисления = "Списана";  
    КонецЕсли;
gorik77
я пробовал сделать таким способом, просто почемуто сам код не написал в первом посте.

Процедура УстТипОтчета()
    
    Если ТипОтчета=1 Тогда
        ИмяПеречисления = "Свободна";    
        
    ИначеЕсли ТипОтчета=2 Тогда
        ИмяПеречисления = "Выдана";
        
    Иначе        
        ИмяПеречисления = "Списана";    
        
    КонецЕсли;          
    
    
КонецПроцедуры


при етом варианте выдает типа как и было сказано выше, ожидается символ скобка.
Flexy
Ну так ошибка именно в формуле.А не конкретно в условии которое в процедуре, я так понимаю.
И вам в верху ув. LOGIST уже написал, что в сокращенном условии 3 выражения быть не может.
Имхо стоит думать, как корректно написать саму формулу.
gorik77
это я уже понял, что ошибка в том что при той формуле можно использовать всего два варианта. вот в етом и заключается трабла. нужен какой то вариант для того чтоб прописать третий вариант выборки. смотрел умным книгам, но там того что мне нужно и близко нет. Но если убрать ето текстовое поле то вроди как работает. Думаю пидется просто избавиться от етого текстового поля и на его место просто переместить сами переключатели, чтоб было фидно все условия выборки, а не бегать глазами по всей форме чтоб проверить все условия выборки.
а если уважаемый logist подскажет вариант в котором может быть 3 варианта выбора а не 2 то ето будет вообще идеальный вариант.

всем спасибо за советы.
Flexy
Цитата(gorik77 @ 19.05.11, 11:09) необходимо зарегистрироваться для просмотра ссылки
3 варианта выбора

ЕСЛИ, ИЛИ, ИЛИ...

Так прокатит? smile.gif
gorik77
Нет, так не прокатит. Уже ш пришли к выводу что в коде процедуры все нормально. трабла в формуле текстового поля в которое должно выводиться значение выбора. не та формула. а вот какую можно использовать для етого? вот в етом и загвоздка.
Zaval
?(ТипОтчета=1,"Свободна", ?(ТипОтчета=2,"Выдана","Списана"))


А так?
gorik77
Цитата(Zaval @ 19.05.11, 13:08) необходимо зарегистрироваться для просмотра ссылки
?(ТипОтчета=1,"Свободна", ?(ТипОтчета=2,"Выдана","Списана"))


А так?



Спасибо огромное!!! так работает, не придется ковырять форму ))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.