К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Как в одном отчете совместить несколько источников данных ?

med
0 - 04.06.2012 - 09:59
Работаю в восьмерке еще недолго, сразу не ругайтесь.
Дали задание создать отчетик
в несколько столбцов:
в первом должна быть номенклатура и ее розничные цены на сегодня, во втором столбце её же розничные цены на начало месяца, а третьем и последующих, на эту же номенклатуру цены из приходных документов в среднем помесячно.
Как в отдельности каждый столбик сваять - это без проблем.
А вот как это всё в одну экранную форму объединить ума не приложу, причем номенклатура должна быть с учетом Иерархии, т.е. с "+" .
Никак не придумаю.
Если я, скажем всю эту инфу загоню в ТаблицуЗначений
Смогу я потом как то иерархически вывести на экран ?



med
1 - 04.06.2012 - 12:15
?
Гость
2 - 04.06.2012 - 12:59
Вообще-то возможны вложенные запросы с последующим извлечением данных из полученных в запросе верхнего уровня. Насколько я помню, примеры таких запросов есть в отчетах типовых конф. Насчет штатного отображения иерархии в ТЗ точно не помню, хотя и мелькает что-то. Просто я вот уже полтора года отошел от 1С.
Но загнать данные в ТЗ в соответствии с иерархией номенклатуры, а затем отобразить хитрости не составляет. Если ты программер, конечно, а не юзер.
Гость
3 - 04.06.2012 - 13:06
Простейший способ: при создании строки ТЗ кроме столбца с идентификатором номенклатуры создается столбец с идентификатором владельца. После вывода всех данных ТЗ сортируется и обрабатывается сначала по идентификатору номенклатуры, а затем в цикле - по идентификатору владельца, создаются строки, содержащие итоговые данные для владельца, в которых в качестве идентификатора номенклатуры ставится идентификатор владельца обрабатываемой группы номенклатуры,а в качестве владельца - владелец этой группы. И так до упора, т.е. до самых верхних элементов. Целесообразно такие строки создавать во временных таблицах, по одной на каждый "этаж" и только в конце перенести их данные в основную таблицу.
как-то так.
med
4 - 04.06.2012 - 14:25
3-СоболиныйГлаз > Но это будет типа статика?
Т.е. я выведу на экран это и все или можно будет как то включать/отключать группы, как в системе компоновки данных ?
med
5 - 05.06.2012 - 07:20
А вообще - можно как то таблицу передать в качестве параметра в СКД ?
И если можно, то как ?
Гость
6 - 05.06.2012 - 07:47
Зачем в качестве параметра?
7 - 05.06.2012 - 08:51
2(0) А не проще ли объединением запросов сразу все получить? И не мутить никаких ТЗ.
8 - 05.06.2012 - 08:55
+(7) Как-то так:

ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаНачМесяца,
NULL КАК ЦенаКонМесяца
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&На чМесяца, ТипЦен = &Розничная) КАК ЦеныНоменклатурыСрезПоследних

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
NULL,
ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Ко нМесяца, ТипЦен = &Розничная) КАК ЦеныНоменклатурыСрезПоследних
Uho
9 - 05.06.2012 - 09:19
5-med > если так хочется, то можно передать ТЗ как источник данных - объект
med
10 - 05.06.2012 - 09:42
8-Климов Сергей > так я и говорю, - как раз вот первые две цены так и получаются, а дальше то идут цены из приходных документов - документов поступления.
med
11 - 05.06.2012 - 09:44
Просто отчет я сделал
первые две цены так и получаются
Остальные получаю через
"ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Дата,
| ПоступлениеТоваровУслуг.Проведен,
| ПоступлениеТоваровУслуг.СуммаВключаетНДС КАК СуммВклНДС,
| ПоступлениеТоваровУслуг.Товары.(
| Номенклатура КАК Тов,
| Количество КАК Кол,
| Цена,
| Сумма КАК Сум_ма,
| СуммаНДС КАК СумНДС
| )
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2
| И ПоступлениеТоваровУслуг.Проведен = ИСТИНА";


Объединяю в единое целое и вывожу на экран, но получается просто отчет без группировок
Гость
12 - 05.06.2012 - 11:10
11-med > Итоги
med
13 - 05.06.2012 - 11:35
12-roma n > Можно чуть подробнее ?
ИТОГИ куда, к чему ?
med
14 - 06.06.2012 - 06:32
?
Гость
15 - 06.06.2012 - 12:54
Павел Чистов в видео хорошо разжевывает про запросы. Качни, учись
16 - 06.06.2012 - 13:04
2(13)
ВЫБРАТЬ
ЗакупкиОбороты.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА ЗакупкиОбороты.КоличествоОборот = 0
ТОГДА 0
ИНАЧЕ ЗакупкиОбороты.СтоимостьОборот / ЗакупкиОбороты.КоличествоОборот
КОНЕЦ КАК Себестоимость,
NULL КАК Цена
ИЗ
РегистрНакопления.Закупки.Обороты(&НачДата, &КонДата, Период, ) КАК ЗакупкиОбороты

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
NULL,
ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Ко нДата, ) КАК ЦеныНоменклатурыСрезПоследних
ГДЕ
ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
ИТОГИ
СУММА(Себестоимость),
СУММА(Цена)
ПО
Номенклатура
med
17 - 08.06.2012 - 08:34
16-Климов Сергей > Спасибо, сейчас попробую, да похоже в восьмерке все через ... регистры делается


К списку вопросов






Copyright ©, Все права защищены