Имя: Пароль:
1C
1С v8
Ошибка при выборе элемента перечисления
,
0 JinAir
 
09.12.14
09:28
Здравствуйте,столкнулся с такой проблемой. нужно на форме с помощью 2-х реквизитов выполнить операции(сложение,вычитание,умножение) и сохранить результат в Константу "Результат". для этого создал Перечисление "Операции" ...
делаю:

&НаКлиенте
Процедура Вычислит1(Команда)
    ВычислитьНаСервере();
КонецПроцедуры

&НаСервере
Процедура ВычислитьНаСервере()
    Если Перечисления.Операции.Получить(0)
        Тогда Число3 = Число1 + Число2
    ИначеЕсли Перечисления.Операции.Получить(1)
        Тогда Число3 = Число1 - Число2
    ИначеЕсли Перечисления.Операции.Получить(2)
        Тогда Число3 = Число1 * Число2
    КонецЕсли;
    Константы.Результат.Установить(Число3);
    Сообщить("Итог вычисления:" + Константы.Результат.Получить());
КонецПроцедуры

не понимаю, толи я не правильно задал выбор элемента перечисления. ругается "Преобразование к типу Булево не может быть выполнено". помогите пожалуйста
1 Рэйв
 
09.12.14
09:29
Если РеквизитЗнака=Перечисления.Операции.Плюс Тогда
     Число3 = Число1 + Число2;
....
2 pessok
 
09.12.14
09:30
+(1) обращение к перечислениях по предопределенному имени. помещать результат в константу - мрак...
3 Рэйв
 
09.12.14
09:31
(2)Похоже на учебную задачу:-)
При всей своей фантазии не могу придумать реальное применение сабжа
4 pessok
 
09.12.14
09:32
(3) плохому учат, ох плохому :)
5 JinAir
 
09.12.14
09:45
Задачка то учебная,вот только сделал как написали и увы :-(

Если Перечисления.Операции.Сложение
        Тогда Число3 = Число1 + Число2
    ИначеЕсли Перечисления.Операции.Вычитание
        Тогда Число3 = Число1 - Число2
    ИначеЕсли Перечисления.Операции.Умножение
        Тогда Число3 = Число1 * Число2
    КонецЕсли;
6 vicof
 
09.12.14
09:45
Если операция = Перечисления.Операции.Сложение
7 YFedor
 
09.12.14
09:46
(5) Ты правда думаешь, что все сейчас бросятся выяснять, что ты этим хотел сказать?
8 JinAir
 
09.12.14
10:11
(7) нет хочу только чтобы ты
9 JinAir
 
09.12.14
13:47
Выкладываю результат,может быть кому-нибудь пригодится

&НаКлиенте
Процедура Вычислит1(Команда)
    ВычислитьНаСервере();
КонецПроцедуры

&НаСервере
Процедура ВычислитьНаСервере()
// Где "Операции" это имя реквизита содержащее перечисление
    Если Операции = Перечисления.Операции.Сложение
        Тогда Число3 = Число1 + Число2
    ИначеЕсли Операции = Перечисления.Операции.Вычитание
        Тогда Число3 = Число1 - Число2
    ИначеЕсли Операции = Перечисления.Операции.Умножение
        Тогда Число3 = Число1 * Число2
    КонецЕсли;
    Константы.Результат.Установить(Число3);
    Сообщить("Итог вычисления:" + Константы.Результат.Получить());
КонецПроцедуры
10 Рэйв
 
09.12.14
13:49
(9) И "Сообщить" тоже на сервере работает?:-)
11 ДенисЧ
 
09.12.14
13:49
(10) А в чём проблема?
12 13_Mult
 
09.12.14
13:50
(9) врятли
13 Зеленый пень
 
09.12.14
13:50
(9) Сохрани эту ветку. Через два года открой - настроение себе поднимешь.
14 Рэйв
 
09.12.14
13:50
(11)Вроде там
Сообщение=НовыйСообщениеПользователю
только.
Я по крайней мере им пользуюсь
15 ДенисЧ
 
09.12.14
13:51
(14) Нормально сообщить() на сервере работает.
Даже в регламентных
16 13_Mult
 
09.12.14
13:53
(13) +1 )
17 Рэйв
 
09.12.14
13:54
(15)Да, точно работает:-)  В старых версиях вроде не работало.
18 ДенисЧ
 
09.12.14
14:04
(17) Всегда работало. По крайней мере с 8,2,13.
19 ДенисЧ
 
09.12.14
14:05
Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
20 Рэйв
 
09.12.14
14:07
(19)Пару лет назад на курсах, я точно помню, нам говориили именно про то что сообщить не пашет на сервере и надо через сообщениеПользователю работать.Я не помню уж что там за релиз был.

Я с тех пор и не проверял никогда:-) Навреное поправили
AdBlock убивает бесплатный контент. 1Сергей