|
|||||||
1С: Как программно получить состав плана обмена
Время создания: 11.12.2012 09:15
Раздел: Компьютер - Windows - 1С - Готовые решения
Запись: xintrea/mytetra_syncro/master/base/13552029455z7pqyx2ki/text.html на raw.github.com
|
|||||||
|
|||||||
// Функция создает таблицу значений и заполняет ее составом плана обмена // // Параметры: // ПланОбменаМетаданные - объект описания метаданного ПланОбмена, для которого // необходимо заполнить состав. // // Возвращаемое значение: // СоставПланаОбмена - таблица значений, содержащая состав плана обмена и // виды регистрации изменений данных для объектов // Функция ЗаполнитьСоставОбмена(ПланОбменаМетаданные) Экспорт
СоставПланаОбмена = Новый ТаблицаЗначений; СоставПланаОбмена.Колонки.Добавить("ОбъектМетаданных", , "Объект метаданных"); СоставПланаОбмена.Колонки.Добавить("Регистрация", , "Регистрация"); СоставПланаОбмена.Колонки.Добавить("ЭлементСостава"); Состав = ПланОбменаМетаданные.Состав;
// заполняем таблицу значений составом Для каждого Элемент из Состав Цикл
Стр = СоставПланаОбмена.Добавить(); Стр.ЭлементСостава = Элемент; Стр.Регистрация = РегистрацияИзменений_НеРегистрировать; Стр.ОбъектМетаданных = Элемент.Метаданные.Имя;
// Определяем какой это объект описания метаданного ВидОбъекта = ВидОбъектаМетаданныхОбмена(Элемент.Метаданные);
// Если успешно определили, то устанавливаем полное имя Если ВидОбъекта <> Неопределено Тогда
Стр.ОбъектМетаданных = ПолноеИмяОбъектаМетаданных(Элемент.Метаданные);
КонецЕсли;
КонецЦикла;
СоставПланаОбмена.Сортировать("ОбъектМетаданных"); Возврат СоставПланаОбмена;
КонецФункции // ЗаполнитьСоставОбмена(ПланОбмена) Экспорт ///////////////////////////////////////////////////////////////////////////////// // Функция получения полного имени для объектов метаданных верхнего уровня // // Параметры: // ОбъектМетаданных - объект описания метаданного, для которого // необходимо получить полное имя // Коллекция - признак необходимости формирования вида коллекции объектов // метаданных // // Результат: // ВидОбъекта - строка, вид объекта метаданных, Неопределено - если вид не установлен // Функция ВидОбъектаМетаданныхОбмена(ОбъектМетаданных, Коллекция = Ложь) Экспорт
ВидОбъекта = Неопределено; Если Метаданные.Константы.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "Константа"; Если Коллекция Тогда
ВидОбъекта = "Константы";
КонецЕсли;
ИначеЕсли Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "Справочник"; Если Коллекция Тогда
ВидОбъекта = "Справочники";
КонецЕсли;
ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "Документ"; Если Коллекция Тогда
ВидОбъекта = "Документы";
КонецЕсли;
ИначеЕсли Метаданные.Последовательности.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "Последовательность"; Если Коллекция Тогда
ВидОбъекта = "Последовательности";
КонецЕсли;
ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "ПланВидовХарактеристик"; Если Коллекция Тогда
ВидОбъекта = "ПланыВидовХарактеристик";
КонецЕсли;
ИначеЕсли Метаданные.ПланыСчетов.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "ПланСчетов"; Если Коллекция Тогда
ВидОбъекта = "ПланыСчетов";
КонецЕсли;
ИначеЕсли Метаданные.ПланыВидовРасчета.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "ПланВидовРасчета"; Если Коллекция Тогда
ВидОбъекта = "ПланыВидовРасчета";
КонецЕсли;
ИначеЕсли Метаданные.БизнесПроцессы.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "БизнесПроцесс"; Если Коллекция Тогда
ВидОбъекта = "БизнесПроцессы";
КонецЕсли;
ИначеЕсли Метаданные.Задачи.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "Задача"; Если Коллекция Тогда
ВидОбъекта = "Задачи";
КонецЕсли;
ИначеЕсли Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "РегистрСведений"; Если Коллекция Тогда
ВидОбъекта = "РегистрыСведений";
КонецЕсли;
ИначеЕсли Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "РегистрНакопления"; Если Коллекция Тогда
ВидОбъекта = "РегистрыНакопления";
КонецЕсли;
ИначеЕсли Метаданные.РегистрыБухгалтерии.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "РегистрБухгалтерии"; Если Коллекция Тогда
ВидОбъекта = "РегистрыБухгалтерии";
КонецЕсли;
ИначеЕсли Метаданные.РегистрыРасчета.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "РегистрРасчета"; Если Коллекция Тогда
ВидОбъекта = "РегистрыРасчета";
КонецЕсли;
ИначеЕсли ОбъектМетаданных.Родитель() <> Неопределено Тогда
Родитель = ОбъектМетаданных.Родитель(); Если ВидОбъектаМетаданныхОбмена(Родитель) = "РегистрРасчета" И Родитель.Перерасчеты.Содержит(ОбъектМетаданных) Тогда
ВидОбъекта = "Перерасчет"; Если Коллекция Тогда
ВидОбъекта = "Перерасчеты";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат ВидОбъекта;
КонецФункции // ВидОбъектаМетаданныхОбмена(ОбъектМетаданных) Экспорт |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|