Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Если тип значения справочник (число прочтений - 1994 )
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Если тип значения справочник
02. Июня 2008 :: 12:45
Печать  
Если тип значения просто справочник  (т.е. не конкретный справочник), то как выполнить отбор типа
|SELECT
....
| $Спр.Элемент as [Материал $Справочник]
| FROM
....
|WHERE
|$Спр.Элемент=:Материал

РС.УстановитьТекстовойПараметр("Материал",Материал);
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Если тип значения справочник
Ответ #1 - 02. Июня 2008 :: 13:02
Печать  
|$Спр.Элемент=$ВидСправочника36.Материалы+:Материал
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Если тип значения справочник
Ответ #2 - 02. Июня 2008 :: 13:48
Печать  
|$Спр.Элемент=:Материал~
  

1&&2&&3
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Если тип значения справочник
Ответ #3 - 03. Июня 2008 :: 08:00
Печать  
trad писал(а) 02. Июня 2008 :: 13:48:
|$Спр.Элемент=:Материал~

А вот с чем этого можно подробнее?
Чет я в доке такого не видел.
Вроде тама модификаторы используються токо для Даты.
Или я проло читал?
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Если тип значения справочник
Ответ #4 - 03. Июня 2008 :: 08:03
Печать  
Все приклоняю голову к нашим УВАЖАЕМЫМ РАЗРАБОТЧИКАМ.
А ведь я плохо доку читал.
Вот ЭТО для будущего поколения.
Из документации.

Правила обозначения модификаторов

В тексте запроса модификаторы обозначаются символами "~" или "*" после имени параметра. Количество символов "~" после имени параметра определяет номер модификатора. Если после имени параметра не указан модификатор, то номер модификатора равен 0. Так как типом "Неопределенный" (char(23)) можно выразить любой тип 1С, для этого существует специальный модификатор, обозначаемый символом "*", который определен для любого передаваемого типа 1С. Его номер 20.

Модификаторы определены для следующих типов 1С:

Строка:

0: char() - строка как есть;
1: char(23) - должна быть передана позиция документа, из которой будет сформирована строка в формате date_time_iddoc.
Дата:

0: char(8) - каноническое представление даты;
1: char(9) - каноническое представление даты + символ "Z" (используется для обозначения момента времени конца этой даты);
2: datetime.
Агрегатные типы (Перечисление, Справочник, Документ, Счет):

0: char(9) - внутренний идентификатор объекта (короткая строка 6+3);
1: char(13) - внутренний идентификатор объекта с видом (длинная строка 4+6+3);
2: char(15) - внутренний идентификатор объекта с видом и типом (2+4+6+3) (на самом деле такой тип нигде в 1С не используется, модификатор существует исключительно для обратной совместимости).
ВидРасчета: кроме 0 и 1, которые работают как для всех агрегатных типов, 2-й определен особо:

2: Зависит от формата ИБ. SQL: int - идентификатор вида расчета; DBF: char(4) - 36-й идентификатор вида расчета.
ВидСубконто: кроме 0 и 1, которые работают как для всех агрегатных типов, 2-й определен особо:

2: Зависит от формата ИБ. SQL: int - идентификатор вида субконто; DBF: char(4) - 36-й идентификатор вида расчета.
Справочник, Документ, Счет

3: Зависит от формата ИБ. SQL: int - идентификатор вида объекта; DBF: char(4) - 36-й идентификатор вида объекта.
Документ

4: Позиция переданного объекта в формате date_time_iddoc.
Примеры.

Передано значение типа Число:

:ФлагУчастияВРасчетах   = 1
:ФлагУчастияВРасчетах * = 'N                     1'

Передано значение типа Дата:

:ДатаНачала = '20030613'
:ДатаКонца ~ = '20030613Z'
:ДатаКонца ~~ = {d '2003-06-13'}

Передано значение типа Справочник.Контрагенты:

:Контрагент   = '    H6   '
:Контрагент ~ = '  1W    H6   '
:Контрагент * = 'B1  1W    H6           '

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать