Проект

Общее

Профиль

Универсальные процедуры и функции (метаданные) » История » Версия 2

Всеволод Дорофеев, 04.06.2017 06:45

1 1 Всеволод Дорофеев
h1. Универсальные процедуры и функции (метаданные)
2 1 Всеволод Дорофеев
3 2 Всеволод Дорофеев
h3. Возвращает полное имя объекта метаданных по переданному значению ссылки
4 2 Всеволод Дорофеев
5 2 Всеволод Дорофеев
<pre>
6 2 Всеволод Дорофеев
// Возвращает полное имя объекта метаданных по переданному значению ссылки
7 2 Всеволод Дорофеев
// Например,
8 2 Всеволод Дорофеев
//  "Справочник.Номенклатура";
9 2 Всеволод Дорофеев
//  "Документ.ПриходнаяНакладная"
10 2 Всеволод Дорофеев
//
11 2 Всеволод Дорофеев
// Параметры:
12 2 Всеволод Дорофеев
//  Ссылка - ЛюбаяСсылка - значение ссылки, для которого необходимо получить имя таблицы ИБ
13 2 Всеволод Дорофеев
// 
14 2 Всеволод Дорофеев
// Возвращаемое значение:
15 2 Всеволод Дорофеев
//  Строка - полное имя объекта метаданных для указанного значения ссылки
16 2 Всеволод Дорофеев
//
17 2 Всеволод Дорофеев
Функция ИмяТаблицыПоСсылке(Ссылка) Экспорт
18 2 Всеволод Дорофеев
    
19 2 Всеволод Дорофеев
    Возврат Метаданные.НайтиПоТипу(ТипЗнч(Ссылка)).ПолноеИмя();
20 2 Всеволод Дорофеев
    
21 2 Всеволод Дорофеев
КонецФункции
22 2 Всеволод Дорофеев
</pre>
23 2 Всеволод Дорофеев
24 1 Всеволод Дорофеев
h3. Получение реквизитов объектов (справочников и документов)
25 1 Всеволод Дорофеев
26 1 Всеволод Дорофеев
Получения реквизитов документа:
27 1 Всеволод Дорофеев
<pre>
28 1 Всеволод Дорофеев
Для Каждого Реквизит Из Документ.Метаданные().Реквизиты Цикл
29 1 Всеволод Дорофеев
        НоваяСтрока = РеквизитыДокумента.Добавить();
30 1 Всеволод Дорофеев
        НоваяСтрока.Реквизит = Реквизит.Имя;
31 1 Всеволод Дорофеев
        НоваяСтрока.Значение = Документ[Реквизит.Имя];
32 1 Всеволод Дорофеев
КонецЦикла;
33 1 Всеволод Дорофеев
</pre>
34 1 Всеволод Дорофеев
35 1 Всеволод Дорофеев
РеквизитыДокумента - таблица значений с двумя полями "Реквизит" и "Значение".
36 1 Всеволод Дорофеев
37 1 Всеволод Дорофеев
Получение табличных частей документа и их реквизитов:
38 1 Всеволод Дорофеев
<pre>
39 1 Всеволод Дорофеев
Для Каждого ТабличнаяЧасть Из Документ.Метаданные().ТабличныеЧасти Цикл
40 1 Всеволод Дорофеев
        Сообщить(ТабличнаяЧасть);
41 1 Всеволод Дорофеев
        Для Каждого РеквизитТЧ Из ТабличнаяЧасть.Реквизиты Цикл
42 1 Всеволод Дорофеев
            Сообщить("  -  " + РеквизитТЧ);
43 1 Всеволод Дорофеев
        КонецЦикла
44 1 Всеволод Дорофеев
КонецЦикла;
45 1 Всеволод Дорофеев
</pre>