Имя: Пароль:
1C
1С v8
Как получить тип системного перечисления?
0 ВалераОшкин
 
07.03.13
13:39
Как сравнить
   
Если ТИПЗНЧ(РезультатОтвета) = ТИП("КодВозвратаДиалога.Таймаут")
?
1 ВалераОшкин
 
07.03.13
13:40
Мне надо определить, какой тип возвращает Вопрос.
Возвращать может строковое значение и КодВозвратаДиалога.Таймаут
2 ВалераОшкин
 
07.03.13
13:54
Извратился вот так, мучаться не стал не стал:

СписокКнопок = Новый СписокЗначений;
       СписокКнопок.Добавить(КодВозвратаДиалога.Отмена,"Отменить формирование");
       СписокКнопок.Добавить(КодВозвратаДиалога.ОК,"Все равно продолжить");
       СписокКнопок.Добавить(КодВозвратаДиалога.Повторить,"Посмотреть список документов");
       
       РезультатОтвета = Вопрос("По документу уже формировалась регистрация оплат!",СписокКнопок,120,,,);
       
       Если РезультатОтвета = КодВозвратаДиалога.Таймаут Тогда
           Возврат Истина;
       ИначеЕсли РезультатОтвета = КодВозвратаДиалога.Отмена Тогда
           Возврат Истина;
       ИначеЕсли РезультатОтвета = КодВозвратаДиалога.ОК Тогда
           Возврат Ложь;
       ИначеЕсли РезультатОтвета = КодВозвратаДиалога.Повторить Тогда
           
           МассивСсылок = РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Ссылка");
           Сп = Новый СписокЗначений;
           Сп.ЗагрузитьЗначения(МассивСсылок);
           
           ФормаСпискаРегистраций = Документы.КВП_РегистрацияОплаты.ПолучитьФормуСписка(,,Новый УникальныйИдентификатор);
           ЭлементОтбора = ФормаСпискаРегистраций.Отбор.Ссылка;
           ЭлементОтбора.ВидСравнения = ВидСравнения.ВСписке;
           ЭлементОтбора.Значение = Сп;
           ЭлементОтбора.Использование = Истина;
           
           ФормаСпискаРегистраций.Открыть();
           
           Возврат Истина;
       КонецЕсли;
3 ВалераОшкин
 
07.03.13
13:57
Вообще, я так понимаю, что ТИП() системного перечисления получить невозможно?
4 butterbean
 
07.03.13
13:59
(3) непонятно что ты хочешь увидеть... у КодВозвратаДиалога.Таймаут тип "КодВозвратаДиалога"
5 Reset
 
07.03.13
13:59
(3) Тип("КодВозвратаДиалога")
6 Живой Ископаемый
 
07.03.13
14:01
еще есть ЗначениеВСтрокуВентур и ХМЛТипЗнч()
7 ВалераОшкин
 
07.03.13
14:13
Спасибо всем.
8 oleg_km
 
07.03.13
14:20
Вот так делаю:

ТИПЗНЧ(РезультатОтвета) = ТИПЗНЧ(КодВозвратаДиалога.Таймаут)
9 ВалераОшкин
 
07.03.13
14:24
(8) тоже вариант. Я ожидал, что КодВозвратаДиалога.Таймаут - это отдельный тип
10 Defender aka LINN
 
07.03.13
14:27
(8) О_О
(1) Не кури больше эту дрянь.

Возвращаемое значение:

Тип: Произвольный.
В зависимости от реакции пользователя возвращается значение системного перечисления или значение, связанное с нажатой кнопкой.
В случае закрытия диалога по истечении времени ожидания возвращается значение Таймаут.
11 Reset
 
07.03.13
14:31
(9) С чего это оно отдельный тип?
12 Defender aka LINN
 
07.03.13
14:32
(11) Та тут сборище наркоманов какое-то.
13 Reset
 
07.03.13
14:33
(9) Вот тебе для понимания:
ТипЗнч(10)=ТипЗн(20) // омг, Истина

(12) похоже на то
14 ВалераОшкин
 
07.03.13
14:53
(12) ну код-то в (2) хорошо написал, или чего посоветуешь? :)
15 Defender aka LINN
 
07.03.13
14:57
(14) В (2) нормально. А вот с типам - какое наркотство.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан