gifts2017

АЦРК: Ссылка по GUID. Обычные и управляемые формы.

Опубликовал Иванов Алексей (acrk) в раздел Программирование - Инструментарий

Позволяет определить GUID  ссылки и наоборот, найти ссылку по GUID.
Запускается как в обычном, так и в управляемом приложении.

Обработка может пригодиться в некоторых специфических случаях при анализе проблем с базами данных, когда у вас есть 36-символьный уникальный идентификатор объекта и вам надо найти, что же это за объект.

Скачать файлы

Наименование Файл Версия Размер
АЦРК_СсылкаПоЖУИД_ОФ+УФ.epf 343
.epf 20,77Kb
14.10.14
343
.epf 20,77Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Алексей Новоселов (a-novoselov) 11.04.10 11:46
2. Александр Плюшкин (php5) 11.04.10 17:09
Интересная обработка, не тестировал, но были случая когда необходимо было найти по гуиду...
3. Аркадий Кучер (Abadonna) 12.04.10 05:18
(2)
Интересная обработка, не тестировал, но были случая когда необходимо

Интересно, а как бы ты потестировал картинку? ;)
(0) Автор, а сам файл-то где?
4. Мурат Жананов (murat_) 12.04.10 06:02
Ctrl+Alt+W открываем табло,
1)пишем выражение, например,
ЗначениеВСтрокуВнутр(Справочники.Контрагенты.НайтиПоКоду("000000082"))

получаем результат
{"#",9f6206b2-1ed6-423c-9b08-fd4978930c49,24:8a8f000244430ca311dba6bd4ec16d68}

2)теперь обратно, пишем выражение
ЗначениеИзСтрокиВнутр("{""#"",9f6206b2-1ed6-423c-9b08-fd4978930c49,24:8a8f000244430ca311dba6bd4ec16d68}")

получаем результат
Кредит Урал Банк ОАО


Лично для меня так проще и всегда под рукой ;)
5. Иванов Алексей (acrk) 12.04.10 09:55
(1) Не знаю куда файл делся. Добавил.
6. Иванов Алексей (acrk) 12.04.10 10:05
(4) А если у вас только строка "9f6206b2-1ed6-423c-9b08-fd4978930c49", как через табло найти ссылку?
7. Иванов Алексей (acrk) 12.04.10 10:08
(3) Файл куда-то пропал. Добавил.
8. Мурат Жананов (murat_) 12.04.10 14:51
(6) Правда конечно еще тип объекта знать заранее еще нужно, но вроде так получилось:
Справочники.Контрагенты.НайтиПоКоду("000000082").УникальныйИдентификатор()
=>
4ec16d68-a6bd-11db-8a8f-000244430ca3


Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор("4ec16d68-a6bd-11db-8a8f-000244430ca3"))
=>
Кредит Урал Банк ОАО
9. Иванов Алексей (acrk) 12.04.10 15:29
(8) То-то и оно, что тип надо знать. Да и писать выражение замучаешься.
А обработка перебирает все возможные сслыочные типы и находит нужную ссылку, если она вообще из этой базы.
10. Мурат Жананов (murat_) 13.04.10 05:59
(9) Да мне не вломы выражение настучать! :D
Если уж придеться написать микрокод, то скорее всего воспользуюсь "Универсальным подбором и обработкой объектов".
11. Аркадий Кучер (Abadonna) 13.04.10 07:34
Автор, проверочку на дурака надо таки делать ;)
Если ссылка никакая не введена, система не поймет, что она рф_Ссылка.Пустая()
и вывалит тебе то, что на рис.
Надо:
Если  ТипЗнч(рф_Ссылка)<>Тип("Неопределено") Тогда
Прикрепленные файлы:
12. Иванов Алексей (acrk) 13.04.10 13:48
(11) Вы правы.
Когда поле составного типа, даже если оно Ссылка, пустой она не бывает, она бывает Неопределено. Поэтому надо использовать ЗначениеЗаполнено().
Обработку исправил.
13. Борис Скворцов (gaglo) 14.04.10 07:38
Вот бы еще поделились знанием: что это за "некоторые специфические случаи", когда у вас есть только некоторых специфических случаях при анализе проблем с базами данных, когда у вас есть только GUID, и ничего более не известно.
Вот у нас есть две базы, сильно различных по составу объектов, но с обменом данными. Там периодически выскакивают в логе записи вроде
"Не найдено качество по ссылке. c2bf13dc-58d3-4871-945c-8bb923a3226c"
Но здесь тип объекта я знаю.
14. Трактор Трактор (Трактор) 14.04.10 09:39
Скачивать не стал ибо такие обработки пишутся на ходу. Вот код, чтобы легче писалося
http://infostart.ru/profile/10200/blog/960/
15. Александр (Sword) 14.04.10 12:59
Просто но со вкусом, работать с ней приятно, в той которую для себя наваял есть ещё : ЗначениеИзСтрокиВнутр,ЗначениеВСтрокуВнутр. Тут бы то же пригодилось.
16. Иванов Алексей (acrk) 14.04.10 13:16
(13) Случаи на самом деле очень специфические.
У меня было как раз с обменом примерно то же самое. Когда в базе-приемнике объект с некоторым GUID уже был и совсем не того типа, который программа пыталась записать.
Из вашего сообщения можно сделать вывод, что программа при переносе не нашла качество со сслыкой ... . Если бы такого GUID в базе не было бы, то обработка переноса спокойно создала бы новой качество с таким GUID. А проблема-то в том, что GUID такой уже есть, но он принадлежит совсем не тому типу. Так что вы как раз не знаете тип того объекта, который имеет указанный GUID (Это только мое предположение, конечно). Можно попробовать его найти с помощью обработки.
17. Борис Скворцов (gaglo) 15.04.10 12:21
(16) Как раз знаю тип объекта, и это действительно качество ;-] В моем случае просто неадекватно (совсем никак) обработалось удаление элемента справочника.
а) В базе-источнике создали новое качество для хитрых целей.
б) В базу-приемник оно перенеслось, с тем же GUID.
в) В базе-источнике удалили это качество, и оно удалилось.
г) В базе-приемнике - оно осталось.
д) И через некоторое время им воспользовались в базе-приемнике.
е) А вот в базу-источник этот документ загрузиться уже не смог.
Насчет "обработка переноса спокойно создала бы" - нет, в нашем случае планы обмена нарочно написаны, чтоб ничего такого автоматически не создавалось.
19. Smoke221180 Smoke221180 (Smoke221180) 14.12.11 16:10
Очень пригодилась, когда переходил с бухи 1.6 на 2.0
20. dmitriy29 (DmitriyDI) 20.03.14 15:07
пригодилась когда пропал документ, все думал, что демоны бухи взяли его и изменили до неузнаваемости, развернул копию (там нашел док получил юнид, а в базе хотел его получить), думал сам написать такую обработку, но наткнулся на эту)
спасибо)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа