Имя: Пароль:
1C
1С v8
как получить название объекта
0 LivingStar
 
02.11.11
14:06
как получить название объекта, узнать какого он типа

справочник

документ

или

регистр

имея ссылку на него?
1 МихаилМ
 
02.11.11
14:10
2 vicof
 
02.11.11
14:10
ТипЗнч(Объект)
3 Поручик
 
02.11.11
14:11
Метаданные() не предлагать?
4 izekia
 
02.11.11
14:12
XMLТипЗнч(Документы.АвансовыйОтчет.ПустаяСсылка()).ИмяТипа
5 izekia
 
02.11.11
14:12
(2) мимо
6 unregistered
 
02.11.11
14:13
(0) Ссылку на регистр?.....

(3) Метаданные записи или набора записей регистра? - Нет, не предлагай.
7 Живой Ископаемый
 
02.11.11
14:13
8 LivingStar
 
02.11.11
14:14
(3) Ссылка.Данные.Ссылка.Метаданные().Имя это возратит идентификатор объекта
9 izekia
 
02.11.11
14:14
10 LivingStar
 
02.11.11
14:14
(7) спасибо! Но думаю можно проще? Как то меня пукает этот скрин !!!
11 Живой Ископаемый
 
02.11.11
14:15
2(0)http://screencast.com/t/m9JBC4Y7J

2(10) не будь тряпкой, напукай его в ответ
12 Maxus43
 
02.11.11
14:16
(10) пусть пукает)
ещё можно

Документы.ТипВсеСсылки().СожержитТип(ТвояСсылка) - значит документ
13 Живой Ископаемый
 
02.11.11
14:16
ладно, вот чтобы не ошибся в букве
общегоНазначения.РазложитьСтрокуВМассивПодстрок(XMLТипЗнч(РегистрыСведений.КурсыВалют.СоздатьНаборзаписей()).ИмяТипа,".")[0]
14 vicof
 
02.11.11
14:16
(5) "как получить название объекта, узнать какого он типа"
почему мимо?
15 izekia
 
02.11.11
14:17
(15) вот вот ... почему-то я так и думал, что ты дальше не осилил
"справочник

документ

или

регистр

"
16 izekia
 
02.11.11
14:19
(15)->(14)
17 LivingStar
 
02.11.11
14:20
(13) мне не понятно как обрабатывать ваш рекордсет !!! и зачем это делать!!!
18 Живой Ископаемый
 
02.11.11
14:22
2(17) чего? какой рекордсет?
19 LivingStar
 
02.11.11
14:24
(4) вот это XMLТипЗнч(Ссылка.Данные).ИмяТипа
возвратило "CatalogRef.ДоговорыКонтрагентов"

это тоже самое что и Ссылка.Данные.Ссылка.Метаданные().Имя

а мне надо получить "Справочник" ли это, ли "Документ", или "Регистр" что бы проверять в коде
подскажите оптимальную конструкцию
20 LivingStar
 
02.11.11
14:26
(18) у вас там InformationRegisterRecordset  ... ты ды ты ды ... зачем это закручивать???
21 Maxus43
 
02.11.11
14:27
(19) справочник или документ (12), с регистром так не пройдёт
22 LivingStar
 
02.11.11
14:28
(10+) не пукает, а пугает!!!! Я хотел написать ....
23 Живой Ископаемый
 
02.11.11
14:30
2(20) я тут при чем? это то что возвращает функция 1С написало так движок.
это англоязычный синоним РегистрСведенийНаборЗаписей что тут пугливого - я вообще не постигаю.
Если так все пугает - зачем с 1С вообще связываться?
24 hhhh
 
02.11.11
14:31
(22) ну, CatalogRef - это справочник. Что тут пугающего? В школе какой язык учил?
25 Maxus43
 
02.11.11
14:31
(23) эх ты, человек за помощью обратился, а ты даже 1с переписать не можеш...)
26 LivingStar
 
02.11.11
14:32
ну что, так что ли извращаться?

Лев(ТипЗнч(Ссылка.Данные),3) = "Спр", "Док" или "Рег" смотреть... или ещё что ....?
27 Живой Ископаемый
 
02.11.11
14:32
если все это пугает отрезай просто например 7 левых символов.. если Catalog - справочник, если Documen - Документ, если что-то другое - то не справочник и не документ..
28 Живой Ископаемый
 
02.11.11
14:32
ы...
29 Maxus43
 
02.11.11
14:33
(26) так в 8.2 не сработает
30 Maxus43
 
02.11.11
14:35
Если Документы.ТипВсеСсылки.СодержитТип(ТвояСсылка.Тип) ТОгда "Документ"
ИнчеЕсли Справочники.ТипВсеСсылки.СодержитТип(ТвояСсылка.Тип) ТОгда "Справочник"
Иначе "ДругаяХрень"
КонецЕсли
31 Maxus43
 
02.11.11
14:35
и как ты вобще собрался иметь ссылку на регистр например?
32 LivingStar
 
02.11.11
14:35
(27) это из конструкции (13), я просто не догоняю всей этой строки...

я мне к спеху, а так придется ещё с ней разбираться и с англоязычными конструкциями ..
33 Живой Ископаемый
 
02.11.11
14:36
2(32) да вот уж фиг... я не использовал ТипЗнч
34 LivingStar
 
02.11.11
14:38
(30) выдает ошибку

Документы.ТипВсеСсылки.СодержитТип(Ссылка.Данные.ссылка.Тип)

Поле объекта не обнаружено тип ВсеСсылки
35 Maxus43
 
02.11.11
14:39
Документы.ТипВсеСсылки()

ну я синтакс контроль за тебя ещё делать буду?
36 Живой Ископаемый
 
02.11.11
14:40
2(35) а я переводить с английского... зачем еще форумы существуют?
37 LivingStar
 
02.11.11
14:40
(36) так и есть, это просто я тут пробел написал, у меня 8.1
38 LivingStar
 
02.11.11
14:41
(36) понял !
39 LivingStar
 
02.11.11
14:41
(36) сейчас исправлю., СПАСИБО !!!!!!!!!!!!!!!!!!
40 LivingStar
 
02.11.11
14:43
(36) я ему передаю значение типа ссылка, но он говорит не верный тип данных !
41 Живой Ископаемый
 
02.11.11
14:43
(40) чувак, нам всем действительно не плевать на это... правда-правда...
42 LivingStar
 
02.11.11
14:44
вот это не работает Ссылка.Данные.Тип()
43 LivingStar
 
02.11.11
14:44
(41) мне мозги просто вынесли на работе окружающие сотрудлники, вот я и строчу тут усердно!
44 Maxus43
 
02.11.11
14:45
ну поведай что отладчик показывает на "Ссылка.Данные"
45 Maxus43
 
02.11.11
14:45
тупо Ссылка.Тип() не вариант?
46 LivingStar
 
02.11.11
14:46
Ссылка.Данные.Тип() или Ссылка.Данные.Тип, поле объекта не обнаружено тип !!!

(36) у вас сли Документы.ТипВсеСсылки.СодержитТип(ТвояСсылка.Тип) ТОгда "Документ"

ТвояСсылка.Тип это я понимаю как Ссылка.Данные.Тип - у меня ругается на Тип
47 LivingStar
 
02.11.11
14:46
(45) значение Основной договор
тип СправочникСсылка.ДоговорыКонтрагентов
48 Maxus43
 
02.11.11
14:47
Документы.ТипВсеСсылки().СодержитТип(ТвояИменноССЫЛКА.Тип).
работает всё, ладе прверил от безысходности. отладчик в руки!
49 LivingStar
 
02.11.11
14:48
(45) Ссылка это
Для каждого Ссылка Из ТаблицаКУдалению Цикл

Данные - поле таблицы, в ней ссылка

то есть Ссылка.Данные
50 LivingStar
 
