|
Выбрать объекты которые НЕ входят в план обмена |
☑ |
0
sergey0703ua
15.05.13
✎
10:48
|
Здравствуйте, кодом ниже в 1С8 можно получить объекты которые входят в определенный план обмена(у них разрешена Авторегистрация), а как можно выбрать объекты которые НЕ включены в план обмена?
Для каждого Элемент из Метаданные.ПланыОбмена.Найти("Полный").Состав Цикл
Сообщить(Элемент.Метаданные.Имя);
КонецЦикла;
|
|
1
NcSteel
15.05.13
✎
10:49
|
Перебрать все объекты метаданных и проверять "содержит" ли состав плана обмена данный объект.
|
|
2
Волшебник
15.05.13
✎
10:50
|
Для каждого Элемент из Метаданные.Справочники Цикл
Если НЕ ПланыОбмена.Полный.Состав.Содержит(Элемент) Тогда
Сообщить(Элемент.Метаданные.Имя);
КонецЕсли
КонецЦикла;
|
|
3
NcSteel
15.05.13
✎
10:59
|
(2) зачем давать готовые алгоритмы. Так ничему и не научится.
|
|
4
sergey0703ua
15.05.13
✎
11:16
|
Спасибо тебе добрый "Волшебник" и тебе злой " NcSteel" тоже спасибо))) может кому еще пригодиться(собрал тут по форуму):
МассивКлассовМетаданных = Новый Массив;
МассивКлассовМетаданных.Добавить("Константы");
МассивКлассовМетаданных.Добавить("Справочники");
МассивКлассовМетаданных.Добавить("Документы");
МассивКлассовМетаданных.Добавить("Отчеты");
МассивКлассовМетаданных.Добавить("Обработки");
Для каждого КлассМетаданных Из МассивКлассовМетаданных Цикл
Для Каждого ОбъектМетаданных Из Метаданные[КлассМетаданных] Цикл
Если НЕ Метаданные.ПланыОбмена["Полный"].Состав.Содержит(ОбъектМетаданных) Тогда
Сообщить(ОбъектМетаданных.ПолноеИмя());
КонецЕсли
КонецЦикла;
КонецЦикла;
КонецПроцедуры
|
|
5
Rovan
гуру
15.05.13
✎
11:20
|
(4) ты забыл ПВХ !
|
|
6
Волшебник
15.05.13
✎
11:21
|
(5) и регистры
|
|
7
Maxus43
15.05.13
✎
11:21
|
(4) ОБРАБОТКИ не МОГУТ быть в планах,
нет регистров ещё и т.д.
|
|
8
Волшебник
15.05.13
✎
11:21
|
Отчеты и Обработки не могут входить в состав плана обмена
|
|
9
mikecool
15.05.13
✎
11:22
|
(4) волшебник? добрый? с каких пор?
|
|
10
Волшебник
15.05.13
✎
11:23
|
(9) как ипотеку выплатил
|
|
11
sergey0703ua
15.05.13
✎
11:29
|
Теперь все красиво:)
МассивКлассовМетаданных = Новый Массив;
МассивКлассовМетаданных.Добавить("Константы");
МассивКлассовМетаданных.Добавить("Справочники");
МассивКлассовМетаданных.Добавить("Документы");
МассивКлассовМетаданных.Добавить("ПланыВидовХарактеристик");
МассивКлассовМетаданных.Добавить("ПланыСчетов");
МассивКлассовМетаданных.Добавить("ПланыВидовРасчета");
МассивКлассовМетаданных.Добавить("РегистрыСведений");
МассивКлассовМетаданных.Добавить("РегистрыНакопления");
МассивКлассовМетаданных.Добавить("РегистрыБухгалтерии");
МассивКлассовМетаданных.Добавить("РегистрыРасчета");
Для каждого КлассМетаданных Из МассивКлассовМетаданных Цикл
Для Каждого ОбъектМетаданных Из Метаданные[КлассМетаданных] Цикл
Если НЕ Метаданные.ПланыОбмена["Полный"].Состав.Содержит(ОбъектМетаданных) Тогда
Сообщить(ОбъектМетаданных.ПолноеИмя());
КонецЕсли
КонецЦикла;
КонецЦикла;
|
|
12
Maxus43
15.05.13
✎
11:30
|
(11) и бессмысленно. зачем это надо то?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший