Имя: Пароль:
1C
 
Как в коде программы посмотреть состав плана обмена?
0 Dunstan
 
22.04.10
16:32
Какие объекты включены в авторегистрацию?
1 skunk
 
22.04.10
16:35
Метаданные().ПланыОбмена.Полный.Состав?
2 IronDemon
 
22.04.10
16:37
ТекущийПланОбмена = Метаданные.ПланыОбмена[ВыбранноеЗначение.Имя];
СоставОбмена = ЗаполнитьСоставОбмена(ТекущийПланОбмена);


// Функция создает таблицу значений и заполняет ее составом плана обмена
//
// Параметры:
//  ПланОбменаМетаданные - объект описания метаданного ПланОбмена, для которого
//                         необходимо заполнить состав.
//
// Возвращаемое значение:
//  СоставПланаОбмена - таблица значений, содержащая состав плана обмена и
//                      виды регистрации изменений данных для объектов
//

Функция ЗаполнитьСоставОбмена(ПланОбменаМетаданные) Экспорт
   
   СоставПланаОбмена = Новый ТаблицаЗначений;
   СоставПланаОбмена.Колонки.Добавить("ОбъектМетаданных", , "Объект метаданных");
   СоставПланаОбмена.Колонки.Добавить("Регистрация", , "Регистрация");
   СоставПланаОбмена.Колонки.Добавить("ЭлементСостава");
   Состав = ПланОбменаМетаданные.Состав;
   
   // заполняем таблицу значений составом
   Для каждого Элемент из Состав Цикл
       
       Стр = СоставПланаОбмена.Добавить();
       Стр.ЭлементСостава = Элемент;
       Стр.Регистрация = РегистрацияИзменений_НеРегистрировать;
       Стр.ОбъектМетаданных = Элемент.Метаданные.Имя;
       
       // Определяем какой это объект описания метаданного
       ВидОбъекта = ВидОбъектаМетаданныхОбмена(Элемент.Метаданные);
       
       // Если успешно определили, то устанавливаем полное имя
       Если ВидОбъекта <> Неопределено Тогда
           
           Стр.ОбъектМетаданных = ПолноеИмяОбъектаМетаданных(Элемент.Метаданные);
           
       КонецЕсли;
           
   КонецЦикла;
   
   СоставПланаОбмена.Сортировать("ОбъектМетаданных");
   Возврат СоставПланаОбмена;
   
КонецФункции    // ЗаполнитьСоставОбмена(ПланОбмена) Экспорт
3 Dunstan
 
22.04.10
18:03
Спасибо. А это функция их типовой конфы?
4 Живой Ископаемый
 
22.04.10
18:25
А как проверить входит ли определенный РС в состав плана обмена?
5 Живой Ископаемый
 
22.04.10
18:39
вернее у нас есть
Переменная;Значение;Тип:

СтрокаСсылка.Данные;РегистрСведенийКлючЗаписи.РедакторОбъекта;РегистрСведенийКлючЗаписи.РедакторОбъекта
6 Михей
 
22.04.10
18:45
Метаданные().ПланыОбмена.Полный.Состав.Содержит(РегистрСведенийКлючЗаписи.РедакторОбъекта.Метаданные())
7 Живой Ископаемый
 
22.04.10
18:50
2(6){(1,49)}: Переменная не определена (РегистрСведенийКлючЗаписи)
8 Serg_1960
 
22.04.10
18:55
Если Метаданные.ПланыОбмена.Полный.Состав.Содержит(Метаданные.Документы.ТребованиеНакладная) Тогда
9 Живой Ископаемый
 
22.04.10
18:57
2(8) Как получить Метаданные.Документы.ТребованиеНакладная имея Документ-ссылк, понятно.. А как получить
Метаданные.РегистрыСведений.МойРС имея (5)?
10 Живой Ископаемый
 
22.04.10
19:06
Все, нашел...
Вот так:

Метаданные.ПланыОбмена[Узел.Метаданные().Имя].Состав.Содержит(Метаданные.найтиПоТипу(ТипЗнч(СтрокаСсылка.Данные)))
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн