Имя: Пароль:
1C
1С v8
Можно ли так: Если ххх(Значение)="Перечисление" Тогда... ?
0 Shved_72
 
08.05.13
13:13
Можно ли так: Если ххх(Значение)="Перечисление" Тогда...
что присунуть вместо ХХХ?
ТипЗнч(ЧтоТут)=Тип("ПеречислениеСсылка.СтавкиНДС")не предлагать.
вид перечисления неизвестен и нафиг не нужен.
нужно узнать это справочник или перечисление.
1 Рэйв
 
08.05.13
13:14
Если Найти(Строка(Тип(Чтото)),"Перечисление")>1 Тогда
2 Рэйв
 
08.05.13
13:14
>0 то есть
3 Godofsin
 
08.05.13
13:15
"что присунуть вместо ХХХ"
пятнично, а пятничные ветки закрыли =(
4 Рэйв
 
08.05.13
13:15
только вот если в наименовании спр будет перечисление= тут думать надо
5 Рэйв
 
08.05.13
13:16
можно искать "ПеречислениеСсылка"
6 mikecool
 
08.05.13
13:17
ПеречисленияМенеджер.ТипВсеСсылки (EnumsManager.AllRefsType)
ПеречисленияМенеджер (EnumsManager)
ТипВсеСсылки (AllRefsType)
Синтаксис:

ТипВсеСсылки()
Возвращаемое значение:

Тип: ОписаниеТипов.

Описание:

Получает описание типов, содержащее типы ссылок перечислений.

Доступность:

Сервер, толстый клиент, внешнее соединение.
7 cw014
 
08.05.13
13:17
Если Значение.Метаданные().Родитель = Метаданные.Перечисления тогда
8 1Сергей
 
08.05.13
13:18
(7) а если значение простого типа будет?
9 Shved_72
 
08.05.13
13:19
(1) ругается: Тип не определен
10 Shved_72
 
08.05.13
13:19
(7) ругается: Поле объекта не обнаружено (родитель)
11 Shved_72
 
08.05.13
13:20
сижу в отладчике. в Значении сидит - значение перечислдения
12 1Сергей
 
08.05.13
13:20
(9) отсеки неопределено сразу
13 mikecool
 
08.05.13
13:21
ОписаниеТипов.СодержитТип (TypeDescription.ContainsType)
ОписаниеТипов (TypeDescription)
СодержитТип (ContainsType)
Синтаксис:

СодержитТип(<Тип>)
Параметры:

<Тип> (обязательный)

Тип: Тип.
Тип, вхождение которого проверяется.
Возвращаемое значение:

Тип: Булево.
Истина - указанный тип входит в используемые типы; Ложь - в противном случае.
Описание:

Определяет, входит ли указанный тип в используемые данным объектом типы.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

ПроверяемыйТип = Тип("Строка");
Если ДопустимыеТипы.СодержитТип(ПроверяемыйТип) Тогда
   Сообщить("Описание типов содержит тип " + ПроверяемыйТип);
Иначе
   Сообщить("Описание типов не содержит тип " + ПроверяемыйТип);
КонецЕсли;
14 cw014
 
08.05.13
13:22
Если Метаданные.Перечисления.Содержит(Значение.Метаданные()) тогда
15 Shved_72
 
08.05.13
13:24
(6) красивше бы это, но теперь немогу понять что в левую часть присунуть .... = Перечисления.ТипВсеСсылки() ? тип и типЗнч всегда лож
16 mikecool
 
08.05.13
13:27
Если Перечисления.ТипВсеСсылки().СодержитТип(ТипЗнч(Что определяем)) Тогда
Бинго! это перечисление!!
17 Shved_72
 
08.05.13
13:28
(14) так работает
18 Shved_72
 
08.05.13
13:29
(16) ага. тоже гуд
но как все длинно...
19 1Сергей
 
08.05.13
13:29
(17) ага, "присунь" туда значение строкового типа теперь
20 Shved_72
 
08.05.13
13:32
(19) все взорвется? вроде строк у меня нет в цикле... наверно...
21 1Сергей
 
08.05.13
13:33
(20) ну, если тебе (16) длинно, то оставляй (14)
22 Shved_72
 
08.05.13
13:33
+ (19) в 14 сругалось, 16 выдало Ложь. значит остался один вариант Перечисления.ТипВсеСсылки().СодержитТип(ТипЗнч(Что определяем))
23 Aleksey
 
08.05.13
13:35
// Функция возвращает имя вида объектов метаданных по типу объекта.
//
// Не обрабатываются точки маршрутов бизнес-процессов.
//
// Параметры:
//  Тип       - Тип прикладного объекта, определенный в конфигурации
//
// Возвращаемое значение:
//  Строка       - имя вида объектов метаданных, например, "Справочник", "Документ" ...
//
Функция ВидОбъектаПоТипу(Тип) Экспорт
   
   Если Справочники.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "Справочник";
   
   ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "Документ";
   
   ИначеЕсли БизнесПроцессы.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "БизнесПроцесс";
   
   ИначеЕсли ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "ПланВидовХарактеристик";
   
   ИначеЕсли ПланыСчетов.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "ПланСчетов";
   
   ИначеЕсли ПланыВидовРасчета.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "ПланВидовРасчета";
   
   ИначеЕсли Задачи.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "Задача";
   
   ИначеЕсли ПланыОбмена.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "ПланОбмена";
   
   ИначеЕсли Перечисления.ТипВсеСсылки().СодержитТип(Тип) Тогда
       Возврат "Перечисление";
   
   Иначе
       ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
           НСтр("ru='Неверный тип значения параметра (%1)'"), Строка(Тип));
   
   КонецЕсли;
   
КонецФункции
24 Shved_72
 
08.05.13
13:40
(23) ага есть такая. но это еще длинше
25 Aleksey
 
08.05.13
13:45
(24) Это код из святых писаний, т.е. из типовой
26 Aleksey
 
08.05.13
13:45
// Функция ВидОбъектаПоСсылке возвращает имя вида объектов метаданных
// по ссылке на объект.
//
// Не обрабатываются точки маршрутов бизнес-процессов.
//
// Параметры:
//  Ссылка       - ссылка на объект, - элемент справочника, документ, ...
//
// Возвращаемое значение:
//  Строка       - имя вида объектов метаданных, например, "Справочник", "Документ" ...
//
Функция ВидОбъектаПоСсылке(Ссылка) Экспорт
   
   Возврат ВидОбъектаПоТипу(ТипЗнч(Ссылка));
   
КонецФункции
27 Serginio1
 
08.05.13
13:47
28 Shved_72
 
08.05.13
13:47
вот бы какой нить справочник святых писаний... бывает много вкусного
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой