Узнать уникальный идентификатор GUID элемента справочника, документа 1С на управляемых формах с текстом для конфигуратора

05.01.25

Задачи пользователя - Поиск данных

Данная обработка позволяет узнать GUID записи справочника или документа в любой базе на платформе 8.3, работающей на управляемых формах, а также сформировать строку кода для конфигуратора для поиска этого элемента.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Уникальный идентификатор GUID элемента справочника, документа 1С на управляемых формах с текстом для конфигуратора:
.epf 6,79Kb
2
2 Скачать (1 SM) Купить за 1 850 руб.

Когда необходимо в  запросе отобрать  заведомо известный по GUID элемент справочника  в коде конфигуратора.  Данная обработка позволяет узнать этот код  и сформировать код  для конфигуратора в любой базе на платформе 8.3, работающей на управляемых формах.

Открываете нужный справочник, выбираете  необходимый элемент. Получаете ГУИД элемента и строку кода для конфигуратора.

Тестировалась на платформе 1С  8.3.23.1912, базы 1С:ERP Управление предприятием 2 (2.5.8.435), Бухгалтерия предприятия, редакция 3.0 (3.0.167.32).

GUID элемента 1С Код справочника внутренний код справочника 1С

См. также

Поиск данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

10800 руб.

14.05.2012    159881    341    253    

574

Математика и алгоритмы Инструментарий разработчика Универсальные функции Поиск данных Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Абонемент ($m)

Несколько упакованных в один класс интерфейсов для обработки популярных универсальных коллекций. Для тех, кого раздражает отсутствие действительно единого интерфейса для универсальных коллекций.

5 стартмани

25.09.2024    2690    1    Артано    14    

19

Поиск данных Программист Платформа 1С v8.3 Россия Бесплатно (free)

В этой статье я хочу рассмотреть еще один кейс применения Clickhouse в связке с 1С - оптимизацию поиска в справочнике по ключевым словам. Здесь не будет готового решения, но будут описаны важные моменты, которые позволят легко применить данный кейс в реальности.

18.08.2024    2285    1cnik2    23    

16

Поиск данных Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Отображение и просмотр реквизитов справочника или документа - с бесконечным открытием подуровней.

1 стартмани

14.06.2024    3781    12    RustIG    30    

22

Поиск данных Системный администратор Программист Платформа 1С v8.3 Россия Абонемент ($m)

Статья об опыте развертывания и интеграции с базой данных Manticore Search для быстрого полнотекстового поиска.

1 стартмани

30.11.2023    5196    andreysidor4uk    18    

55

Поиск данных Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Стандартная обработка с доработанным выводом ссылок в виде дерева с учётом фильтра и с удобным подбором исходного объекта

2 стартмани

24.11.2023    1383    15    SerVer1C    10    

10

Поиск данных Корректировка данных Пользователь Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Абонемент ($m)

PowerOffice - обработка для поиска, просмотра и обработки данных для пользователей. Доступ к объектам на просмотр и редактирование данных определяется правами пользователя.

1 стартмани

05.06.2023    2469    26    PowerBoy    1    

16

Поиск данных Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Абонемент ($m)

Получение ссылки в 1С по бинарной строке из PostgreSQL в виде строки формата bytea или из MSSQL в виде шестнадцатиричной строки. Кроме ссылочных объектов ссылки могут быть получены и для перечислений. Это может быть полезно при анализе логов журнала регистрации или СУБД.

1 стартмани

04.04.2023    3395    4    berserg    2    

13
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. markers 278 05.01.25 08:37 Сейчас в теме
Не узнаем теперь GUID элемента в ваше базе, какая трагедь ;)
Всё-же лучше избегать хард-кода и использовать константы и пр.
Но в целом обработка выполняет свою задачу
2. tsatsur 45 05.01.25 09:40 Сейчас в теме
кавычки в переменной? честно? печалька
3. dsdred 3787 05.01.25 10:46 Сейчас в теме
Было миллион раз уже.
Автор прочитайте про навигационные ссылки.
4. SlavaKron 05.01.25 11:45 Сейчас в теме
(3) А как это поможет без дополнительной обработки? В навигационной ссылке части ГУИД идут не в том порядке, который нужен для создания ссылки.
ГУИД объекта можно легко вытащить через консоль запросов. Также, любой более-менее серьезный редактор объектов показывает ГУИД.
5. dsdred 3787 05.01.25 12:21 Сейчас в теме
(4) так не хотел тратить время на ненужные комментарии, так как статья не тянет на статью...

В статье показан дедовский метод. Есть более современные.
Можно почитать например вот эту статью https://infostart.ru/1c/articles/1788844/

В платформе мы можем получать идентификатор:

Ссылка.УникальныйИдентификатор() // ИЛИ Новый УникальныйИдентификатор(XMLСтрока(Ссылка))

И идентификатор строкой:

XMLСтрока(Ссылка) // ИЛИ Строка(Ссылка.УникальныйИдентификатор())

Есть способ запросом, способ навигационной ссылкой и есть ещё способ более древний чем дедовский не рекомендованный 1с.


Теперь, что такое навигационная Ссылка?

Это строка содержащая тип объекта и его идентификатор.
Что можно делать с навигационной ссылкой?
1 Открывать в клиенте объект
2 Можно программно забрать из неё тип и получить guid.

И да, навигационную ссылку можно получить программно и в клиенте не используя редакторов.
6. SlavaKron 05.01.25 12:36 Сейчас в теме
(5) Тут никто не обсуждал программное получение гуид. Задача стоит получить ГУИД в предприятии, чтобы его значение использовать в коде хардкорно. То что навигационную ссылку можно получить без каких-либо инструментов и так понятно. Но вот вручную ковыряться с ее "хвостом", чтобы получить ГУИД - тот еще изврат. А если предлагаете для этого использовать обработку, то навигационная ссылка тут ни к селу ни к городу.
7. dsdred 3787 05.01.25 13:16 Сейчас в теме
(6) вот вам пример с хардкорным использованием https://infostart.ru/1c/articles/2216535/
смотрите после текста
Самый простой способ - получить навигационную ссылку у параметра и код переписать на использование данной ссылки. А сам параметр удалить.


Ссылку с хардкорной записи можно получить например так
// Получить ссылку из навигационной
//
// Параметры:
//  НавигационнаяСсылка	 - Строка - Пример: "e1cib/data/Справочник.Валюты?ref=9e0108002700700111e1cc2f22dd80d2"
// 
// Возвращаемое значение:
//   ЛюбаяСсылка - Найденная ссылка 
//
Функция ПолучитьСсылкуИзНавигационной(Знач НавигационнаяСсылка) Экспорт
		
    ПерваяТочка = Найти(НавигационнаяСсылка, "e1cib/data/");
    ВтораяТочка = Найти(НавигационнаяСсылка, "?ref=");
    
    ПредставлениеТипа   = Сред(НавигационнаяСсылка, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);
    ШаблонЗначения = ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));
    ЗначениеСсылки = СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(НавигационнаяСсылка, ВтораяТочка + 5));
    Результат = ЗначениеИзСтрокиВнутр(ЗначениеСсылки);
	
	Возврат Результат;
	
КонецФункции
Показать


либо вернуть и тип и ссылку
// Получить структуру из навигационной ссылки
//
// Параметры:
//  НавигационнаяСсылка	 - Строка - Навигационная ссылка
//	ПередТочкой - Строка - Если заполнено тогда в типе перед точкой будет вставлено переданное значение.
//		Пример: "Ссылка" , ТипОбъекта = "ДокументСсылка.ЗаказКлиента"
//
// Возвращаемое значение:
//  Структура - Структура ответа:
//		Отработал - Булево - Признак того, что результат получен или не получен
//		Результат - Структура - Содержит ИдОбъекта и ТипОбъекта
//
Функция СтруктураНавигационнойСсылки(Знач НавигационнаяСсылка, Знач  ПередТочкой = "") Экспорт
	
	Результат = Новый Структура("Отработал", Истина);
	
	Если СтрНайти(НавигационнаяСсылка,"e1cib/data/") = 0
		ИЛИ СтрНайти(НавигационнаяСсылка,"?ref=") = 0 Тогда 
		
		Результат.Отработал = Ложь; 
		Возврат Результат;
		
	КонецЕсли;
    	
	ПодготовленнаяСтрока = СтрЗаменить(НавигационнаяСсылка, "e1cib/data/", ""); 
	ПодготовленнаяСтрока = СтрЗаменить(ПодготовленнаяСтрока, "?ref=", "||");
	
	МассивРазделеннойСсылки = СтрРазделить(ПодготовленнаяСтрока, "||", Ложь);
	
	Если МассивРазделеннойСсылки.Количество() > 1 Тогда 
		ТипОбъекта = МассивРазделеннойСсылки[0];
		
		Если ЗначениеЗаполнено(ПередТочкой) Тогда 
			ТипОбъекта = СтрЗаменить(ТипОбъекта, ".", ПередТочкой + ".");	
		КонецЕсли;	
		
		ГУИДУдОбъектаСтр = Лев(МассивРазделеннойСсылки[1], 32);  
		
		ИдОбъекта = Сред(ГУИДУдОбъектаСтр,25,8) 
					+ "-" 
					+ Сред(ГУИДУдОбъектаСтр,21,4) 
					+ "-" 
					+ Сред(ГУИДУдОбъектаСтр,17,4) 
					+ "-" 
					+ Сред(ГУИДУдОбъектаСтр,1,4) 
					+ "-" 
					+ Сред(ГУИДУдОбъектаСтр,5,12);
		
		Результат.Вставить("Результат", Новый Структура("ИдОбъекта, ТипОбъекта", ИдОбъекта, ТипОбъекта));
		
		Возврат Результат;
		
	Иначе  
		
		Результат.Отработал = Ложь; 
		Возврат Результат;	
		
	КонецЕсли;
		
КонецФункции   
Показать


А еще можно просто скопировать и в клиенте перейти по навигационной ссылке и сразу провалится в объект, что гораздо удобнее нежели сначала использовать какую-то обработку чтобы понять, что это за идентификатор такой...
maksa2005; +1 Ответить
8. ovasiliev 6 19.01.25 18:01 Сейчас в теме
(4) Тогда уж приделал бы сюда ещё получение времени формирования ГУИДа, что ли.. чтобы хоть что-то было бы в этой обработке.
Оставьте свое сообщение