|
Метаданные | ☑ | ||
---|---|---|---|---|
0
Начинающий_13
23.02.15
✎
17:27
|
Здравствуйте
УФ 8.3 Как получить все метаданные обработки без определения ее имени в самой обработке? МетаданныеОбработки = Метаданные.НайтиПоТипу(ТипЗнч(Обработки.ПечатьНакладных)); // это в документе //МетаданныеДокумента = Метаданные.НайтиПоТипу(ТипЗнч(ПустаяСсылка())); |
|||
1
ShoGUN
23.02.15
✎
17:34
|
(0) Если я правильно понял вопрос, то
МетаданныеОбработки = Обработки.ПечатьНакладных.Получить().Метаданные(); |
|||
2
ShoGUN
23.02.15
✎
17:34
|
Пардон
МетаданныеОбработки = Обработки.ПечатьНакладных.Создать().Метаданные(); |
|||
3
Начинающий_13
23.02.15
✎
17:35
|
Я хочу избавиться от имени ПечатьНакладных
|
|||
4
Начинающий_13
23.02.15
✎
17:35
|
Заменить на что надо ??
|
|||
5
Начинающий_13
23.02.15
✎
17:36
|
Как в документе (ПустаяСсылка)
МетаданныеДокумента = Метаданные.НайтиПоТипу(ТипЗнч(ПустаяСсылка())); и экспортируешь все сразу куда надо |
|||
6
ShoGUN
23.02.15
✎
17:36
|
(4) Смотря где. В модуле самой обработки? ЭтотОбъект. Или просто Метаданные(). Если ещё где-то надо обратиться - скажи, где.
|
|||
7
Начинающий_13
23.02.15
✎
17:38
|
Я уже перепробовал все ВСЕГДА ошибка вылетает
|
|||
8
ShoGUN
23.02.15
✎
17:38
|
Какая задача вообще изначально? Метаданные всех обработок выгрузить куда-то?
|
|||
9
ShoGUN
23.02.15
✎
17:39
|
(7) ЧТО и ЗАЧЕМ ты делаешь? Задача какая?
|
|||
10
Начинающий_13
23.02.15
✎
17:39
|
Да записать в ХранилищеЗначений
|
|||
11
Начинающий_13
23.02.15
✎
17:39
|
Все и сразу
|
|||
12
ShoGUN
23.02.15
✎
17:41
|
(10) Ну и?
Для каждого Обработка Из Обработки Цикл МетаданныеОбработки = Обработка.Создать().Метаданные(); КонецЦикла; Не катит? |
|||
13
Wobland
23.02.15
✎
17:42
|
(12) что-то не похоже на "избавиться от имени ПечатьНакладных" ;)
|
|||
14
ShoGUN
23.02.15
✎
17:44
|
(13) ЗАДАЧУ ОЗВУЧЬ!
Нельзя избавиться от имени обработки при выгрузке метаданных конкретной обработки, потому что как бе надо понять какую же конкретную обработку мы выгружать собираемся. А (12) перебирает метаданные всех обработок. |
|||
15
ShoGUN
23.02.15
✎
17:45
|
(13) Тьфу ты, я думал это ТС :) Дятлизм какой-то...
|
|||
16
Начинающий_13
23.02.15
✎
17:47
|
У меня есть обработка ПечатьНакладных в ней заполянются данные для печати самой накладной (место погрузки , разгрузки перевозчик и т.д.) Данные хочу сохранять в хранилище. Все решил. по записи в регистр и получения из регистра. хочу сделать еще лучще и измбавиться от имени обработки
|
|||
17
Начинающий_13
23.02.15
✎
17:48
|
НИкаких ссылок на обработку при этом не надо.
|
|||
18
ShoGUN
23.02.15
✎
17:48
|
(16) Показывай код.
|
|||
19
Wobland
23.02.15
✎
17:48
|
(16) как насчёт избавиться от обработки? и чем лучше
|
|||
20
ShoGUN
23.02.15
✎
17:49
|
Идиотизм какой-то. Данные документа должны храниться в документе.
|
|||
21
prog-Igor
23.02.15
✎
17:49
|
покажите код!
|
|||
22
Начинающий_13
23.02.15
✎
17:49
|
&НаСервере
Процедура СохранитьНастройкиПечатиДокументов() //МетаданныеДокумента = Метаданные.НайтиПоТипу(ТипЗнч(ПустаяСсылка())); МетаданныеОбработки = Метаданные.НайтиПоТипу(ТипЗнч(Обработки.ПечатьНакладных)); /// ????? Если ЗначениеЗаполнено(Объект.СсылкаНаОбъект) Тогда //сформируем структуру настроек СтруктураНастроек = новый Структура; //Для каждого Ключ Из Объект.Метаданные().Реквизиты Цикл Для каждого Ключ Из МетаданныеОбработки.Реквизиты Цикл СтруктураНастроек.Вставить(Ключ.Имя,Объект[Ключ.Имя]); КонецЦикла; //Для каждого ТЧ Из Объект.Метаданные().ТабличныеЧасти Цикл Для каждого ТЧ Из МетаданныеОбработки.ТабличныеЧасти Цикл СтруктураНастроек.Вставить(ТЧ.Имя,Объект[ТЧ.Имя].Выгрузить()); КонецЦикла; НаборЗаписей = РегистрыСведений.ХранилищеДанныхПечатиНакладных.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.ДокументСсылка.Установить(Объект.СсылкаНаОбъект); НаборЗаписей.Отбор.Обработка.Установить(Строка(Объект)); НаборЗаписей.Прочитать(); Если НаборЗаписей.Количество() = 0 Тогда НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Настройка = Новый ХранилищеЗначения(СтруктураНастроек); НоваяЗапись.ДокументСсылка = Объект.СсылкаНаОбъект; НоваяЗапись.Обработка = Строка(Объект); Иначе //перезапишем настройку Запись = НаборЗаписей[0]; Запись.Настройка = Новый ХранилищеЗначения(СтруктураНастроек); КонецЕсли; НаборЗаписей.Записать(); КонецЕсли; КонецПроцедуры |
|||
23
Начинающий_13
23.02.15
✎
17:50
|
Все прекрасно работает
|
|||
24
ILM
гуру
23.02.15
✎
17:52
|
(14) Первое правило обработки: - никому не рассказывать про имя обработки)))
Сохраняйте в структуру как простой ключ и значение, потом уже упакуйте в хранилище |
|||
25
Wobland
23.02.15
✎
17:52
|
(22) ну избавься от обработки совсем и имена сохраняемых реквизитов тащи откуда-нибудь ещё
|
|||
26
ILM
гуру
23.02.15
✎
17:52
|
О уже написали
|
|||
27
Wobland
23.02.15
✎
17:53
|
можно обработку переименовать в Людмилу. тогда обращение по имени не будет таким противным
|
|||
28
ShoGUN
23.02.15
✎
17:54
|
(22) Ну и чего? Если ты хочешь сделать универсальную процедуру - передавай в неё имя/объект обработки. А иначе как ты от имени избавишься - непонятно, для какой же обработки эти настройки.
|
|||
29
ShoGUN
23.02.15
✎
17:55
|
Или тут просто беда с преобразованием данных форму в объект? :))
|
|||
30
Начинающий_13
23.02.15
✎
17:55
|
Я как раз универсальную и хочу сделать для отчетов потом пойдет еще
|
|||
31
Начинающий_13
23.02.15
✎
17:58
|
(28) Мысль потом проверю
|
|||
32
Начинающий_13
23.02.15
✎
18:00
|
Спасибо Работа уже заканчивается пора идти.
|
|||
33
ShoGUN
23.02.15
✎
18:00
|
(30) Может тебе надо
МетаданныеОбработки = РеквизитФормыВЗначение("Объект").Метаданные(); ? Спрашивал же в (6)... |
|||
34
ShoGUN
23.02.15
✎
18:01
|
Но (28) это не отменяет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |