![]() |
![]() |
![]() |
|
Создание прикладного объекта по метаданным | ☑ | ||
---|---|---|---|---|
0
quux
26.11.14
✎
10:23
|
Добрый день.
Подскажите есть ли возможность создания прикладного объекта по метаданным: Есть строка - "РегистрСведений.РегистрацияИзмененийОбъектов" Как создать сам объект РегистрСведений для дальнейшей работы с ним? |
|||
1
СвинТуз
26.11.14
✎
10:24
|
это не объект
|
|||
2
Гёдза
26.11.14
✎
10:25
|
Новый(ТипОбъекта)
|
|||
3
Banned
26.11.14
✎
10:26
|
Хм... создать регистр сведений? Неплохая попыптка, но нет.
|
|||
4
СвинТуз
26.11.14
✎
10:26
|
(2)
это не объект НаборЗаписей=РегистрыСведений.РегистрацияИзмененийОбъектов.СоздатьНаборЗаписей(); могу путать=двоечник ... |
|||
5
piter3
26.11.14
✎
10:27
|
а для зачем?
|
|||
6
Ненавижу 1С
гуру
26.11.14
✎
10:28
|
(4) или МенеджерЗаписи
|
|||
7
СвинТуз
26.11.14
✎
10:33
|
(6)
и : НаборЗаписей.Записать(Истина); ))) будет весело. |
|||
8
СвинТуз
26.11.14
✎
10:33
|
осторожнее не сотри все записи
|
|||
9
quux
26.11.14
✎
10:43
|
При той формулировке темы которая у меня получилась, весьма сдержанная реакция :-) Ожидал более активную пляску на моих костях...
Попытаюсь уточнить. Есть список строк с именами объектов "РегистрСведений.РегистрацияИзмененийОбъектов" "Справочник.ЕдиницыИзмерения" "РегистрСведений.ЗначенияСвойствОбъектов" ... Необходимо создать объект с которым уже дальше буду работать. |
|||
10
quux
26.11.14
✎
10:45
|
...
Для Регистров - набор записей Для Справочников, Документов - объект |
|||
11
Banned
26.11.14
✎
10:47
|
(9) Для "РегистрСведений.РегистрацияИзмененийОбъектов" ты объект не создашь.
|
|||
12
quux
26.11.14
✎
10:47
|
(11) см сообщение (10)
|
|||
13
Banned
26.11.14
✎
10:48
|
(12) Тогда парси строку и делай, что нужно. [] тебе в помощь.
|
|||
14
Крошка Ру
26.11.14
✎
10:48
|
(11) Да легко:
Если ИмяОбъекта = "РегистрСведений.РегистрацияИзмененийОбъектов" Тогда НаборЗаписей = РегистрыСведений.РегистрацияИзмененийОбъектов.СоздатьНаборЗаписей(); КонецЕсли; |
|||
15
quux
26.11.14
✎
10:50
|
(14) ммммм отличный план конечно... у меня уже так написано... охота что-то изящнее :-)
|
|||
16
Крошка Ру
26.11.14
✎
10:53
|
(15)
Если Найти(ИмяОбъекта,"РегистрСведений")>0 Тогда ИмяОбъекта = Прав(ИмяОбъекта,17); Выполнить("НаборЗаписей = РегистрыСведений."+ИмяОбъекта+".СоздатьНаборЗаписей()"); КонецЕсли; |
|||
17
Banned
26.11.14
✎
10:54
|
(16) А выполнить() зачем?
нз = РегистрыСведений[ИмяОбъекта].СоздатьНаборЗаписей() |
|||
18
mooo
26.11.14
✎
11:01
|
(0) Посмотри в любой типовой общий модуль "ОбщегоНазначения", там есть блок процедур для работы с метаданными.
Эта например МенеджерОбъектаПоПолномуИмени(ПолноеИмя) |
|||
19
Ненавижу 1С
гуру
26.11.14
✎
11:02
|
1. Находим точку в строке, находим 1-ю подстроку до нее и 2-ю после нее
2. По первой определяем менеджера и имя метода 3. По второй имя 4. Чтото = ТвойМенеджер[ИмяОбъекта].ИмяМетода(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |