Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Периодические реквизиты справочника (число прочтений - 15565 )
EasternGuy
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 04. Июля 2006
Периодические реквизиты справочника
04. Июля 2006 :: 08:54
Печать  
Начинаю разбираться с прямыми запросами написал пару простеньких запросиков - все прекрасно. Вот дошла очередь до обращений к периодическим реквизитам. Такой запросик:

Спр.ID as [Элемент $Справочник.ФиксированныеАктивы],
Спр.Code as Код,
Спр.Descr as Наименование
From $Справочник.ФиксированныеАктивы as Спр

Другие реквизиты, типизированные и нет нормально вытягиваю, а с историей застрял. Помогите разобраться, читал доки, там рассматриваются случаи когда запрашиваемое значение является значением реквизита подчиненного справочника, а у меня нет. Мне нужно получить, к примеру, значение "МОЛ" (Справочник.Сотрудники) на ДатаЗапроса.
ХЕЛП!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Периодические реквизиты справочника
Ответ #1 - 04. Июля 2006 :: 09:30
Печать  
если формат ИБ - sql
Код
Выбрать все
select
Спр.ID as [Элемент $Справочник.ФиксированныеАктивы],
Спр.Code as Код,
Спр.Descr as Наименование,
$ПоследнееЗначение.ФиксированныеАктивы.МОЛ(:ДатаЗапроса) [МОЛ $Справочник.Сотрудники]
From $Справочник.ФиксированныеАктивы as Спр  

  

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


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 04. Июля 2006
Re: Периодические реквизиты справочника
Ответ #2 - 04. Июля 2006 :: 09:37
Печать  
Вот такая ошибка на твой запрос:
Meta name parser error: недопустимое значение параметра "$ПоследнееЗначение.ФиксированныеАктивы.МОЛ" (2)
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Периодические реквизиты справочника
Ответ #3 - 04. Июля 2006 :: 09:39
Печать  
прости, ошибся.
$ПоследнееЗначение.ФиксированныеАктивы.МОЛ(Спр.ID, :ДатаЗапроса) [МОЛ $Справочник.Сотрудники]
  

1&&2&&3
Наверх
 
IP записан
 
U_zer
Экс-Участник


Re: Периодические реквизиты справочника
Ответ #4 - 04. Июля 2006 :: 09:41
Печать  
А это специально, чтоб ты покопался в доке. Там не хватает одного параметра, а-именно, элемента справочника с период. реквизитом.
  
Наверх
 
IP записан
 
EasternGuy
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 04. Июля 2006
Re: Периодические реквизиты справочника
Ответ #5 - 04. Июля 2006 :: 09:43
Печать  
Так я тоже дела - до того как на форум полез, но получал всегда такую ошибку:
Incorrect syntax near the keyword 'order'.
Запросик, который в QA получается кинуть?
  
Наверх
 
IP записан
 
U_zer
Экс-Участник


Re: Периодические реквизиты справочника
Ответ #6 - 04. Июля 2006 :: 09:45
Печать  
Интересно конечно рассуждать о том, чего не видишь ...
Текст запроса с ошибкой выложи, плиз!
  
Наверх
 
IP записан
 
EasternGuy
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 04. Июля 2006
Re: Периодические реквизиты справочника
Ответ #7 - 04. Июля 2006 :: 09:46
Печать  
Select
Спр.ID as [Элемент $Справочник.ФиксированныеАктивы],
Спр.Code as Код,
Спр.Descr as Наименование
(
select top 1
left(c770_vv.value, 9)
from
_1sconst as c770_vv (nolock)
where
c770_vv.id = 770 and
c770_vv.objid = Спр.ID and
(c770_vv.date <= '20060101')
order by c770_vv.date desc, c770_vv.time desc, c770_vv.docid desc, c770_vv.row_id desc
) [МОЛ $Справочник.Сотрудники]
From sc793 as Спр
Where
Спр.IsFolder = 2

Ошибка:
State 42000, native 156, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'order'.
  
Наверх
 
IP записан
 
U_zer
Экс-Участник


Re: Периодические реквизиты справочника
Ответ #8 - 04. Июля 2006 :: 09:49
Печать  
Ты предлагаешь найти ошибку в пропарсенном запросе? ..  Класс
Я имел в виду, оригинальный твой запрос ..
  
Наверх
 
IP записан
 
EasternGuy
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 04. Июля 2006
Re: Периодические реквизиты справочника
Ответ #9 - 04. Июля 2006 :: 09:54
Печать  
Блин, извините, нашел, ошибку в запросе, я запятую забыл после реквизита (перед последним значением). Спасибо всем.
  
Наверх
 
IP записан
 
EasternGuy
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 04. Июля 2006
Re: Периодические реквизиты справочника
Ответ #10 - 05. Июля 2006 :: 05:11
Печать  
Еще такой вопросик, с периодическими разобрался, спасибо. И условия к периодическим сделал нормалек, а вот условие к периодическим которые имеет неопренделенный тип не получается - выдает пустую выборку, код запроса такой:

Select Спр.ID as [Элемент $Справочник.ФиксированныеАктивы],
Спр.Code as Код,
Спр.Descr as Наименование
From $Справочник.ФиксированныеАктивы as Спр
Where Спр.IsFolder = 2 AND
$ПоследнееЗначение.ФиксированныеАктивы.Субконто2(Спр.ID, :ДатаЗапроса) IN (SELECT Val FROM #Группа1)

Хелп!
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Периодические реквизиты справочника
Ответ #11 - 05. Июля 2006 :: 05:21
Печать  
если тип - Неопределенный, то он состоит из
Тип + Вид + Ид
char(2) + char(4) + char(9)

в твоем случае, если в таблица #Группа1 уложена методом УложитьСписокОбъектов() и там тип char(9), то так:
Код
Выбрать все
LEFT($ПоследнееЗначение.ФиксированныеАктивы.Субконто2(Спр.ID, :ДатаЗапроса),15) IN (SELECT 'B1'+$ВидСправочника36.ВидТвоегоСправочника+Val FROM #Группа1) 



где 'B1' - это идентификатор типа справочник
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Периодические реквизиты справочника
Ответ #12 - 05. Июля 2006 :: 05:23
Печать  
кстати, кто знает, как вместо где 'B1' - это идентификатор типа справочник написать что-нибудь типа $Тип.Справочник?
  
Наверх
 
IP записан
 
EasternGuy
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 04. Июля 2006
Re: Периодические реквизиты справочника
Ответ #13 - 05. Июля 2006 :: 05:58
Печать  
Спасибо, взлетело
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Периодические реквизиты справочника
Ответ #14 - 05. Июля 2006 :: 06:24
Печать  
DrACe писал(а) 05. Июля 2006 :: 05:23:
кстати, кто знает, как вместо где 'B1' - это идентификатор типа справочник написать что-нибудь типа $Тип.Справочник?

Полагаю, что имеется в виду вот это:
идентификатор вида справочника char(4):
${ВидСправочника36|ReferenceKind36}.<Справочник> = 'ZZZZ'


Читайте внимательнее приложение А   Смех
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать