Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Итоги по пустому Субконто не расчитываются (http://forums.kuban.ru/f1040/itogi_po_pustomu_subkonto_ne_raschityvayutsya-3025436.html)

eeyore 05.09.2012 12:23

Итоги по пустому Субконто не расчитываются
 
Есть запрос:

ВЫБРАТЬ
УправленческийОстатки.Счет КАК Счет,
УправленческийОстатки.Субконто1 КАК Субконто1,
УправленческийОстатки.Субконто2 КАК Субконто2,
УправленческийОстатки.КоличествоРазвернутыйОстатокДт КАК КоличествоРазвернутыйОстатокДт,
УправленческийОстатки.КоличествоРазвернутыйОстатокКт КАК КоличествоРазвернутыйОстатокКт
ИЗ
РегистрБухгалтерии.Управленческий.Остатки(, Счет = ЗНАЧЕНИЕ(ПланСчетов.Основной.РасчетыСПоставщиками), , ) КАК УправленческийОстатки

УПОРЯДОЧИТЬ ПО
УправленческийОстатки.Счет.Код,
УправленческийОстатки.Субконто1.Наименование,
УправленческийОстатки.Субконто2.Наименование
ИТОГИ
СУММА(КоличествоРазвернутыйОстатокДт),
СУММА(КоличествоРазвернутыйОстатокКт)
ПО
Счет

При его выполнении получается такой результат:

[url]http://s018.radikal.ru/i507/1209/78/12a351996711.jpg[/url]

т.е. выводится итог по счету и детальные записи

Теперь изменим запрос - установим расчет итога по полю Субконто2 вместо поля Счет:

ВЫБРАТЬ
...
ИТОГИ
...
ПО
Субконто2

При выполнении этого запроса получается такой результат:

[url]http://s45.radikal.ru/i108/1209/9f/166afcc2fc9b.jpg[/url]

т.е. результат запроса не содержит записей. Вопрос - почему не выводятся итог по Субконто2 и детальные записи?

Выложил информационную базу с описанным примером (размер 10Мб) доступна по этой ссылке - [url]http://www.fayloobmennik.net/2172418[/url]
Запрос находится в Обработке "ОбработкаВывестиТаблицуЗначений".

roma n 05.09.2012 12:44

ИМХО - на уровне СУБД транслируется в запрос к таблице остатков и оборотов по счетам/субсчетам и субконто _ACCTtl[u][b]2[/b][/u], а записей в этой таблице попросту нет, поскольку для этого счёта определено единственное субконто

eeyore 05.09.2012 14:11

1-roma n > Не понял твоей мысли. Почему ты пишешь что записей в таблице остатков нет? Они есть, запрос к таблице остатков возвращает детальные записи в которых значение Субконто2 = Null, далее итоговые записи, насколько я понимаю, должны строиться на основании детальных записей, т.е. должен рассчитываться итог по полю Субконто2 со значением Null, а этого не происходит, более того из результата запроса исчезают детальные записи. Это мне и не понятно.

roma n 05.09.2012 18:36

2-eeyore > мысль в том, что детальные записи можно получить по разному.
Но дело, скорее всего не в этом, а в механике сбора итогов. Как набрать строку итога? Сформировать список различных значений в поле выборки . Для каждого значения из этого списка (в нашем случае значение единственное: NULL) Для каждой строки выборки проверить значение поля на равенство обрабатываемому значению списка. Если значение в строке выборки равно значению списка - увеличить агрегат, строку подчинить. Но фишка в том, что для платформы результат любого сравнения с NULL есть false...
ЗЫ Вообще, если с выборкой предстоят какие-то дополнительные манипуляции (группировка, итоги, соединения к другой выборке) от NULL лучше избавиться дабы избежать подобных сюрпризов

eeyore 05.09.2012 19:22

3-roma n > Я тебя понял, спасибо.


Текущее время: 23:27. Часовой пояс GMT +3.