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


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Переодические реквизиты справочника
22. Марта 2007 :: 10:11
Печать  
Как можно получить переодический реквизит справочника на определенную дату?
  
Наверх
 
IP записан
 
smile
Junior Member
**
Отсутствует


бррр... ужас...

Сообщений: 50
Зарегистрирован: 23. Мая 2006
Re: Переодические реквизиты справочника
Ответ #1 - 22. Марта 2007 :: 10:53
Печать  
rtfm однозначно
$ПоследнееЗначение
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Переодические реквизиты справочника
Ответ #2 - 22. Марта 2007 :: 11:57
Печать  
ТекстЗапроса="
|SELECT
|СпрН.DESCR,
|$СпрН.СтавкаНДС
|FROM
|$Справочник.Номенклатура AS  СпрН
|";      

А пример- если СтавкаНДС переодический
  
Наверх
 
IP записан
 
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Переодические реквизиты справочника
Ответ #3 - 22. Марта 2007 :: 12:15
Печать  
сильно помогает в таких случаях конструктор запросов http://www.1cpp.ru/forum/YaBB.pl?num=1148127139 (спасибо автору!)
  
Наверх
ICQ  
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Переодические реквизиты справочника
Ответ #4 - 22. Марта 2007 :: 14:06
Печать  
Вообщем если кому-нибудь, кроме меня это интересно, то что-то вроде:
|SELECT
|СпрН.DESCR,
|$ПоследнееЗначение.Номенклатура.СтавкаНДС(СпрН.Id, :Дата01)  AS [СтавкаНДС $Справочник.СтавкиНДС]
|FROM
|$Справочник.Номенклатура AS  СпрН
|";      
  
Наверх
 
IP записан
 
smile
Junior Member
**
Отсутствует


бррр... ужас...

Сообщений: 50
Зарегистрирован: 23. Мая 2006
Re: Переодические реквизиты справочника
Ответ #5 - 23. Марта 2007 :: 07:11
Печать  
Все кому это интересно читают документацию по компоненте...
  
Наверх
 
IP записан
 
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Re: Переодические реквизиты справочника
Ответ #6 - 23. Марта 2007 :: 08:48
Печать  
А если мне нужно взять реквизит на дату, которая не устанавливается
один раз перед выполнением запроса.? А меняется динамически.
Например, мне нужно получить пер. реквизит на дату документа оплаты.
Такое возможно ? Такого примера в доке нет.
  
Наверх
 
IP записан
 
smile
Junior Member
**
Отсутствует


бррр... ужас...

Сообщений: 50
Зарегистрирован: 23. Мая 2006
Re: Переодические реквизиты справочника
Ответ #7 - 23. Марта 2007 :: 09:16
Печать  
|SELECT 
|СпрН.DESCR,
|$ПоследнееЗначение.Номенклатура.СтавкаНДС(СпрН.Id, left(Журнал.date_time_iddoc,8))  AS [СтавкаНДС $Справочник.СтавкиНДС]
|FROM
|$Справочник.Номенклатура AS  СпрН
|INNER JOIN
$ДокументСтроки.ДокументОплаты ДокОпл (nolock)
on
$ДокОпл.Товар = СпрН.id
INNER JOIN
_1SJOURN Журнал (nolock)
on
Журнал.iddoc = ДокОпл.iddoc
|";      

как-то так или возможно вот здесь не просто
left(Журнал.date_time_iddoc,8)
а еще надо будет типизировать
cast (left(Журнал.date_time_iddoc,8) as datetime)
  
Наверх
 
IP записан
 
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Re: Переодические реквизиты справочника
Ответ #8 - 23. Марта 2007 :: 09:27
Печать  
Спасибо, попробую.
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Переодические реквизиты справочника
Ответ #9 - 23. Марта 2007 :: 10:25
Печать  
А возможно ли сделать группировку по переодическому реквизиту?
Попробовал так:
|SELECT 
| Жур.IdDoc  AS [Док  $Документ.ПоступлениеТоваров]
| ,$ПоследнееЗначение.Номенклатура.СтавкаНДС(СпрН.Id, CAST(LEFT(Жур.Date_Time_IDDoc, 8) AS DateTime) )  AS [СтавкаНДС $Справочник.СтавкиНДС]
| ,SUM($ДкТОВСт.Всего)  AS Всего
| FROM
|_1SJourn as Жур (nolock)
|, $Документ.ПоступлениеТоваров AS ДкТОВ (nolock)
|,$ДокументСтроки.ПоступлениеТоваров AS ДкТОВСт  (nolock)
|,$Справочник.Номенклатура AS СпрН  (nolock)
|WHERE
|(Жур.IsMark  =0) AND  (Жур.Closed & 1 =1)   
|AND (Жур.IdDoc =ДкТОВ.IdDoc) AND (ДкТОВ.IdDoc  =ДкТОВСт.IdDoc) AND (Жур.IDDocDef = $ВидДокумента.ПоступлениеТоваров)
|AND  ($ДкТОВ.Контрагент=:ВКонтрагент)
|AND      (Жур.Date_Time_IDDoc BETWEEN :Дата02 AND :Дата01~)
|AND  ( СпрН.Id=$ДкТОВСт.Товар)
|GROUP BY  Жур.IdDoc   
| , $ПоследнееЗначение.Номенклатура.СтавкаНДС(СпрН.Id, CAST(LEFT(Жур.Date_Time_IDDoc, 8) AS DateTime))

не получается. Пишет:
Cannot use an aggregate or a subquery in an expression used for the group by list of a GROUP BY clause
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Переодические реквизиты справочника
Ответ #10 - 23. Марта 2007 :: 10:41
Печать  
Напиши
Код
Выбрать все
GROUP BY  Жур.IdDoc
	, СпрН.Id
	, CAST(LEFT(Жур.Date_Time_IDDoc, 8) AS DateTime) 


или, раз уж у тебя есть группировка по IDDOC,
Код
Выбрать все
GROUP BY  Жур.IdDoc
	, СпрН.Id
	, Жур.Date_Time_IDDoc 


Ну или последуй совету в (3). Круглые глаза
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Переодические реквизиты справочника
Ответ #11 - 23. Марта 2007 :: 11:18
Печать  
Так работает но  группирует по документу, товару, ставкеНДС. А нужно по по документу и ставкеНДС
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Переодические реквизиты справочника
Ответ #12 - 23. Марта 2007 :: 11:33
Печать  
Тогда ой.  Улыбка
Заверни это всё в подзапрос.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Переодические реквизиты справочника
Ответ #13 - 23. Марта 2007 :: 11:50
Печать  
В принципе так и сделано.
GROUP BY    Подзапрос2.Док , Подзапрос2.СтавкаНДС
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать