В статье все, вроде, изложено. 1.1.1. Хранение ID объекта ID может иметь 3 представления (уровня) в зависимости от длины (количества значащих символов):
9 символов – определен тип и вид объекта (например «Справочник.Клиенты»), в ID включается только порядковый номер в 36-ричной системе исчисления. Под порядковый номер отводятся первые 6 символов, последние 3 символа зарезервированы под код базы УРБД. 13 символов – определен только тип объекта, вид не задан (например «Справочник»). Первые 4 символа – идентификатор вида (как он задан в метаданных), последующие 9 символов – по аналогии с предыдущим пунктом. 23 символа – не определен тип и вид объекта. В таком случае в первых 2 символах хранится тип объекта (будет рассмотрен ниже), следующие 13 символов формируются аналогично предыдущему пункту. В некоторых случаях, при указании неопределенного типа объекта (длина ID кода 23 символа) создается дополнительное поле с символом «T» вначале (например, если в справочнике задан реквизит SP235 как неопределенный, то в таблице справочника будет создано еще одно поле TSP235). Рассмотрим поподробнее значения этого поля. Это поле по умолчанию заполняется пустой строкой (3 пробела).
Для невыбранного типа (заполняется по умолчанию): TSP235 = ' ' (3 пробела), при этом связанное неопределенное поле SP235 заполняется значением 'U ' (символ U и 22 пробела), что скорее всего означает «Undefined», т.е. неопределенный. Для типов «Число»: связанное поле SP235 заполняется строковым значением числа, но с символом «N» в начале строки (например 'N 2' для целого числа 2). Возможные значения TSP235: 'F30' - число с плавающей запятой (float); '320' - число, состоящее только из десятичных (0.99, т.е. Число(3,2)). 'A00' - целое число (int); Для типов «Строка»: связанное поле SP235 заполняется строкой, но с символом 'S' слева (например 'SАбвгдежзклимно '). Возможные значения TSP235 в этом случае: количество знаков, определенных для строкового значения, например, '14' - количество знаков в строке, в 36-ричном формате (_IDToStr). Следует отметить, хотя 1С и назначает длину строки больше 22 символов, но фактически в этом поле можно хранить только 22 символа (1 разряд приходиться на обозначение типа поля 'S'). Для типов «Дата»: связанное поле SP235 заполняется строкой, но с символом 'D' слева (например 'D20050303 '). TSP235 - ' ' (3 пробела), т.е. поле пустое. Для типов 1С (Справочник, Документ, Перечисление, Счет, и т.д.): связанное поле SP235 заполняется строкой включающий полный идентификатор объекта (его тип, вид, внутренний ИД код). Следует отметить, что для типов «Перечисление» нельзя не назначать вид, так как неназначение вида приведет к несовпадению типов и незаполнению неопределенного поля. Возможные значения TSP235: '0 ' - был назначен только тип объекта, вид не назначен (например «НазначитьТип(«Справочник»)») '1 ' - был назначен как тип объекта, так и его вид (например «НазначитьТип(«Справочник.Клиенты»)») Примечание
Поскольку для неопределенных реквизитов (полей) длина поля всегда равна 23 символам, то соответственно в такое поле можно записать значение максимум с 22 символьным значением (1 отводится под определение типа, в случае базовых типов, таких как число, строка, дата).
|