|
Обход метаданных и получение имени макета | ☑ | ||
---|---|---|---|---|
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) Можно подробнее? Или где почитать? Я так поняла, что еще в Общие->макеты хранятся печатные формы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |