|
|
|
метаданные - документ или справочник | ☑ | ||
|---|---|---|---|---|
|
0
Stim213
26.05.11
✎
15:55
|
имеется ссылка на док или спр. как из ссылки получить "документ" или "справочник"?
|
|||
|
1
Evgenchik
26.05.11
✎
15:55
|
ТипЗнч(<Значение>) не предлагать?
|
|||
|
2
Stim213
26.05.11
✎
15:57
|
(1) не предлагать. мне нужна на выходе строка "документ" или "справочник". и только
|
|||
|
3
Dmitrii
гуру
26.05.11
✎
15:58
|
Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(МояСсылка)) Тогда
Сообщить("Ура! Это ссылка на документ!"); ИначеЕсли Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(МояСсылка)) Тогда Сообщить("Ура! Это ссылка на элемент справочника!"); Иначе Сообщить("Хрень какая-то"); КонецЕсли; |
|||
|
4
H A D G E H O G s
26.05.11
✎
15:59
|
(3) Медленнно.
|
|||
|
5
zbv
26.05.11
✎
15:59
|
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ссылка)) Тогда
Сообщить("Справочник"); иначеЕсли ... |
|||
|
6
Dmitrii
гуру
26.05.11
✎
15:59
|
(2) извиняюсь - (3) не подходит.
|
|||
|
7
truba
26.05.11
✎
15:59
|
через Ссылка.Метаданные().ПолноеИмя() ;)
|
|||
|
8
Dmitrii
гуру
26.05.11
✎
16:00
|
(4) Через Метаданные быстрее будет?
|
|||
|
9
H A D G E H O G s
26.05.11
✎
16:01
|
Строка(ТипЗнч(Ссылка))
Учесть многоязыковость. Ну или: ЭтоСправочник=Ложь; ЭтоДокумент=Ложь; Попытка Значение=Ссылка.Метаданные().ДлинаНаименования; ЭтоСправочник=Истина; Исключение ЭтоДокумент=Истина; КонецПопытки |
|||
|
10
H A D G E H O G s
26.05.11
✎
16:01
|
(8) Да.
|
|||
|
11
Рэйв
26.05.11
✎
16:02
|
СокрЛП(Лев(Строка(ТипЗнч(ссылка)),Найти(Строка(ТипЗнч(ссылка))," ")))
|
|||
|
12
Stim213
26.05.11
✎
16:02
|
(9)1. - точно не сработает
|
|||
|
13
Рэйв
26.05.11
✎
16:03
|
(12)В табло работает:)
|
|||
|
14
H A D G E H O G s
26.05.11
✎
16:03
|
(12) Че так?
|
|||
|
15
Живой Ископаемый
26.05.11
✎
16:04
|
||||
|
16
H A D G E H O G s
26.05.11
✎
16:04
|
Стим, как тебя еще с работы то не выгнали?
|
|||
|
17
Reset
26.05.11
✎
16:04
|
МетаданныеССылки=Ссылка.Метаданные();
Если Метаданные.Документы.Содержит(МетаданныеССылки) тогда // документ ИначеЕсли Метаданные.Справочники.Содержит(МетаданныеССылки) тогда // справочоник КонецЕсли; |
|||
|
18
Evgenchik
26.05.11
✎
16:04
|
Если Лев(ТипЗнч(МойОбъект),10) = "Справочник" Тогда
сообщить("Справочник"); ИначеЕсли Лев(ТипЗнч(МойОбъект),8) = "Документ" Тогда сообщить("Документ"); Иначе Сообщить("что-то"); КонецЕсли; |
|||
|
19
zbv
26.05.11
✎
16:05
|
(14) в 8.2 что на выходе будет ?
|
|||
|
20
H A D G E H O G s
26.05.11
✎
16:05
|
(17) Медленно.
|
|||
|
21
Живой Ископаемый
26.05.11
✎
16:05
|
(9) 1 работает только в 8.1... в 8.2 не работает
|
|||
|
22
rs_trade
26.05.11
✎
16:05
|
(9) а попытки исключения, это быстро?
|
|||
|
23
Stim213
26.05.11
✎
16:05
|
(14) ссылка на элемент спр договоры контрагентов вернет:
Строка(ТипЗнч(Ссылка)) = "Договоры контрагентов" а это совсем другое |
|||
|
24
Живой Ископаемый
26.05.11
✎
16:06
|
нотариально заверенный:
http://screencast.com/t/5aSwV6esIde |
|||
|
25
H A D G E H O G s
26.05.11
✎
16:06
|
(18) Многоязычность не учтена. Вон, в (15) - правильно. xmlтипзнч(). Забыл про него.
|
|||
|
26
Stim213
26.05.11
✎
16:06
|
зы. сабж в 8.2
|
|||
|
27
Mitriy
26.05.11
✎
16:07
|
Метаданные.Документы.Содержит(Ссылка.Метаданные())
|
|||
|
28
truba
26.05.11
✎
16:07
|
Можно попыткой исключением.
Ссылка.Предопределенный |
|||
|
29
H A D G E H O G s
26.05.11
✎
16:08
|
(21) Хммм, не знал.
|
|||
|
30
Живой Ископаемый
26.05.11
✎
16:08
|
Ну а теперь рассказывай, зачем нужно (0)...
|
|||
|
31
Stim213
26.05.11
✎
16:08
|
(27) спасибо, так и сделаю
|
|||
|
32
Mitriy
26.05.11
✎
16:08
|
(17) пардон... просмотрел..
|
|||
|
33
Reset
26.05.11
✎
16:09
|
Вариант, иногда использую, но считаю кривым:
Лев(Ссылка.Метаданные().ПолноеИмя(),5)="Докум" |
|||
|
34
Stim213
26.05.11
✎
16:09
|
(30) имеется ссылка на док или спр, нужно по её уид получить comобъект
|
|||
|
35
Живой Ископаемый
26.05.11
✎
16:09
|
2(29) используешь в конфах 9.1? :) собираешься переходить на 8.2? :)
|
|||
|
36
Живой Ископаемый
26.05.11
✎
16:11
|
эээ...ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(XMLТипЗнч(мояссылка).ИмяТипа,".")[0]
сразу вернет расововерный DocumentRef или CatalogRef |
|||
|
37
H A D G E H O G s
26.05.11
✎
16:11
|
(35) Нет.
Использую Попытку |
|||
|
38
Reset
26.05.11
✎
16:15
|
Как-то через попытку не комильфо... У меня вызывает неприятие по аналогии:
Вместо Цена=Сумма/?(Количество=0,1,Количество) написать Попытка Цена=Сумма/Количество; Исключение Цена=Сумма; КонецПопытки; Впрочем, кому что. |
|||
|
39
Stim213
26.05.11
✎
16:18
|
а нельзя ли получить из ссылки "Документы.АвансовыйОтчет" или "Справочники.Номенклатура" ? Чтобы не добавлять лишние функции
|
|||
|
40
truba
26.05.11
✎
16:19
|
(39) Метаданные.ПолноеИмя() ну йопт
|
|||
|
41
Reset
26.05.11
✎
16:20
|
(39) Ссылка.Метаданные().ПолноеИмя()
Только придется вставлять "ы" и "и" :) |
|||
|
42
Stim213
26.05.11
✎
16:22
|
(41) вот и вот-то. а без вставки есть методы у объекта?
|
|||
|
43
Mitriy
26.05.11
✎
16:22
|
Если Документ Тогда
"Документы." + Ссылка.Метаданные().Имя; |
|||
|
44
truba
26.05.11
✎
16:23
|
Если ЧтоЭто(Ссылка) = "Справочник" Тогда
Результат = ВставитьИ(Ссылка.Метаданные().ПолноеИмя()); Иначе Результат = ВставитьЫ(Ссылка.Метаданные().ПолноеИмя()); КОнецЕсли; |
|||
|
45
Живой Ископаемый
26.05.11
✎
16:23
|
2(39) СтрЗаменить(XMLТипЗнч(Справочники.Контрагенты.ПустаяССылка()).ИмяТипа,"Ref.","s.")
|
|||
|
46
Stim213
26.05.11
✎
16:28
|
(45)спасибо
|
|||
|
47
Живой Ископаемый
26.05.11
✎
16:29
|
||||
|
48
Reset
26.05.11
✎
16:31
|
/bravo
По моему, Ископаемый, если напрягется, весь алгоритм УПП может в одну строку завернуть. Ну, от силы в две-три. |
|||
|
49
Живой Ископаемый
26.05.11
✎
16:33
|
понял, пора поработать...
|
|||
|
50
Stim213
26.05.11
✎
16:36
|
что-то не понял..
ОбъектМД = "Catalogs.Контрагенты" Метаданные[ОбъектМД] - поле объекта не обнаружено (Catalogs.Контрагенты) |
|||
|
51
Stim213
26.05.11
✎
16:36
|
при этом Метаданные.Catalogs.Контрагенты отзываются
|
|||
|
52
Живой Ископаемый
26.05.11
✎
16:38
|
мда? а типа если написать
Метаданные["Справочники.Контрагенты"] то поле будет обнаружено? |
|||
|
53
Stim213
26.05.11
✎
16:39
|
(52) неа
|
|||
|
54
Mitriy
26.05.11
✎
16:40
|
Метаданные["Справочники"]["Контрагенты"]
|
|||
|
55
Stim213
26.05.11
✎
16:40
|
(54) точняк
|
|||
|
56
Stim213
26.05.11
✎
16:41
|
только как из (45)это получить
|
|||
|
57
truba
26.05.11
✎
16:41
|
(0) давай полную задачу!
|
|||
|
58
Reset
26.05.11
✎
16:41
|
(50) Потому что нет в метаданных "Справочники.Контрагенты".
Есть "Справочник.Контрагенты". Теперь тебе надо вырезать букву "и" /CRY |
|||
|
59
truba
26.05.11
✎
16:42
|
тебе нужно реквизиты все собрать этой ссылки при переносе?
|
|||
|
60
Mitriy
26.05.11
✎
16:42
|
(58) не поверишь...
|
|||
|
61
Reset
26.05.11
✎
16:42
|
в (58) поторопился)
|
|||
|
62
Reset
26.05.11
✎
16:43
|
в (57) истина.
|
|||
|
63
Живой Ископаемый
26.05.11
✎
16:45
|
Метаданные["Catalogs"]["Контрагенты"]
ПолноеИмяТипа = XMLТипЗнч(Ссылка).ИмяТипа; ТипОбъекта = СтрПолучитьСтроку(СтрЗаменить(ПолноеИмяТипа,".",Символы.ПС),1); ВидОбъекта = СтрПолучитьСтроку(СтрЗаменить(ПолноеИмяТипа,".",Символы.ПС),2); Метаданные[ТипОбъекта][ВидОбъекта]; |
|||
|
64
Живой Ископаемый
26.05.11
✎
16:46
|
тьфу ты господи
ПолноеИмяТипа = СтрЗаменить(XMLТипЗнч(Ссылка).ИмяТипа,"Ref.","s."); ТипОбъекта = СтрПолучитьСтроку(СтрЗаменить(ПолноеИмяТипа,".",Символы.ПС),1); ВидОбъекта = СтрПолучитьСтроку(СтрЗаменить(ПолноеИмяТипа,".",Символы.ПС),2); Метаданные[ТипОбъекта][ВидОбъекта]; |
|||
|
65
Stim213
26.05.11
✎
16:47
|
(57) задача:
Для каждого стр ИЗ Остатки Цикл УИН1 = стр.Субконто1.УникальныйИдентификатор(); УИН1Com = База8.NewObject("УникальныйИдентификатор",СТрока(УИН1)) Субконто1Com = База8.Справочники.Контрагенты.ПолучитьСсылку(УИН1Com) задача - чтобы вместо "Справочники.Контрагенты" стоял вызов нужного объекта МД, определяемого стр.Субконто1 |
|||
|
66
aleks-id
26.05.11
✎
16:48
|
Метаданные.НайтиПоПолномуИмени(СтрЗаменить(XMLТипЗнч(Справочники.Контрагенты.ПустаяССылка()).ИмяТипа,"Ref.","."))
|
|||
|
67
Reset
26.05.11
✎
16:51
|
(65) Используя результат из (64):
База8[ТипОбъекта][ВидОбъекта].ПолучитьСсылку(УИН1Com) |
|||
|
68
Живой Ископаемый
26.05.11
✎
16:56
|
2(65)
XMLЗначение(ТипЗнч(ПланыСчетов.Хозрасчетный.Вспомогательный),XMLСтрока(ПланыСчетов.Хозрасчетный.Вспомогательный)) |
|||
|
69
Живой Ископаемый
26.05.11
✎
16:58
|
Для каждого стр ИЗ Остатки Цикл
База8.XMLЗначение(ТипЗнч(стр.Субконто1),XMLСтрока(стр.Субконто1)); |
|||
|
70
Живой Ископаемый
26.05.11
✎
16:59
|
впрочем не наверняка, но истина где-то рядом, Скалли. :)
|
|||
|
71
Stim213
26.05.11
✎
17:02
|
(69) ошибка при вызове метода контекста (XMLЗначение)
|
|||
|
72
Живой Ископаемый
26.05.11
✎
17:06
|
это из-за ТипЗнч(стр.Субконто1) -так неправильно, нужно поиграться...
например База8.XMLЗначение(База8.ИзXMLТипа(XMLТипЗнч(стр.Субконто1)),XMLСтрока(стр.Субконто1)); |
|||
|
73
Живой Ископаемый
26.05.11
✎
17:06
|
||||
|
74
Stim213
26.05.11
✎
17:09
|
(73) работает, только не с сом. странно, методы доступны во внешним соединениях..
|
|||
|
75
Mitriy
26.05.11
✎
17:10
|
велосипедисты...
|
|||
|
76
Живой Ископаемый
26.05.11
✎
17:13
|
ну а просто База8.ИзXMLТипа(XMLТипЗнч(стр.Субконто1))
работает? может дело в том что так просто неправильно писать: База8.ИзXMLТипа для ком соединения - если пытаемся вызвать функцию глобального контекста? я просто с ком не работаю обычно |
|||
|
77
Reset
26.05.11
✎
17:17
|
Без преобразования типов в строки не обойтись тут...
Я в таких случаях как в (67) пишу.. |
|||
|
78
Reset
26.05.11
✎
17:19
|
"База8.ИзXMLТипа для ком соединения " писать правильно, но и параметры должны быть "тамошними", втупую только просты типы передать можно.
Могу ошибаться.... |
|||
|
79
Живой Ископаемый
26.05.11
✎
17:20
|
да все вроде в строках
|
|||
|
80
Живой Ископаемый
26.05.11
✎
17:20
|
а, да...XMLТипЗнч(стр.Субконто1) - не строка...
|
|||
|
81
Живой Ископаемый
26.05.11
✎
17:21
|
ладно, уже не интересно... :) перестало получаться. :)
|
|||
|
82
Stim213
26.05.11
✎
17:23
|
(81) все равно спасибо! Кладезь полезной информации!
|
|||
|
83
Mitriy
26.05.11
✎
17:25
|
гыгы... вот и новый ник...
|
|||
|
84
Stim213
26.05.11
✎
17:34
|
все работает, кроме одного) о чем надо было подумать в самом начале) что УИН-то перенеслись, но документы разные - в 1.6 и в 2.0 =)
|
|||
|
85
Живой Ископаемый
26.05.11
✎
17:38
|
гы
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |