Снегопат
https://snegopat.ru/forum/

Как получить список всех составных типов в метаданных?
https://snegopat.ru/forum/viewtopic.php?f=3&t=649
Страница 1 из 1

Автор:  artbear [ 18 сен 2014, 19:15 ]
Заголовок сообщения:  Как получить список всех составных типов в метаданных?

Как мы все знаем, составные типы - это зло. Поэтому за ними и запросами к ним нужно следить особо тщательно.

Поэтому родилась хотелка :
Как получить список всех реквизитов составного типа в метаданных с расшифровкой вложенных типов?

Автор:  vladnet [ 19 сен 2014, 09:56 ]
Заголовок сообщения:  Re: Как получить список всех составных типов в метаданных?

Да просто напиши обработку на 1с ;) Ничего сложного то нет.

Автор:  EvilBeaver [ 19 сен 2014, 10:07 ]
Заголовок сообщения:  Re: Как получить список всех составных типов в метаданных?

Артур, в соседнем топике (viewtopic.php?f=3&t=648) мой скрипт, который пробегает по дереву классов метаданных.
Нужно его переделать, чтобы пробегал по дереву объектов, там по-идее, всего-то пару методов заменить. Вот только как тип данных проверить, надо в доке на SnegAPI посмотреть....

Автор:  orefkov [ 19 сен 2014, 11:10 ]
Заголовок сообщения:  Re: Как получить список всех составных типов в метаданных?

Код:
function getFullMDName(mdObj, mdProp)
{
    var names = []
    while(true)
    {
        names.unshift(mdObj.name)
        var className = mdObj.mdclass.name(1)
        if(!mdObj.parent)
            break;
        names.unshift(className)
        //if(!className.length)
        //    break
        mdObj = mdObj.parent
    }
    return names.join('.')
}
stdlib.forAllMdObjects(metadata.current.rootObject, function(mdObj){
   var types = new VBArray(mdObj.types()).toArray()
   if(types.length > 1)
      Message(getFullMDName(mdObj))
})

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/