|
Как узнать ссылку по GUID в бд | ☑ | ||
---|---|---|---|---|
0
Tata001
14.09.12
✎
17:43
|
сейчас в коде написано конкретно в каком справочнике искать,а как мне написать код,чтоб гуид искался по всем справочникам конфигурации ?
//---------------------------------------------- УИ_номГр = Новый УникальныйИдентификатор(СокрЛП(ПолеВвода1)); НоменклатурнаяГруппа=Справочники.ПодразделенияОрганизаций.ПолучитьСсылку(УИ_номГр); |
|||
1
DrShad
14.09.12
✎
17:44
|
По метаданным, пока не найдет
|
|||
2
Aleksey
14.09.12
✎
17:44
|
Перебором, иначе никак
|
|||
3
Aleksey
14.09.12
✎
17:45
|
Только зачем? Вдруг дубли по ГУИД в разных справочниках?
|
|||
4
DrShad
14.09.12
✎
17:46
|
а вообще код из (0) доставляет - переменная НоменклатурнаяГруппа с типом СправочникСсылка.ПодразделенияОрганизаций :))))
|
|||
5
mikecool
14.09.12
✎
17:47
|
(4) +1 бгг
|
|||
6
Maxus43
14.09.12
✎
17:49
|
Новый УникальныйИдентификатор(СокрЛП(ПолеВвода1));
оо, да ещё и ручками гуид забивают |
|||
7
Tata001
14.09.12
✎
17:49
|
(4) раньше ном.группа использовалась, теперь возникла потребность найти сотрудника...переменную неохота переписывать
|
|||
8
Tata001
14.09.12
✎
17:50
|
(6) нет..его достают обработкой и копируют в строку ввода, просто проверяю гуид в разных базах
т.е. в одной смотрю гуид,в друной по гуид ищу сылку Процедура ОсновныеДействияФормыУзнатьГУИД(Кнопка) сообщить(СсылкаП.УникальныйИдентификатор()); КонецПроцедуры |
|||
9
DrShad
14.09.12
✎
17:50
|
(7) в подразделениях вы его все равно не найдете
|
|||
10
mikecool
14.09.12
✎
17:51
|
(7) пойдем лучше в кабак, только каждый платит за себя ))
сорри за офф |
|||
11
Tata001
14.09.12
✎
17:51
|
(9) и подразделения искали =))) просто универсальность хочется,а обработки универсальной я не видела
|
|||
12
DrShad
14.09.12
✎
17:51
|
(8) так указывай сразу и тип
|
|||
13
Tata001
14.09.12
✎
17:52
|
(8) тип зачем, у меня реквизит СсылкаП - составной тип
|
|||
14
Tata001
14.09.12
✎
17:52
|
Процедура ОсновныеДействияФормыУзнатьГУИД(Кнопка)
сообщить(СсылкаП.УникальныйИдентификатор()); КонецПроцедуры ========= это работает универсально |
|||
15
Tata001
14.09.12
✎
17:53
|
мне нужно универсальность этого кода
============== УИ_номГр = Новый УникальныйИдентификатор(СокрЛП(ПолеВвода1)); НоменклатурнаяГруппа=Справочники.ПодразделенияОрганизаций.ПолучитьСсылку(УИ_номГр); |
|||
16
DrShad
14.09.12
✎
17:54
|
НайденнаяСсылка = Справочники[ИмяМоегоСправочника].ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(ПолеВвода1)));
|
|||
17
Tata001
14.09.12
✎
17:56
|
(16) хм....ИмяМоегоСправочника... а в эту переменную что я должна подставить...я ведь так понимаю мне надо делать обход по метаданным
|
|||
18
DrShad
14.09.12
✎
17:58
|
(17) в твоем конкретном случае "Сотрудники"
|
|||
19
Tata001
14.09.12
✎
17:58
|
(18) так неинтересно
|
|||
20
Tata001
14.09.12
✎
17:58
|
(18) мне нужно чтоб он по гуид искал во всех свправочниках
|
|||
21
Tata001
14.09.12
✎
17:59
|
(18) либо по списку справочников
|
|||
22
Tata001
14.09.12
✎
18:00
|
Я как ленивый программист, не хочу перебивать тип справочника, я просто хочу задать гуид и чтоб он нашёл элемент в опреденном диапазоне справочников
|
|||
23
Aleksey
14.09.12
✎
18:00
|
(20)
Для Каждого ОбъектМетаданных Из Метаданные.Справочники Цикл СписокТипов.Добавить(ОбъектМетаданных.ПолноеИмя(), ОбъектМетаданных.Имя); КонецЦикла; |
|||
24
Tata001
14.09.12
✎
18:01
|
(23) а он долго будет искать по всем справочникам ?...
|
|||
25
fisher
14.09.12
✎
18:01
|
Уже сказали. Только перебором. Причем к (16) нужно добавить еще проверку на реальность ссылки. Т.е. ссылается ли она на живой объект или нет.
|
|||
26
Aleksey
14.09.12
✎
18:02
|
(24) В базе где всего заполнено 2 справочника 5-тю элементами? - Быстро
|
|||
27
Tata001
14.09.12
✎
18:02
|
(25) зачем проверка...если не находит элемент пишется "Это <Объект не найден> (244:88f0005056c0000811e12ad2f083ed47)" или я путаю ?*
|
|||
28
Tata001
14.09.12
✎
18:04
|
(10) у тебя новая работа, мог и проставиться =0) и вообще,я не страшная,чтоб за себя платить в мужской компании
|
|||
29
Aleksey
14.09.12
✎
18:04
|
(27) Путаешь
|
|||
30
Aleksey
14.09.12
✎
18:05
|
(28) А причем тут твоя внешность? Или ты намекаешь на продолжение? Мол после ужина пойдем ко мне домой и я тоже с тебя денег не возъму?
|
|||
31
fisher
14.09.12
✎
18:05
|
(27) Так тебе ж надо по списку пробежаться. Визуально проверять что ли будешь? Он тебе такое напишет на все справочники кроме того, где эта ссылка живая.
|
|||
32
Stim213
14.09.12
✎
18:06
|
УИД = Новый УникальныйИдентификатор(УИДСТрока);
Попытка Для каждого Справочник из Метаданные.Справочники Цикл Спр = Справочники[справочник.Имя].ПОлучитьСсылку(УИД); Если ЗначениеЗаполнено(Спр.Код) Тогда СсылкаНаЭлемент = Спр; Возврат; КОнецЕсли; КОнецЦикла; Для каждого Документ из Метаданные.Документы Цикл Док = Документы[Документ.Имя].ПОлучитьСсылку(УИД); Если ЗначениеЗаполнено(Док.номер) Тогда СсылкаНаЭлемент = Док; Возврат; КонецЕсли; КОнецЦикла; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки |
|||
33
Aleksey
14.09.12
✎
18:07
|
(31) Не напишет. Он получит пустой объект с заданной ссылкой
|
|||
34
Жан Пердежон
14.09.12
✎
18:08
|
(22) как ленивый прог прочитай еще раз внимательно, что (3) пишет:
один и тот же гуид может быть у разных элементов разных справочников |
|||
35
Aleksey
14.09.12
✎
18:09
|
(32) Очень спорно, ибо к примеру в типовой БП справочник ЭДПрисоединенныеФайлы имеет нулевую длину кода
|
|||
36
Aleksey
14.09.12
✎
18:10
|
и таких справочников несколько
|
|||
37
fisher
14.09.12
✎
18:10
|
(33) Кто "он"? Какой объект? Метод ПолучитьСсылку() возвращает ссылку.
|
|||
38
Aleksey
14.09.12
✎
18:14
|
(37) Ссылку, но не "объект не найден"
|
|||
39
vmv
14.09.12
✎
18:14
|
холивар детектет, чубы трещат
*чещет каня* |
|||
40
Aleksey
14.09.12
✎
18:15
|
(39) Холивар? Где холивар?
|
|||
41
vmv
14.09.12
✎
18:16
|
(40) хз, я бухаю - больще креатива!
|
|||
42
fisher
14.09.12
✎
18:17
|
(38) Не тупи. Если получить текстовое представление "неживой" ссылки - это и напишет.
Набери в табло Справочники.Валюты.ПолучитьСсылку(Новый УникальныйИдентификатор("a763cfbb-f94f-4c67-8e13-0e96a3a7f353")) |
|||
43
ssh2012
14.09.12
✎
18:20
|
(27) > зачем проверка...если не находит элемент пишется "Это <Объект не найден>
Чтобы проверить, что ссылка "живая" нужно выполнить запрос или ПолучитьОбъект() от ссылки и проверить, что объект <> неопределено |
|||
44
vmv
14.09.12
✎
18:21
|
(42) не гони, чувачок, хрена в ГУИД строку пехаешь - это по феншую?
|
|||
45
vmv
14.09.12
✎
18:22
|
(43) не каждая ссылка может быть отождствлена с объектом, понел!
|
|||
46
ssh2012
14.09.12
✎
18:24
|
(45) ты чё еба нах, слышь?
|
|||
47
vmv
14.09.12
✎
19:24
|
(46) бгг,хамло)
|
|||
48
mikecool
14.09.12
✎
19:43
|
(28) го в Колбасоф на павелецкую во вторник вечером ;)
|
|||
49
Конфигуратор1с
14.09.12
✎
21:11
|
(10)ппц
|
|||
50
Ткачев
14.09.12
✎
21:28
|
||||
51
mikecool
14.09.12
✎
21:47
|
(49) чо?
|
|||
52
Конфигуратор1с
14.09.12
✎
22:24
|
та не ниче. у меня просто "культурный шок". Отстал я от жизни(((
|
|||
53
mikecool
14.09.12
✎
22:25
|
(52) да, отстал, и не в теме абсолютно...
|
|||
54
Конфигуратор1с
14.09.12
✎
22:32
|
(53)та да, девушки за себя платят, легализация однополых браков - я выпал из тренда
|
|||
55
orange777
14.09.12
✎
22:55
|
(54)и я
|
|||
56
Конфигуратор1с
14.09.12
✎
23:23
|
(55)ну мне с такой красавицей будет не скучно. Фото просто мяуууууу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |