Имя: Пароль:
1C
1С v8
Разные результаты запросов. Почему?
0 Галахад
 
гуру
19.08.13
08:10
Запрос номер раз возвращает карту и сумму

ВЫБРАТЬ
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта,
    ПродажиПоДисконтнымКартам.Сумма
ИЗ
    РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам
ГДЕ
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта = &ДисконтнаяКарта

Запрос номер два ничего не возвращает

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

В чем прикол?
1 Галахад
 
гуру
19.08.13
08:10
Карта, конечно же одна и та же.
2 SeraFim
 
19.08.13
08:17
"Активность"?
3 Armando
 
19.08.13
08:17
нулевой оборот?
4 Defender aka LINN
 
19.08.13
08:19
А движения там, часом, не +100 и -100?
5 Галахад
 
гуру
19.08.13
08:23
(2), (3), (4) Движения делались вот так:

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта,
    |    ПродажиПоДисконтнымКартамОбороты.СуммаОборот
    |ИЗ
    |    РегистрНакопления.ПродажиПоДисконтнымКартам.Обороты(, &ДатаКон, , ) КАК ПродажиПоДисконтнымКартамОбороты";
    
    Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
    Результат = Запрос.Выполнить();
    
    Выборка = Результат.Выбрать();
    
    РН = РегистрыНакопления.ПродажиПоДисконтнымКартам;    
    НаборЗаписей = РН.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(КЗР);
    
    Пока Выборка.Следующий() Цикл
        
        Запись = НаборЗаписей.Добавить();
        Запись.Период = КЗР.Дата;
        Запись.Активность = Истина;
        Запись.ДисконтнаяКарта = Выборка.ДисконтнаяКарта;
        Запись.Сумма = Выборка.СуммаОборот;
        
    КонецЦикла;
    НаборЗаписей.Записать();
6 Галахад
 
гуру
19.08.13
08:25
Попробовал такой запрос, что бы убедиться, что карта одна и та же.
Результат Сумма есть, СуммаОборот = Null

ВЫБРАТЬ
    ИнформационныеКарты.Ссылка,
    ПродажиПоДисконтнымКартамОбороты.СуммаОборот,
    ПродажиПоДисконтнымКартам.Сумма
ИЗ
    Справочник.ИнформационныеКарты КАК ИнформационныеКарты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиПоДисконтнымКартам.Обороты КАК ПродажиПоДисконтнымКартамОбороты
        ПО (ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта = ИнформационныеКарты.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам
        ПО (ПродажиПоДисконтнымКартам.ДисконтнаяКарта = ИнформационныеКарты.Ссылка)
ГДЕ
    ИнформационныеКарты.Ссылка = &ДисконтнаяКарта
7 V01tk2010
 
19.08.13
08:29
Тебе говорят поставить функцию СУММА() в первый запрос и зайди наконец в регистр накопления и посмотри в отборе по карте какие у тебя там значения
8 Defender aka LINN
 
19.08.13
08:35
(5) То есть в регистр писались данные, полученные из этого же регистра? Это сильно. ВнушаетЪ.
9 Галахад
 
гуру
19.08.13
08:38
(7) Так?

ВЫБРАТЬ
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта,
    СУММА(ПродажиПоДисконтнымКартам.Сумма) КАК Сумма
ИЗ
    РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам
ГДЕ
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта = &ДисконтнаяКарта

СГРУППИРОВАТЬ ПО
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта


Сумма есть.
Если открыть регистр, то и там сумма есть.

(8) А что такого? Меня больше всего интересует, почему не записались.
Или даже записались, но как-то странно.
10 dmpl
 
19.08.13
09:06
(0) Установи периодичность Регистратор. Выходит что-нибудь?
11 Starhan
 
19.08.13
09:07
(0) Скинь уже скрин регистра с отбором по регистратору.
12 dnab
 
19.08.13
09:17
УстановитьИспользованиеИтогов() еще попробуй
13 Pasha
 
19.08.13
09:17
(0) второй запрос правильный
14 Галахад
 
гуру
19.08.13
14:41
Всем спасибо. Помогло ТиИ с галкой "пересчет итогов".
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн