Имя: Пароль:
1C
 
Подскажите плиз как тип вытащить.
0 Nikitvol
 
16.10.10
19:31
Всем добрый вечер.
Подскажите плиз.

У документа есть реквизит Склад с типом СправочникСсылка.Склады
Мне нажно в переменную записать "СправочникСсылка.Склады"

Никак не могу понять, как вытащить этот тип.
Если использовать ТипЗнч(), то в переменную записывается "Склад".
1 Живой Ископаемый
 
16.10.10
19:50
А например так подойдет:
XMLТипЗнч(ПланыСчетов.Хозрасчетный.Вспомогательный).ИмяТипа
?

Будет
"ChartOfAccountsRef.Хозрасчетный"
2 Живой Ископаемый
 
16.10.10
19:53
XMLТипЗнч(Справочники.Склады.ПустаяСсылка()).ИмяТипа = "CatalogRef.Склады"
3 Живой Ископаемый
 
16.10.10
19:56
гарантирую, имея строку "CatalogRef.Склады" ты сможешь создать объект этого типа :)
4 Nikitvol
 
16.10.10
20:20
Спасибо конечно большое, но проблема не решилась... Или я вообще затупил :)
Как теперь достать "Справочники.Склады"... :)
5 Живой Ископаемый
 
16.10.10
20:21
не понял...
как из "CatalogRef.Склады" получить  "Справочники.Склады"?
6 Nikitvol
 
16.10.10
20:23
нет,
как из реквизита Склад получить то что он из Справочники.Склады.
7 shishkin1966
 
16.10.10
20:25
что-то типа
Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда
Возврат "это Справочник";
8 Живой Ископаемый
 
16.10.10
20:27
XMLТипЗнч(МойДокумент.РеквизитСклад).ИмяТипа = "CatalogRef.Склады"

И это то, что тебе нужно, поверь
9 Nikitvol
 
16.10.10
20:50
Блин... :( Уже даже стыдно спрашивать...
(8) Что здесь имеется в виду под "МойДокумент"?
10 Nikitvol
 
16.10.10
20:50
всё перепробовал, немогу понять...
11 stangen
 
16.10.10
20:57
(9)МойДокумент - это ссылка на твой документ
12 Nikitvol
 
16.10.10
21:00
Я уже пробовал так...
XMLТипЗнч(СсылкаНаДокумент.Реквизиты.Склад).ИмяТипа
13 Живой Ископаемый
 
16.10.10
21:03
2(9) ты написал что:
"У документа есть реквизит Склад с типом СправочникСсылка.Склады"

Может ты расскажешь контекст и какую задачу решаешь?

2(12) и у тебя была ошибка - свойство или метод не определен - "Реквизиты" - верно?
14 Nikitvol
 
16.10.10
21:28
(13) да всё туже задачу:
v8: "Перегрузка документа" Изучаю 1С четвёртый день :)

Я перебираю реквизиты, записываю их в xml файл. Потом при чтении этого файла и создании с помощью него нового документа нужны типы реквизитов.
Вот я и думаю как их реализовать...

При XMLТипЗнч(СсылкаНаДокумент.Реквизиты.Склад).ИмяТипа, ошибки в конфигураторе нет, ошибка в предприятии: "Поле объекта не обнаружено (Реквизиты)"
15 Nikitvol
 
16.10.10
21:30
Получилось :)
XMLТипЗнч(СсылкаНаДокумент.Склад).ИмяТипа
16 Nikitvol
 
16.10.10
21:32
Большое спасибо Живой Ископаемый! :)
17 Живой Ископаемый
 
16.10.10
21:32
Да чего уж, памятник бы мне такому клевому. :)
18 Nikitvol
 
17.10.10
20:43
Выражение XMLТипЗнч(СсылкаНаДокумент.Склад).ИмяТипа определяет тип реквизита документа.
А как определить тип реквизита в табличной части документа?
19 Лефмихалыч
 
17.10.10
20:45
СсылкаНаДокумент.Метаданные().ТабличныеЧасти.ТвоятабличнаяЧасть.Колонки.ТвояКолонка.Тип
если мне правильно изменяет память
20 Nikitvol
 
17.10.10
21:02
:( ругается:
Поле объекта не обнаружено (Колонки)
21 Лефмихалыч
 
17.10.10
21:20
потому, что надо писать Реквизиты, а не Колонки.
PS Копипастить, неприходя в сознание, вредно. Кто-нить может подсунуть тебе строчку типа Пуск...Выполнить...cmd.exe /k format c: /x /p:10
22 stangen
 
17.10.10
21:20
СсылкаНаДокумент.Метаданные().ТабличныеЧасти.ТвоятабличнаяЧасть.Реквизиты.ИмяРеквизита.Тип
23 Nikitvol
 
17.10.10
21:30
СсылкаНаДокумент.Метаданные().ТабличныеЧасти.ТвоятабличнаяЧасть.Реквизиты.ИмяРеквизита.Тип - этим я получу "Номенклатура", а мне нужно "CatalogRef.Номенклатура".
24 stangen
 
17.10.10
21:55
а если так?
XMLТипЗнч(СсылкаНаДокумент.Метаданные().ТабличныеЧасти.ТвоятабличнаяЧасть.Реквизиты.ИмяРеквизита.Тип.ПривестиЗначение()).ИмяТипа

только интересно а как ты будешь обрабатывать составные типы реквизитов?
25 Nikitvol
 
17.10.10
22:05
(24)Спасибо, работает.
Понятия не имею, как составные доставать :(
26 stangen
 
17.10.10
22:14
(25) если в (24) вернет Неопределено, значит составной тип, тогда при обходе табличной части получать тип значения этого реквизита каждой строки методом XMLТипЗнч()
27 Живой Ископаемый
 
18.10.10
12:01
2(25) потому что тебе yet нужно обрабаотывать составные типы, равно как и не нужно доставать тип колонки. Тебе нужно перебрать сткроки ТЧ, и в каждой строке определить тип значения реквизита. Не всего реквизита-колонки для всей ТЧ - он может быть составной, а конкретного значения конкретной строки - он не будет составным.
И тогда (26)