![]() |
![]() |
![]() |
|
Получить список объектов плана обмена | ☑ | ||
---|---|---|---|---|
0
Ангел- Хоронитель
19.10.09
✎
17:57
|
Мне нужно получить список объектов, которые входят в план обмена.
сделал: Для каждого Элемент из Метаданные.ПланыОбмена.Найти("Подразделения").Состав Цикл Сообщить(Элемент.Метаданные.Имя); КонецЦикла; он мне выводит имена справочников, документов, перечислений... а как бы еще получить тип их. то есть чтобы писало что это: документ, справочник или еще что-то? Восмерку первый раз в жизни открыл, не судите строго. |
|||
1
Михей
19.10.09
✎
18:05
|
Сообщить(Элемент.Метаданные.ПолноеИмя());
|
|||
2
Ангел- Хоронитель
19.10.09
✎
18:23
|
(1)а по полному имени получить сам объект как?
|
|||
3
IronDemon
19.10.09
✎
18:30
|
// Функция создает таблицу значений и заполняет ее составом плана обмена
// // Параметры: // ПланОбменаМетаданные - объект описания метаданного ПланОбмена, для которого // необходимо заполнить состав. // // Возвращаемое значение: // СоставПланаОбмена - таблица значений, содержащая состав плана обмена и // виды регистрации изменений данных для объектов // Функция ЗаполнитьСоставОбмена(ПланОбменаМетаданные) Экспорт СоставПланаОбмена = Новый ТаблицаЗначений; СоставПланаОбмена.Колонки.Добавить("ОбъектМетаданных", , "Объект метаданных"); СоставПланаОбмена.Колонки.Добавить("Регистрация", , "Регистрация"); СоставПланаОбмена.Колонки.Добавить("ЭлементСостава"); Состав = ПланОбменаМетаданные.Состав; // заполняем таблицу значений составом Для каждого Элемент из Состав Цикл Стр = СоставПланаОбмена.Добавить(); Стр.ЭлементСостава = Элемент; Стр.Регистрация = РегистрацияИзменений_НеРегистрировать; Стр.ОбъектМетаданных = Элемент.Метаданные.Имя; // Определяем какой это объект описания метаданного ВидОбъекта = ВидОбъектаМетаданныхОбмена(Элемент.Метаданные); // Если успешно определили, то устанавливаем полное имя Если ВидОбъекта <> Неопределено Тогда Стр.ОбъектМетаданных = ПолноеИмяОбъектаМетаданных(Элемент.Метаданные); КонецЕсли; КонецЦикла; СоставПланаОбмена.Сортировать("ОбъектМетаданных"); Возврат СоставПланаОбмена; КонецФункции // ЗаполнитьСоставОбмена(ПланОбмена) Экспорт ///////////////////////////////////////////////////////////////////////////////// // Функция получения полного имени для объектов метаданных верхнего уровня // // Параметры: // ОбъектМетаданных - объект описания метаданного, для которого // необходимо получить полное имя // Коллекция - признак необходимости формирования вида коллекции объектов // метаданных // // Результат: // ВидОбъекта - строка, вид объекта метаданных, Неопределено - если вид не установлен // Функция ВидОбъектаМетаданныхОбмена(ОбъектМетаданных, Коллекция = Ложь) Экспорт ВидОбъекта = Неопределено; Если Метаданные.Константы.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "Константа"; Если Коллекция Тогда ВидОбъекта = "Константы"; КонецЕсли; ИначеЕсли Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "Справочник"; Если Коллекция Тогда ВидОбъекта = "Справочники"; КонецЕсли; ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "Документ"; Если Коллекция Тогда ВидОбъекта = "Документы"; КонецЕсли; ИначеЕсли Метаданные.Последовательности.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "Последовательность"; Если Коллекция Тогда ВидОбъекта = "Последовательности"; КонецЕсли; ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "ПланВидовХарактеристик"; Если Коллекция Тогда ВидОбъекта = "ПланыВидовХарактеристик"; КонецЕсли; ИначеЕсли Метаданные.ПланыСчетов.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "ПланСчетов"; Если Коллекция Тогда ВидОбъекта = "ПланыСчетов"; КонецЕсли; ИначеЕсли Метаданные.ПланыВидовРасчета.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "ПланВидовРасчета"; Если Коллекция Тогда ВидОбъекта = "ПланыВидовРасчета"; КонецЕсли; ИначеЕсли Метаданные.БизнесПроцессы.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "БизнесПроцесс"; Если Коллекция Тогда ВидОбъекта = "БизнесПроцессы"; КонецЕсли; ИначеЕсли Метаданные.Задачи.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "Задача"; Если Коллекция Тогда ВидОбъекта = "Задачи"; КонецЕсли; ИначеЕсли Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "РегистрСведений"; Если Коллекция Тогда ВидОбъекта = "РегистрыСведений"; КонецЕсли; ИначеЕсли Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "РегистрНакопления"; Если Коллекция Тогда ВидОбъекта = "РегистрыНакопления"; КонецЕсли; ИначеЕсли Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "РегистрБухгалтерии"; Если Коллекция Тогда ВидОбъекта = "РегистрыБухгалтерии"; КонецЕсли; ИначеЕсли Метаданные.РегистрыРасчета.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "РегистрРасчета"; Если Коллекция Тогда ВидОбъекта = "РегистрыРасчета"; КонецЕсли; ИначеЕсли ОбъектМетаданных.Родитель() <> Неопределено Тогда Родитель = ОбъектМетаданных.Родитель(); Если ВидОбъектаМетаданныхОбмена(Родитель) = "РегистрРасчета" И Родитель.Перерасчеты.Содержит(ОбъектМетаданных) Тогда ВидОбъекта = "Перерасчет"; Если Коллекция Тогда ВидОбъекта = "Перерасчеты"; КонецЕсли; КонецЕсли; КонецЕсли; Возврат ВидОбъекта; КонецФункции // ВидОбъектаМетаданныхОбмена(ОбъектМетаданных) Экспорт |
|||
4
Ангел- Хоронитель
19.10.09
✎
19:10
|
Спасибо всем.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |