|
Хитрый расчет ресурса в СКД | ☑ | ||
---|---|---|---|---|
0
YAGolova
19.04.16
✎
11:24
|
Всем привет. Может кто сталкивался - в наборе СКД получаю таблицу остатков на каждый день по товарам, т.е.
1.01 - 5 2.01 - 4 3.01 - 4 4.01 - 1 5.01 - 2 Так вот как сделать так, чтобы при выборе произвольной группировки по периоду (допустим вместо дня, месяц или неделя) пользователь видел остаток на начало этого периода? |
|||
1
YAGolova
19.04.16
✎
11:27
|
Сразу скажу: пробовал ВычислитьВыражение("Сумма(Остаток)",,, "Первая", "Первая", "День"), но ничего не выводит(, причем если группировку по дню добавляешь, показывает, убираешь - нет
|
|||
2
AceVi
19.04.16
✎
11:57
|
(1) Чет ты мудришь. тебе нужны остатки с разбивкой по периодам? на конец каждого периода или на начало? в любом случае надо заранее подготовить таблицу с остатками на самый маленький период(например день), потом сформировать таблицу периодов например
01.01-07.01 08.01-14.01 и т.д. Потом Поместить ДниРаспределеныПоПериодам ТабПериоды ЛевоеСоединение ТабОстаткиПоДням ПО ТабОстаткиПоДням.День <=ТабПериоды.КонецПериода и ТабОстаткиПоДням.День >=ТабПериоды.НачалоПериода Потом допустим надо получить остаток на конец Выбрать Максимум(День) КАК ДеньОстатка Поместить максимальныйДеньВПериоде ИЗ ДниРаспределеныПоПериодам Потом максимальныйДеньВПериоде ЛевоеСоединение ТабОстаткиПоДням По максимальныйДеньВПериоде.ДеньОстатка = ТабОстаткиПоДням.День |
|||
3
YAGolova
19.04.16
✎
12:06
|
(2) Так как я сформирую таблицу периодов, если ее пользователь настраивает, или ты предлагаешь получать значения структуры компоновщика, по нему строить таблицу периодов, подсовывать во внешний набор данных скд и т.д.? Я все же надеюсь на возможности как то это получить в СКД (я бы уже получил, если бы можно было писать собственную функцию в общем модуле, только мне отчет внешний надо и лесть в конфу низзя)
|
|||
4
AceVi
19.04.16
✎
12:11
|
(3) ВЫБРАТЬ
ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(, , Неделя, , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты "Неделя" или любая периодичность что тебе нужна. т.е. сразу получай данные с нужной периодичность. |
|||
5
YAGolova
19.04.16
✎
12:15
|
(4) я же уже объяснил что не знаю какой периодичности мне нужны данные....
+ не забывай о тонкостях этой "волшебной" таблицы - если у тебя нет движений в этом периоде, то и остатков не будет |
|||
6
AceVi
19.04.16
✎
12:20
|
(5) РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(, , &периодичность, , )
периодичность - Это параметр СКД. Вид строка - доступен список - сам заполняешь список типа "День", "Неделя" и т.д. пользователь будет выбирать из списка значение. Не будет остатков - а тебе нужен даже пустой период? тогда без заранее сформированной таблицы периодов ты никак не сделаешь. |
|||
7
AceVi
19.04.16
✎
12:25
|
(3) Что значит пользователь настраивает? в каком виде? редактирует таблицу с где ставит конкретные даты в каждой строке? или просто "Неделя" и период отчета?
И кстати нет никаких проблем сформировать таблицу периодов и как внешние данные поместить ее в скд, стандартный функционал это поддерживает. типа такого ТиповыеОтчеты.СформироватьТиповойОтчет(ЭтотОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета,Новый Структура("ВнешниеДанные",ТабКонтр)) |
|||
8
YAGolova
19.04.16
✎
12:29
|
(7) спасибо) я знаю как пользоваться внешними наборами
Допустим пользователь хочет сгруппировать колонки по годам, внутри по месяцам и далее по дням - что мне получать? |
|||
9
YAGolova
19.04.16
✎
12:30
|
а еще лучше сделал произвольное пользовательское поле в котором периоды настроил по своему усмотрению?
|
|||
10
тарам пам пам
19.04.16
✎
13:07
|
а почему нельзя воспользоваться возможностями самой СКД и не настроить роли у нужных полей? Она адекватно отреагирует на (почти) любые настройки пользователя.
|
|||
11
YAGolova
19.04.16
✎
14:55
|
(10) В итоге так и сделал, выкрутился с помощью вычислитьвыражениесгруппировкоймассив и настроил по полям (неделя, месяц, год). НО так к сожалению для произвольного периода работать не будет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |