1С использует идентификаторы в 36-ричной системе счисления: 0-9A-Z
Уникальный идентификатор объекта можно получить функцией ЗначениеВСтрокуВнутр() (в десятичной системе)
Небольшим преобразованием (с использованием недокументированной функции _IdToStr() ) можно получить идентификатор во внутреннем формате 1С:
// ===============================
Функция глИдВПоляБД(ВнутрИд, Тип="", Вид="", ОбИд="") Экспорт
Сп=СоздатьОбъект("СписокЗначений");
спВн=СоздатьОбъект("СписокЗначений");
спВн.ИзСтрокиСРазделителями(Сред(ВнутрИд,2,СтрДлина(ВнутрИд)-2));
Тип=спВн.ПолучитьЗначение(1);
Вид=спВн.ПолучитьЗначение(4);
ОбИд=спВн.ПолучитьЗначение(7);
Если (Число(Вид)=0) И (СтрДлина(ОбИд)>13) Тогда
Вид=Лев(ОбИд,СтрДлина(ОбИд)-13);
ОбИд=Прав(ОбИд,13);
КонецЕсли;
Вид=Прав(_IdToStr(Число(Вид)),4);
ОбИд=_IdToStr(Число(Лев(ОбИд,СтрДлина(ОбИд)-3)))+Прав(ОбИд,3);
Сп.ДобавитьЗначение(Тип);
Сп.ДобавитьЗначение(Вид);
Сп.ДобавитьЗначение(ОбИд);
Возврат Сп;
КонецФункции
Эта функция возвращает список значений из 3-х идентификаторов: Тип, Вид и Объект; и кроме того может вернуть значение через соответствующий параметр. Примеры возможных форматов вызова:
Сп=глИдВПоляБД(Спр.ТекущийЭлемент());
глИдВПоляБД(Спр.ТекущийЭлемент(),,ИдВид);
глИдВПоляБД(Спр.ТекущийЭлемент(),,,Идент);