Имя: Пароль:
1C
 
Есть счет. Есть Субконто. Как узнать возможные типы Субконто ?
0 Grekos2
 
27.03.18
15:01
1С 8.х
   Есть счет. Есть Субконто. Как узнать возможные типы Субконто ?
  
   Как узнать какого типа справочники и документы могут принимать значене Субконто.
1 zak555
 
27.03.18
15:04
типы ПВХ
2 Grekos2
 
27.03.18
15:12
(1) Не совсем понял. Нельзя ли поподробнее ?
3 sidalexsandr
 
27.03.18
15:24
(2) Вроде  правила вида характеристик
4 1Сергей
 
27.03.18
15:26
(3) планы
5 unregistered
 
27.03.18
15:27
Для первого субконто как-то так:
Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения
6 Grekos2
 
27.03.18
15:33
(5) Это я уже сделал
    В дебагере показывает, что там описание типов.

   Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения.Типы()

то получаем массив.

  Как отсюда узнать, что тип значениея - справочник.номенклатура например ?
7 Kondarat
 
27.03.18
15:35
МассивТипов = Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения.Типы()
Если МассивТипов.Найти(ТипЗнч("СправочникСсылка.Номенклатура"))<>НЕопределено Тогда
      Сообщить("Это номенклатура");
КонецЕсли;
8 Grekos2
 
27.03.18
15:38
(7) Это если я хочу проверить какой то тип в описании.
    Мне нужно знать все типы которые там.
  
    Есть ли способ кроме перебора всех справочников и докуметов ?
9 Kondarat
 
27.03.18
15:40
Перебери МассивТипов и узнай. Что за задача, то?
10 Evgenchik
 
27.03.18
15:44
ты же массив типов получил, чего тебе еще надо?
11 Grekos2
 
27.03.18
15:52
Получить что то типа строки(строк)
  "Справочник.Номенклатура"


  Вот по этому элементу массива Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения.Типы()[0] достаточно трудно определить документ - справочник это или перечисление.
12 Grekos2
 
27.03.18
15:54
Конечно же
Тип("СправочникССылка.Номенклатура") = Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения.Типы()[0]

  Истина.
  
  Но так придется все справочники перебирать
13 Grekos2
 
27.03.18
15:55
Хотя если подумать то сойдет и так.
14 Evgenchik
 
27.03.18
16:14
а так?
Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Номенклатура"))
15 Kondarat
 
27.03.18
16:16
МасиивТипов = Новый Массив();
    МасиивТипов.Добавить(Тип("СправочникСсылка.Номенклатура"));
    МасиивТипов.Добавить(Тип("ДокументСсылка.ПоступлениеТоваровУслуг"));
    МасиивТипов.Добавить(Тип("ПеречислениеСсылка.ВидыБизнесПроцессов"));
    
    ДЛя Каждого ТипОбъекта ИЗ МасиивТипов Цикл
        
        МетаданныеТипа = Метаданные.НайтиПоТипу(ТипОбъекта);
        
        Если Метаданные.Справочники.Содержит(МетаданныеТипа) Тогда
            Сообщить(МетаданныеТипа.ПолноеИмя());
        ИначеЕсли Метаданные.Документы.Содержит(МетаданныеТипа) Тогда    
            Сообщить(МетаданныеТипа.ПолноеИмя());
        ИначеЕсли Метаданные.Перечисления.Содержит(МетаданныеТипа) Тогда    
            Сообщить(МетаданныеТипа.ПолноеИмя());
        КонецЕсли;    
        
    КонецЦикла;
16 eenvo
 
27.03.18
16:21
> МетаданныеТипа = Метаданные.НайтиПоТипу(ТипОбъекта);
> Если Метаданные.Справочники.Содержит(МетаданныеТипа)
Извращенец.

Справочники.ТипВсеСсылки.Содержит(...)
17 unregistered
 
27.03.18
16:22
(11) >> Получить что то типа строки(строк) "Справочник.Номенклатура"

Зачем?....
Бред какой-то....

(15) Мусье знает толк в извращениях.

В (14) правильный ответ на (6)
В (5) ответ на вопрос из (0)

(16) О. Ещё один маньяк...
18 Kondarat
 
27.03.18
16:34
(16) Да, точно совсем забыл.
(17) Автор поста относится к тем участникам форума, которые совершенно точно знают что, кому, зачем и почему нужно...
19 unregistered
 
27.03.18
16:48
(18) >> Автор поста относится к тем участникам форума, которые совершенно точно знают...

Хмммм... Не исключено. Мне определенно нравится эта мысль. Вселяет уверенность в себе и приятно ласкает ЧСВ.
20 Kondarat
 
27.03.18
16:53
(19) Ну, тогда
Получить что то типа строки(строк)
  "Справочник.Номенклатура"

Просто без Зачем?, Бред какой-то...
Ваше решение?
21 unregistered
 
27.03.18
17:26
(20) >> Ваше решение?

Ветку пересмотри внимательно.
Ответ на вопрос из (0) я дал в (5).
Ответ на вопрос из (6) был дан другим автором в посте (14). О чем я упомянул в (17).

Какие вопросы - такие и ответы.
Автор ветки не захотел описывать свою задачу. Сначала он спрашивал об одном (как узнать тип значения субконто), потом о другом (как узнать конкретный тип значения).
Потом возник идиотский вопрос "Получить что то типа строки".

Исходя из этих метаний автора ветки становится понятным, что перед ним стоит задача проверки вхождения или соответствия типов. Для этого явно не нужно получать "что-то типа строки". Именно поэтому я и написал в (17), что это бред.

Другой вопрос, для какой цели он проверяет соответствие типов. Вполне возможно, что речь идет об элементе какой-нибудь формы, где проверку можно сделать указав связь по типу и никакой код писать вовсе не нужно. Ну да фиг его знает - что там у автора в башке...
22 Ц_У
 
27.03.18
18:38
(21) Ветку утопить, автора забанить!
Или наоборот...
Основная теорема систематики: Новые системы плодят новые проблемы.