Имя: Пароль:
1C
 
Как получить тип значений Справочникссылка.<...> ?
0 vasmedv
 
19.04.11
11:53
перебираю все реквизиты формы. когда делаю типзнч(ЭтаФорма[Реквизит.имя]) выдает например "Медицинские карты". а как получить "Справочникссылка.МедицинскиеКарты"?
1 abitfrosty
 
19.04.11
11:55
"Справочникссылка." + типзнч(ЭтаФорма[Реквизит.имя])
2 acsent
 
19.04.11
11:55
ЭтаФорма[Реквизит.имя].Тип
3 vasmedv
 
19.04.11
12:00
re: 2
такого свойства нет, посмотрел в табло.
4 vasmedv
 
19.04.11
12:03
re: 1
во-первых там есть другие реквизиты например с типом строка. а во вторых строки "Медицинские карты" и "МедицинскиеКарты" различаются. там иногда даже единственное число бывает.
5 Шапокляк
 
19.04.11
12:05
ЭтаФорма[Реквизит.имя].Значение.Тип
может, так взлетит?
6 acsent
 
19.04.11
12:07
ЭтаФорма[Реквизит.имя].ТипЗначения

Расширение элементов управления, расположенных в форме
ТипЗначения (ValueType)
Использование:
Чтение и запись.
Описание:
Тип: ОписаниеТипов. Содержит объект, описывающий допустимые типы значений для элемента управления.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Для элементов управления, не связанных с данными, свойство доступно для записи.
Для элементов управления, связанных с данными, свойство доступно только для чтения.
ЗАМЕЧАНИЕ. При установке поля ввода или табличного поля в качестве владельца формы, свойство становится недоступно.
7 vasmedv
 
19.04.11
12:18
re:5
к сожалению поле объекта не обнаружено
8 vasmedv
 
19.04.11
12:19
re: 6
тоже поле объекта не обнаружено.
это реквизит а не элемент управления
9 vasmedv
 
19.04.11
12:26
re:6 типзначения есть, если сделать Реквизит.ТипЗначения, но там тоже вместо Справочникссылка.<имя справочника> выдает
<представление объекта справочника>
10 acsent
 
19.04.11
12:28
Тип реквизита нельзя получить, можно получить только тип значения реквизита
11 GenV
 
19.04.11
12:29
(0) Если тебе по ссылочному типу значения нужно получить строку СправочникСсылка.ИмяСправочника, то для этого есть Метаданные и НайтиПоТипу() и ПолноеИмя()
12 vasmedv
 
19.04.11
12:38
да можно метаданные.НайтиПоТипу(типзнч(ЭтаФорма[Реквизит.имя])), но метаданные на веб-клиенте не работают. :(
13 Рэйв
 
19.04.11
12:39
ТипЗнч(Реквизит)
14 Рэйв
 
19.04.11
12:41
вроде еще далеко до пятницы...
15 vasmedv
 
19.04.11
12:41
re: 13
=реквизит формы
16 Рэйв
 
19.04.11
12:43
(15)И что?  Тип он и в африке тип
17 Рэйв
 
19.04.11
12:43
Вставь реквизит формы
18 Rie
 
19.04.11
12:45
(0) Не понял. Что значит "выдаёт"? ТипЗнч выдаёт значение типа Тип, а не строку.
19 vasmedv
 
19.04.11
12:47
(18) если преобразовать к строке
20 vasmedv
 
19.04.11
12:48
(17) куда вставить?
21 vasmedv
 
19.04.11
12:49
мне строку нужно получить
22 Rie
 
19.04.11
12:49
(19) Так а если не преобразовывать к строке?
23 Рэйв
 
19.04.11
12:50
(0)
А= Строка(ТипЗнч(РеквизитФормы));
Сообщить(А);
24 Rie
 
19.04.11
12:52
(23) Ему не то надо. Ему надо такую строку СтрТип получить, чтобы Тип(СтрТип)=ТипЗнч(Значение).
А такого способа, кроме как через метаданные, что-то и не видать (ну или разбирать по принципу "а не является ли...").
25 vasmedv
 
19.04.11
12:56
мне нужно xml структуру сделать, там тип описывается строкой
26 Рэйв
 
19.04.11
12:58
(24) Так вроде

Тип(Строка(ТипЗнч(РеквизитФормы)) = ТипЗнч(РеквизитФормы)
27 Рэйв
 
19.04.11
12:59
как раз то, что надо и в xml пойдет
28 Рэйв
 
19.04.11
13:00
+ только пробел перед "ссылка" убрать нада
29 Рэйв
 
19.04.11
13:02
Короче.
Вот че родил в итоге:-)

Тип(СтрЗаменить(СтрЗаменить(Строка(ТипЗнч(РеквизитФормы))," ",""),":",".")) = Тип(РеквизитФормы)
30 Рэйв
 
19.04.11
13:02
(0)твоя строка:

А=СтрЗаменить(СтрЗаменить(Строка(ТипЗнч(РеквизитФормы))," ",""),":",".")
31 Робинзон Крузо
 
19.04.11
13:04
МассивТиповРеквизитаФормы = ЭтаФорма.Реквизит[ИмяРеквизита].ТипЗначения.Типы();
   Для Каждого Стр Из МассивТиповРеквизитаФормы Цикл
       Сообщить(XMLТип(Стр).ИмяТипа);
   КонецЦикла;
Допилишь напильником
32 vasmedv
 
20.04.11
04:56
Мне подсказали вот такое решение, вроде работает: ОбщегоНазначения.ПолучитьСтроковоеПредставлениеТипа(типзнч(ЭтаФорма[Реквизит.имя]))
33 vasmedv
 
20.04.11
04:57
всем спасибо
Основная теорема систематики: Новые системы плодят новые проблемы.