Регистрация Правила Главная форума Поиск |
0
- 04.06.2012 - 09:59
|
Работаю в восьмерке еще недолго, сразу не ругайтесь. Дали задание создать отчетик в несколько столбцов: в первом должна быть номенклатура и ее розничные цены на сегодня, во втором столбце её же розничные цены на начало месяца, а третьем и последующих, на эту же номенклатуру цены из приходных документов в среднем помесячно. Как в отдельности каждый столбик сваять - это без проблем. А вот как это всё в одну экранную форму объединить ума не приложу, причем номенклатура должна быть с учетом Иерархии, т.е. с "+" . Никак не придумаю. Если я, скажем всю эту инфу загоню в ТаблицуЗначений Смогу я потом как то иерархически вывести на экран ? | |
1
- 04.06.2012 - 12:15
| ? | |
2
- 04.06.2012 - 12:59
|
Вообще-то возможны вложенные запросы с последующим извлечением данных из полученных в запросе верхнего уровня. Насколько я помню, примеры таких запросов есть в отчетах типовых конф. Насчет штатного отображения иерархии в ТЗ точно не помню, хотя и мелькает что-то. Просто я вот уже полтора года отошел от 1С. Но загнать данные в ТЗ в соответствии с иерархией номенклатуры, а затем отобразить хитрости не составляет. Если ты программер, конечно, а не юзер. | |
3
- 04.06.2012 - 13:06
|
Простейший способ: при создании строки ТЗ кроме столбца с идентификатором номенклатуры создается столбец с идентификатором владельца. После вывода всех данных ТЗ сортируется и обрабатывается сначала по идентификатору номенклатуры, а затем в цикле - по идентификатору владельца, создаются строки, содержащие итоговые данные для владельца, в которых в качестве идентификатора номенклатуры ставится идентификатор владельца обрабатываемой группы номенклатуры,а в качестве владельца - владелец этой группы. И так до упора, т.е. до самых верхних элементов. Целесообразно такие строки создавать во временных таблицах, по одной на каждый "этаж" и только в конце перенести их данные в основную таблицу. как-то так. | |
4
- 04.06.2012 - 14:25
|
3-СоболиныйГлаз > Но это будет типа статика? Т.е. я выведу на экран это и все или можно будет как то включать/отключать группы, как в системе компоновки данных ? | |
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, ЦеныНоменклатурыСрезПоследних.Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Ко нМесяца, ТипЦен = &Розничная) КАК ЦеныНоменклатурыСрезПоследних | |
9
- 05.06.2012 - 09:19
| 5-med > если так хочется, то можно передать ТЗ как источник данных - объект | |
10
- 05.06.2012 - 09:42
| 8-Климов Сергей > так я и говорю, - как раз вот первые две цены так и получаются, а дальше то идут цены из приходных документов - документов поступления. | |
11
- 05.06.2012 - 09:44
|
Просто отчет я сделал первые две цены так и получаются Остальные получаю через "ВЫБРАТЬ | ПоступлениеТоваровУслуг.Дата, | ПоступлениеТоваровУслуг.Проведен, | ПоступлениеТоваровУслуг.СуммаВключаетНДС КАК СуммВклНДС, | ПоступлениеТоваровУслуг.Товары.( | Номенклатура КАК Тов, | Количество КАК Кол, | Цена, | Сумма КАК Сум_ма, | СуммаНДС КАК СумНДС | ) |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2 | И ПоступлениеТоваровУслуг.Проведен = ИСТИНА"; Объединяю в единое целое и вывожу на экран, но получается просто отчет без группировок | |
12
- 05.06.2012 - 11:10
| 11-med > Итоги | |
13
- 05.06.2012 - 11:35
|
12-roma n > Можно чуть подробнее ? ИТОГИ куда, к чему ? | |
14
- 06.06.2012 - 06:32
| ? | |
15
- 06.06.2012 - 12:54
| Павел Чистов в видео хорошо разжевывает про запросы. Качни, учись | |
16
- 06.06.2012 - 13:04
|
2(13) ВЫБРАТЬ ЗакупкиОбороты.Номенклатура КАК Номенклатура, ВЫБОР КОГДА ЗакупкиОбороты.КоличествоОборот = 0 ТОГДА 0 ИНАЧЕ ЗакупкиОбороты.СтоимостьОборот / ЗакупкиОбороты.КоличествоОборот КОНЕЦ КАК Себестоимость, NULL КАК Цена ИЗ РегистрНакопления.Закупки.Обороты(&НачДата, &КонДата, Период, ) КАК ЗакупкиОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура, NULL, ЦеныНоменклатурыСрезПоследних.Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Ко нДата, ) КАК ЦеныНоменклатурыСрезПоследних ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен ИТОГИ СУММА(Себестоимость), СУММА(Цена) ПО Номенклатура | |
17
- 08.06.2012 - 08:34
| 16-Климов Сергей > Спасибо, сейчас попробую, да похоже в восьмерке все через ... регистры делается | |
| Интернет-форум Краснодарского края и Краснодара |