|
Обход метаданных и получение имени макета |
☑ |
0
frau
23.05.18
✎
12:11
|
Всем привет! Для решения задачи необходимо вытащить имена всех печатных форм всех документов. Т.е.должно выйти что-то вроде ТЧ 2 колонки
Документ+ИмяМакета (так как в одном документе их может быть несколько) и флаг(булево).
Создала реквизит формы - ТЧ. В модуле формы пытаюсь вытащить данные.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СписокПечатныхФорм(ТЧ);
КонецПроцедуры
&НаСервере
Процедура СписокПечатныхФорм (ТЧ)
МассивИмен = Новый Массив();
Для Каждого ОбъектМетаданных Из Метаданные.Документы Цикл
Сообщить(ОбъектМетаданных);
КонецЦикла;
КонецПроцедуры
Пока пытаюсь получить
Выходит, естественно, чушь. Буду благодарна за пинок в нужное направление (кроме как закрыть конфигуратор и варить борщ)
|
|
1
Greeen
23.05.18
✎
12:15
|
Как то так вроде
Метаданные.Документы.<имядокумета>.Макеты
|
|
2
frau
23.05.18
✎
12:41
|
У меня несколько десятков видов документов. Выходит, надо все таки руками все прописывать?
|
|
3
Мыш
23.05.18
✎
12:44
|
(2) Вложенные циклы помогут
|
|
4
catena
23.05.18
✎
12:53
|
(2)
Для Каждого ОбъектМетаданных Из Метаданные.Документы Цикл
Сообщить(ОбъектМетаданных);
Для Каждого текМакет из Метаданные.Документы[ОбъектМетаданных.Имя].Макеты Цикл
Сообщить(текМакет);
КонецЦикла;
КонецЦикла;
|
|
5
frau
24.05.18
✎
09:41
|
(4) Метаданные.Документы[ОбъектМетаданных.Имя].Макеты
это сработало!Большое Спасибо!
Немного оптимизировала
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Док = Новый Массив();
Для Каждого ОбъектМетаданных Из Метаданные.Документы Цикл
Для Каждого Макет Из Метаданные.Документы[ОбъектМетаданных.Имя].Макеты Цикл
ДокументМакет = ОбъектМетаданных.Синоним +"\"+ Макет.Синоним;
Сообщить(ДокументМакет);
ДокументМакет = ТЧ.Добавить();
КонецЦикла;
КонецЦикла;
КонецПроцедуры
но теперь не знаю как выводить на форму. Циклично строки добавляются, но пустые
|
|
6
catena
24.05.18
✎
11:17
|
(5)ТЧ.Добавить() - возвращает ссылку на добавленную строку, а не заполняет ее. Реквизиты придется прописывать самостоятельно.
стр = ТЧ.Добавить();
стр.Наименование = Наименование;
стр.Использовать = Истина
и т.д.
|
|
7
DrShad
24.05.18
✎
11:35
|
а самое прикольное, что не все печатные формы это макеты привязанные к объекту как макет )))
|
|
8
DrShad
24.05.18
✎
11:39
|
если БД на базе БСП то есть для этого целый общий модуль
|
|
9
frau
29.05.18
✎
12:55
|
(6) Сама разобралась, но за ответ - спасибо)
(8) Можно подробнее? Или где почитать? Я так поняла, что еще в Общие->макеты хранятся печатные формы.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший