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


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 12. Декабря 2007
Получить периодический реквизит
30. Июля 2008 :: 07:53
Печать  
Старательно читаю хелп, но вижу фигу:
Хочу получить периодический реквизит Норма из справочника НормыРасходов , пишу:

           |SELECT 
           |      СпрН.Descr AS Наименование,
           |      СпрН.Норма as [Норма $Число]
           |FROM
           |      $Справочник.НормыРасходов СпрН
           |LEFT JOIN (
           |      SELECT
           |            Период.objid as objid,
           |            Период.value as Норма
           |      FROM 1sconst as Период
           |      WHERE
           |            Период.date IN
           |            (SELECT
           |                  MAX(Константа.date)
           |            FROM 1sconst as Константа
           |            WHERE
           |                  (Константа.date <= :ВыбДата ~~)
           |                  AND (Константа.id = $ИсторияРеквизита.СпрН.Норма)
           |                  AND (Константа.objid = Период.objid)
           |            )
           |            AND Период.id = $ИсторияРеквизита.СпрН.Норма
           |      ) as Нормы ON Нормы.objid = СпрН.id";
отвечает:
Meta name parser error: объект не найден "$ИсторияРеквизита.СпрН"
помогите разобраться?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Получить периодический реквизит
Ответ #1 - 30. Июля 2008 :: 08:02
Печать  
может так:
OnCheck писал(а) 30. Июля 2008 :: 07:53:
|AND (Константа.id = $ИсторияРеквизита.НормыРасходов.Норма)

  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Получить периодический реквизит
Ответ #2 - 30. Июля 2008 :: 08:03
Печать  
точнее так:
Код
Выбрать все
  |SELECT  
           |      СпрН.Descr AS Наименование,
           |      СпрН.Норма as [Норма $Число]
           |FROM
           |      $Справочник.НормыРасходов СпрН
           |LEFT JOIN (
           |      SELECT  
           |            Период.objid as objid,  
           |            Период.value as Норма  
           |      FROM 1sconst as Период
           |      WHERE
           |            Период.date IN  
           |            (SELECT  
           |                  MAX(Константа.date)  
           |            FROM 1sconst as Константа  
           |            WHERE
           |                  (Константа.date <= :ВыбДата ~~)  
           |                  AND (Константа.id = $ИсторияРеквизита.НормыРасходов.Норма)  
           |                  AND (Константа.objid = Период.objid)
           |            )
           |            AND Период.id = $ИсторияРеквизита.НормыРасходов.Норма  
           |      ) as Нормы ON Нормы.objid = СпрН.id";
 

  
Наверх
 
IP записан
 
OnCheck
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 12. Декабря 2007
Re: Получить периодический реквизит
Ответ #3 - 30. Июля 2008 :: 08:09
Печать  
хм получилось, но понятнее от этого не стало.... Озадачен
  
Наверх
 
IP записан
 
OnCheck
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 12. Декабря 2007
Re: Получить периодический реквизит
Ответ #4 - 30. Июля 2008 :: 08:09
Печать  
CaBaT писал(а) 30. Июля 2008 :: 08:02:
может так:
OnCheck писал(а) 30. Июля 2008 :: 07:53:
|AND (Константа.id = $ИсторияРеквизита.НормыРасходов.Норма)


благодарю
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Получить периодический реквизит
Ответ #5 - 31. Июля 2008 :: 19:01
Печать  
OnCheck писал(а) 30. Июля 2008 :: 08:09:
хм получилось, но понятнее от этого не стало.... Озадачен

$ИсторияРеквизита.НормыРасходов.Норма - возвращает десятичный ИД реквизита "Норма" Справочника "НормыРасходов".
Другими словами, если
Код
Выбрать все
глMDW = СоздатьОбъект("MetaDataWork"); 


тогда:
Код
Выбрать все
$ИсторияРеквизита.НормыРасходов.Норма 


есть не что иное как:

Код
Выбрать все
глMDW.ИДРеквизитаСправочника("НормыРасходов","Норма"). 

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