Имя: Пароль:
1C
1С v8
Левые записи по пустому регистратору в запросе
0 suvolod
 
20.08.12
14:29
Пишу отчет по счетчикам для ККМ. Смысл:
Оператор ежедневно в спец. документ вводит кассу, номер счетчика и выручку по счетчику. Эти данные накапливаются в РН (остатков) ПоказанияСчетчика. Структура регистра: Измерения - КассаККМ и НомерСчетчика; Ресурсы: ВыручкаРуб, ВозвратыРуб

Сделал несколько документов, теперь мне нужно получить отчет с анализом (группировкой) до регистратора, т.е:

ПериодДень
  НомерСчетчика
    Регистратор

на самом деле последняя группировка, возможно, излишняя. Но мне нужно в запрос как-то добавить поле регистратор, а с учетом того, что использутся группировки, добавить его могу только как поле группировки.

Пищу запрос:
ВЫБРАТЬ
   XПоказанияСчетчикаОстаткиИОбороты.ПериодДень КАК ПериодДень,
   XПоказанияСчетчикаОстаткиИОбороты.НомерСчетчика КАК НомерСчетчика,
   XПоказанияСчетчикаОстаткиИОбороты.Регистратор,
   СУММА(XПоказанияСчетчикаОстаткиИОбороты.ВыручкаНачальныйОстаток) КАК ВыручкаНачальныйОстаток,
   СУММА(XПоказанияСчетчикаОстаткиИОбороты.ВыручкаПриход) КАК ВыручкаПриход,
   СУММА(XПоказанияСчетчикаОстаткиИОбороты.ВыручкаРасход) КАК ВыручкаРасход,
   СУММА(XПоказанияСчетчикаОстаткиИОбороты.ВыручкаКонечныйОстаток) КАК ВыручкаКонечныйОстаток
ИЗ
   РегистрНакопления.XПоказанияСчетчика.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , КассаККМ = &КассаККМ) КАК XПоказанияСчетчикаОстаткиИОбороты

СГРУППИРОВАТЬ ПО
   XПоказанияСчетчикаОстаткиИОбороты.ПериодДень,
   XПоказанияСчетчикаОстаткиИОбороты.НомерСчетчика,
   XПоказанияСчетчикаОстаткиИОбороты.Регистратор
   

УПОРЯДОЧИТЬ ПО
   ПериодДень

Пусть на 16.07.12 я завел завел "остатки по счетчику" (зафиксировал некоторую выручку)

По первому счетчику - 100.000
По второму          - 100.000

Создаю второй документ - 17,07,12 и также фиксирую выручку
По первому счетчику - 50.000
По второму          - 5.0000

В консоли запросов выполняю запрос на 17 число. Привожу только значимые поля:
НомерСчетчика / Регистратор / ВыручкаНачальныйОстаток / ВыручкаПриход / ВыручкаКонечныйОстаток

Как должно быть:
1 / Док#2 / 100.000 / 50.000 / 150.000
2 / Док#2 / 100.000 /  5.000 / 105.000

Что показывает консоль:
1 / ----- / 250.000 / ------ / 250.000
1 / Док#2 / 100.000 / 50.000 / 150.000
2 / ----- / 205.000 / ------ / 205.000
2 / Док#2 / 100.000 /  5.000 / 105.000

... одним словом, берутся какие-то левые записи по пустому регистратору. В чем моя ошибка и как от них избавиться? Самое интересное, что если я убираю выборку/группировку по регистратору, то отчет формируется правильно..
1 Maxus43
 
20.08.12
14:30
>>левые записи по пустому регистратору
это остатки, они в разрезе регистраторов не хранятся есно
2 suvolod
 
20.08.12
14:32
(1)смотрю на цифры и мне непонятно как они складываются.. как-то странно: остатки без разбивки по счетчику + оборты по счетчику за период. Смысл их непонятен.. и как от них избавиться
3 DrShad
 
20.08.12
14:33
(1) ну вот взял и такой холивар испаганил, не мог подождать?
4 DrShad
 
20.08.12
14:33
(2) не выводить остатки
5 suvolod
 
20.08.12
14:35
(4) но остатки то мне для отчета нужны
6 DrShad
 
20.08.12
14:35
(5) ну так получи и распишись
7 Axel2009
 
20.08.12
14:36
в роли полей нужно указать что это ресурс, а то у тебя обычное поле получается
8 suvolod
 
20.08.12
14:38
(6) DrShad, ты отвечаешь часто, но в основном ерничаешь. Неинтересно с тобой общаться
(7) У меня не СКД, а обычный запрос и макет, сформированный вручную
9 Maxus43
 
20.08.12
14:39
(8) посмотри как ОСВ сделано
10 DrShad
 
20.08.12
14:40
(8) а мне вот интересно за тобой наблюдать
11 suvolod
 
20.08.12
14:47
(9) Спасибо..
Пока избавился от этих записей через

ГДЕ
   XПоказанияСчетчикаОстаткиИОбороты.Регистратор.Ссылка <> ЗНАЧЕНИЕ(Документ.XВводПоказанийСчетчика.ПУстаяСсылка)


Подскажите, в какой книге описана подобная ситуация? Дома целая библиотека, вроде перечитал уже достаточно, но вспомнить про описание такой особенности выборки запроса не могу.
12 suvolod
 
20.08.12
14:48
или Гилев может на в одном из уроков по программированию или бонусах что-то подобное объяснял?
13 Maxus43
 
20.08.12
14:59
ГДЕ
   XПоказанияСчетчикаОстаткиИОбороты.Регистратор.Ссылка <> Неопределено

тогда уж
14 suvolod
 
20.08.12
15:02
тоже вариант. спасибо :)
Независимо от того, куда вы едете — это в гору и против ветра!