02.11.11
14:49
(48) у меня тупо - поле объекта не обнаружено ( у ввас 8.1 ?
51 Kashemir
 
02.11.11
14:50
Если Метаданные.Документы.НайтиПоТипу(ТипЗнч(Ссылка)) <> Неопределено Тогда
... и т.д.
52 Живой Ископаемый
 
02.11.11
14:50
поэтому и предлагалась ХМЛТипЗнч - ей пофиг 8.1 или 8.2...
но вы продолжайте "строчить"
53 Maxus43
 
02.11.11
14:51
(52) ТипВсеСсылки и СодержитТип тоже пофиг 8.1 или 8.2 емнип
54 Живой Ископаемый
 
02.11.11
14:52
вообще да... :)
55 Maxus43
 
02.11.11
14:53
автор! успокойся, выйди покурить, приди в себя и напиши всё без ошибок
56 LivingStar
 
02.11.11
14:54
это работает Документы.ТипВсеСсылки()
на это Документы.ТипВсеСсылки().СодержитТип() говорит недостаточно параметров
а на это Документы.ТипВсеСсылки().СодержитТип(Ссылка.Данные.Ссылка.Тип) поле не обнаружено Тип !!!
57 Живой Ископаемый
 
02.11.11
14:55
потому что Тип()
58 Живой Ископаемый
 
02.11.11
14:58
а, стоп...
59 Живой Ископаемый
 
02.11.11
14:58
что это вообще за парнуха:
Ссылка.Данные.Ссылка.Тип ?
60 LivingStar
 
02.11.11
14:58
(57) у меня выдает поле не обнаружено Тип или метод не обнаружет если Тип()  ...
61 LivingStar
 
02.11.11
15:00
Ссылка.Данные.Ссылка - это ссылка у меня....
62 Maxus43
 
02.11.11
15:00
Для каждого СТР Из ТаблицаКУдалению Цикл
63 Maxus43
 
02.11.11
15:01
нефиг называть предопределенными словами свои чудо конструкции
64 Живой Ископаемый
 
02.11.11
15:02
1Сникам нельзя писать слова.. им нужно снимать мультики:
http://screencast.com/t/Gyqh8vMLZzly
65 LivingStar
 
02.11.11
15:03
(62) тогда будет СТР.Данные или СТР.Данные.Ссылка ...
66 Maxus43
 
02.11.11
15:03
(64) теперь я понимаю нафиг ты картинки делаеш на любую мелочь)
67 LivingStar
 
02.11.11
15:04
завтра я продолжу ....
68 Maxus43
 
02.11.11
15:04
(65) да, и так и надо
69 Maxus43
 
02.11.11
15:05
(67) куда? тебе же срочно надо было, завтра уже неинтересно будет
70 Живой Ископаемый
 
02.11.11
15:05
гы... завтра продолжит дядька, которому нужно делать срочно...
71 Maxus43
 
02.11.11
15:05
блин, заболтали черти, мне же тоже надо работать... пойду покурю :)
72 Kashemir
 
02.11.11
17:31
+(51)

Метаданные.Документы.Содержит(Метаданные.НайтиПоТипу(ТипЗнч(Ссылка)))
73 LivingStar
 
03.11.11
07:07
работает
Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(СтрокаТч.Данные)), так как используется ТипЗнч

в (30) ТипЗнч не было

так и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(ссылка.Данные)), то же бы работало ...
74 LivingStar
 
03.11.11
07:18
(73) для регистров это конечно не прокатит!
75 LivingStar
 
03.11.11
07:20
(70) подскажите, а где можно взять расшифровки возвращаемых значений
общегоНазначения.РазложитьСтрокуВМассивПодстрок(XMLТипЗнч(РегистрыСведений.КурсыВалют.СоздатьНаборзаписей()).ИмяТипа,".")[0]
76 izekia
 
03.11.11
09:58
(75) ураа
77 Живой Ископаемый
 
03.11.11
12:03
(75) в конфигураторе Сервис\параметры\Справка\ поставить внизу галку Использовать ОБА ЕЗЫКА.
Потом открыть СП, открыть в нем ветку прикладыне объекты, и потом например Документы
78 LivingStar
 
03.11.11
12:21
(77) ясно! Гляну, спасибо!