![]() |
|
Можно ли так: Если ххх(Значение)="Перечисление" Тогда... ? | ☑ | ||
---|---|---|---|---|
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
|
вот бы какой нить справочник святых писаний... бывает много вкусного
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |