#0
by mikecool
Есть реквизит тип Справочник Как в запросе получить вид выбранного значения и сравнить с $ВидСправочника? хочу типа case when $Реквизит.Вид = $ВидСправочника и т.п.
#7
by ЧеловекДуши
Очень просто, первые четыре символа в ссылке типа Справочник и содержат твой вид. Если это неопределенный тип, то берешь последние 13 символов из ссылки и левые 4 символа это твой вид :) 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 отводится под определение типа, в случае базовых типов, таких как число, строка, дата).
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Перенос с формы справочника в реквизит справочника
- v7: Получить периодическое значение справочника 1С 7.7 в прямом запросе
- v7: Функция с условием в запросе 1С++
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: извлечь и типизировать вид справочника в прямом запросе
- v7: Переход в форму списка справочника из элемента справочника.
В этой группе 1С
- Распределение затрат в УТ 10.3
- Заполнение 4-ФСС в 1С 8.2
- Хранение файлов в 1С УПП
- Корректировка остатков на складах
- Бух 8.2. 62.04, созданный счет в ручную, не отображается в Балансе.
- Ошибка XDTO
- Сериализатор XDTO и набор записей регистра бухгалтерии
- Автоотступ в СКД
- Opticon phl 2700-80
- v8: УНФ не дает выбрать тип структурной единицы "Розница"
- Можно ли в RLS запросе проверить количество элементов ФиксированногоМассива
- Задваивается префикс подразделения в документах
- Условное оформление текст поля ввода
- СКД. Среднесуточные продажи.
- v7: разница между #Записать Провести? Закрыть и Записать() Провести() Форма.Закрыть(
- СКД суммирование строк ресурса
- Для указания IP используйте маску подсети 32 (в поле после "/"). Как это ?
- Идентификаторы типов метаданных 1с ?
- Ошибка СУБД:Не удалось найти хранимую процедуру "sp_dboption"
- УТП Справочники Сотрудники и ФизЛица.