Имя: Пароль:
1C
1С v8
Регистратор.Дата и Период - в чем разница?
,
0 Trainee
 
31.03.12
08:44
Здравствуйте!
Уважаемые Гуру, поясните, пожалуйста:
Код НЕ работает: ВЫБРАТЬ
   ВзаиморасчетыОбороты.Контрагент,
   ВзаиморасчетыОбороты.Валюта КАК Валюта,
   ВзаиморасчетыОбороты.СуммаПриход КАК СуммаПриход,
   ВзаиморасчетыОбороты.Период КАК Дата
ПОМЕСТИТЬ ВТПродажи
ИЗ
   РегистрНакопления.Взаиморасчеты.Обороты(, , Регистратор, ) КАК ВзаиморасчетыОбороты

ИНДЕКСИРОВАТЬ ПО
   Валюта,
   РегистраторДата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТПродажи.Валюта,
   МАКСИМУМ(КурсыВалют.Период) КАК Период,
   ВТПродажи.Дата
ИЗ
   ВТПродажи КАК ВТПродажи
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
       ПО ВТПродажи.Дата >= КурсыВалют.Период

СГРУППИРОВАТЬ ПО
   ВТПродажи.Валюта,
   ВТПродажи.РегистраторДата

Код работает: ВЫБРАТЬ
   ВзаиморасчетыОбороты.Контрагент,
   ВзаиморасчетыОбороты.Валюта КАК Валюта,
   ВзаиморасчетыОбороты.СуммаПриход КАК СуммаПриход,
   ВзаиморасчетыОбороты.Регистратор.Дата КАК РегистраторДата
ПОМЕСТИТЬ ВТПродажи
ИЗ
   РегистрНакопления.Взаиморасчеты.Обороты(, , Регистратор, ) КАК ВзаиморасчетыОбороты

ИНДЕКСИРОВАТЬ ПО
   Валюта,
   РегистраторДата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТПродажи.Валюта,
   МАКСИМУМ(КурсыВалют.Период) КАК Период,
   ВТПродажи.РегистраторДата
ИЗ
   ВТПродажи КАК ВТПродажи
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
       ПО ВТПродажи.РегистраторДата >= КурсыВалют.Период

СГРУППИРОВАТЬ ПО
   ВТПродажи.Валюта,
   ВТПродажи.РегистраторДата

Почему?
1 andrewks
 
31.03.12
09:20
что конкретно не работает?
2 Trainee
 
31.03.12
14:18
Если указать Период, то во втором запросе будет 0 (или NULL). А при сравнении Регистратор.Дата, данные будут выданы корректно. Почему так?
3 Aleksey
 
31.03.12
14:20
(2) Может потому что период <> Регистратор.Дата?
4 Шапокляк
 
31.03.12
14:23
А в неработающем запросе откуда берется ВтПродажи.РегистраторДата?
5 Trainee
 
31.03.12
21:31
Нет, период и регистратор дата совпадают. В данном случае, проблема именно в Регистратор.Дата - выбираю, получаю курс, выбираю Период - курс 0.
6 EvgeniuXP
 
31.03.12
21:35
дата - это одна дата, период - это две даты.
7 PVV65
 
31.03.12
21:41
(0) Я наверное тупой. Думал, что временные таблицы нужно помещать.
8 awa15
 
31.03.12
22:09
(0) Так как в восьмерке регистратор может делать движения не совпадающие с собственной датой, то в принципе, логично, что в виртульной таблице Обороты при периодичности Регистратор поле Период будет NULL. Другое дело, что в синтаксис-помощнике такое поведение не описано.
В данном конкретном случае, как мне представляется, периодичность Регистратор не нужна. Достаточно периодичности День, так как именно такую периодичность имеет регистр КурсыВалют.
9 acsent
 
31.03.12
22:57
>>Логично, что в виртульной таблице Обороты при периодичности Регистратор поле Период будет NULL
ну ты тупоооой
10 Trainee
 
01.04.12
00:22
awa15, спасибо.)

acsent, обращение "Уважаемые Гуру" к вонючкам, вроде тебя, не относится, пошел вон.