|
v8: Поиск по уникальному идентификатору в всей базе | ☑ | ||
---|---|---|---|---|
0
ИС-2
naïve
21.07.11
✎
14:09
|
Требуется, зная уникальный идентификатор, найти ссылку на объект. Проблема заключается в том, что в 1C нет метода глобального поиска по всей базе. Т.е искать надо по каждому менеджеру отдельно. Таким образом перебирать все ссылки очень долго (см. кол-во справочников и документов в 1c).
Есть ли быстрый способ найти ссылку по ГУИД в всей базе? |
|||
1
Defender aka LINN
21.07.11
✎
14:12
|
"см. кол-во справочников и документов в 1c" - посмотрел сейчас в свою самописку. 2 справочника. Не так уж и долго.
|
|||
2
Живой Ископаемый
21.07.11
✎
14:13
|
(1) а... Браво!
|
|||
3
Defender aka LINN
21.07.11
✎
14:14
|
(2) Главное - не смотреть в корпоративную самописку >_<
|
|||
4
ИС-2
naïve
21.07.11
✎
14:25
|
(1) а если смотреть УПП?
|
|||
5
Живой Ископаемый
21.07.11
✎
14:32
|
не, не надо смотреть УПП...
|
|||
6
Азат
21.07.11
✎
14:32
|
(0) а ЗначениеИзСтрокиВнутр что даст?
|
|||
7
Живой Ископаемый
21.07.11
✎
14:33
|
2(6) для базы в целом?
|
|||
8
Defender aka LINN
21.07.11
✎
14:33
|
(4) Выглядит страшнее, да. Но, в конце концов, это не авторы УПП придумали искать то, не знаю что.
|
|||
9
DmitrO
21.07.11
✎
14:37
|
напишу обработку. дорого :)
|
|||
10
ИС-2
naïve
21.07.11
✎
14:39
|
(9) Написал за 3 минут. Но вот какая скорость будет :(
|
|||
11
Aleksey
21.07.11
✎
14:40
|
(10) Очень быстрая
|
|||
12
DmitrO
21.07.11
✎
14:44
|
Если про скорость сомневаешься, значит обработку написал наверняка не правильно. я же говорил дорого. :)
|
|||
13
Healer
21.07.11
✎
15:14
|
А UUID разве не содержит сведения о типе метаданных? Да и перебор всех метаданных не так уж много времени займёт даже в УПП.
|
|||
14
Живой Ископаемый
21.07.11
✎
15:20
|
2(13) а разве содержит?
|
|||
15
Defender aka LINN
21.07.11
✎
15:21
|
(13) Если бы содержал - это была бы ссылка.
|
|||
16
Рэйв
21.07.11
✎
15:22
|
НовыйGUID = Новый УникальныйИдентификатор(ПараметрГуидЗаказаППО);
СсылкаЗаказППО=Документы.ЗаказПокупателяППО_АРЕНА.ПолучитьСсылку(НовыйGUID); |
|||
17
Рэйв
21.07.11
✎
15:23
|
ну..со справочниками также
|
|||
18
Варвар
21.07.11
✎
15:24
|
(13) нет.
(16) и чо? |
|||
19
Рэйв
21.07.11
✎
15:25
|
(18)Да собственно и все.
|
|||
20
Рэйв
21.07.11
✎
15:25
|
(19)Перебрать все виды и получишь
|
|||
21
Рэйв
21.07.11
✎
15:26
|
е5сли уж вид заранее неизвестен
|
|||
22
Живой Ископаемый
21.07.11
✎
15:28
|
+(17) и с перичеслениями.. и со счетами плана счетов... и с элементами плана вида харектеристик.. и с видами расчетов...
|
|||
23
Рэйв
21.07.11
✎
15:29
|
(22)Ну да:-) но с доками и спровочниками обычно чаще:-)
|
|||
24
Defender aka LINN
21.07.11
✎
15:33
|
(22) Забыл задачи, бизнес-процессы и планы обмена.
|
|||
25
Живой Ископаемый
21.07.11
✎
15:35
|
(24)
"- Но я же могу поехать в Лос-Анжелес! Могу ведь, да? Купить билет на автобус или на самолет и вернуться. Ведь Лос-Анжелес останется там же, где был, верно? - Безусловно, - засмеялся дон Хуан. - И Мантека, и Темекула, и Туксон. - И Тэкатэ, - очень серьезно добавил дон Хенаро. - И Пьедрас Нэграс, и Транкитас, - с улыбкой сказал дон Хуан. Дон Хенаро добавил еще несколько названий, дон Хуан - еще, и так они все перечисляли и перечисляли замысловатые и смешные названия городов и поселков." |
|||
26
Healer
21.07.11
✎
15:42
|
Хм, сведений о типе метаданных они действительно не содержат... придётся перебирать все метаданные, однозначно. Про UID-ы уже обсуждалось на мисте, например вот здесь: v8: Где взять описание GUID, который в 1С 8?.
|
|||
27
Healer
21.07.11
✎
15:44
|
...и вот здесь: v8: Как формируется GUID? (Уникальность его в пределах разных баз)...
|
|||
28
rs_trade
21.07.11
✎
15:51
|
(26) так уж и все. 98% что ссылка будет либо справочник, либо документ. их в первую очередь.
|
|||
29
ИС-2
naïve
21.07.11
✎
16:06
|
Сделал. Скорость вроде как приемлемая. Только возникла проблема с сравнение с пустым значением
Для Каждого ЭлементМетаданных из БазаКИС.Метаданные.Справочники Цикл Ссылка = БазаКИС.Справочники[ЭлементМетаданных.Имя].ПолучитьСсылку(ГУИД_КИС); //Если Ссылка = БазаКИС.Справочники[ЭлементМетаданных.Имя].ПустаяСсылка() Тогда (!!!) Если не ЗначениеЗаполнено(Ссылка.Код) Тогда Ссылка = Неопределено; иначе Возврат Ссылка; КонецЕсли; КонецЦикла; условие !!! не проходит т.е оно все время истина. Как проверить на пустое значение? Метод значениезаполнено тоже не работает. |
|||
30
DmitrO
21.07.11
✎
16:10
|
||||
31
rs_trade
21.07.11
✎
16:33
|
(29) да проще всего проверить на наличие в строке "ОбъектНеНайден". Или как оно там пишет.
|
|||
32
Aleksey
21.07.11
✎
16:56
|
(31) или запросом
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |