|
Программно изменить структуру СКД | ☑ | ||
---|---|---|---|---|
0
ac13
10.04.19
✎
12:59
|
Есть СхемаКомпоновкиДанных. Можно ли изменить её структуру при формировании отчета?
Например, есть запрос: "ВЫБРАТЬ
А мне надо, чтобы на месте РеализацияТоваровУслуг.Склад было: ВЫБОР
Как мне при определенных условиях программно изменить структуру СКД? |
|||
1
ac13
10.04.19
✎
13:00
|
почему
- не работает? |
|||
2
FIXXXL
10.04.19
✎
13:05
|
||||
3
catena
10.04.19
✎
13:06
|
||||
4
МихаилМ
10.04.19
✎
13:11
|
||||
5
toypaul
гуру
10.04.19
✎
14:20
|
(0) можно
(3) в тонком клиенте не сработает |
|||
6
toypaul
гуру
10.04.19
✎
14:21
|
пример из (2) сработает в тонком клиенте
|
|||
7
ac13
10.04.19
✎
15:19
|
не очень понял как это реализовать, в примерах немного не то, что мне нужно.
У меня есть поле структуры. По умолчанию запрос выглядит так: "ВЫБРАТЬ | РеализацияТоваровУслуг.Склад |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Склад" А мне надо, чтобы при некоторых условиях запрос работал так: "ВЫБРАТЬ | (ВЫБОР | КОГДА РеализацияТоваровУслуг.Склад.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | ТОГДА РеализацияТоваровУслуг.Склад.Родитель.Родитель | ИНАЧЕ ВЫБОР | КОГДА РеализацияТоваровУслуг.Склад.Родитель <> ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | ТОГДА РеализацияТоваровУслуг.Склад.Родитель | ИНАЧЕ РеализацияТоваровУслуг.Склад | КОНЕЦ |КОНЕЦ) КАК Склад |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Склад" |
|||
8
toypaul
гуру
10.04.19
✎
15:44
|
(7) а ты хотел чтобы разжевали и в рот положили что ли? в (2) все написано, надо только чуть чуть подумать самому
|
|||
9
FIXXXL
10.04.19
✎
16:59
|
(7) какое "поле структуры?
как вариант, прямо в тексте запроса оборачиваешь свой Склад еще в один |ВЫБОР КОГДА &ПараметрВыбораСклада ТОГДА РеализацияТоваровУслуг.Склад ИНАЧЕ (ВЫБОР | КОГДА РеализацияТоваровУслуг.Склад.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | ТОГДА РеализацияТоваровУслуг.Склад.Родитель.Родитель | ИНАЧЕ ВЫБОР | КОГДА РеализацияТоваровУслуг.Склад.Родитель <> ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | ТОГДА РеализацияТоваровУслуг.Склад.Родитель | ИНАЧЕ РеализацияТоваровУслуг.Склад | КОНЕЦ |КОНЕЦ) КАК Склад |
|||
10
ac13
10.04.19
✎
17:24
|
проблему решил заменой части текста запроса. теперь другая проблема
есть типовой отчет, у него несколько сохраненных вариантов. Например - "Отчет по складу", сохранен вариант "Отчет по складу 1". Как ПриКомпоновкеРезультата понять какой вариант настроек выбрал пользователь, чтобы грузить соответствующий текст запроса? |
|||
11
fisher
10.04.19
✎
17:43
|
(10) "КлючТекущегоВарианта" можно получить на клиенте и пробросить в ПриКомпоновке через ДополнительныеСвойства у настроек КомпоновщикаНастроек.
Но тебе это не нужно. Ты же можешь просто завязать вариант получения склада на параметр запроса (параметр СКД) недоступный пользователю, который параметрически устанавливать в разные значения в настройках разных вариантов. |
|||
12
fisher
10.04.19
✎
17:45
|
Если это чисто пользовательские варианты, тогда просто "отдать пользователю" параметр-селектор.
|
|||
13
fisher
10.04.19
✎
17:48
|
Собственно, в (9) уже предложили.
|
|||
14
ac13
10.04.19
✎
17:49
|
(11) типовую настройку СКД менять нельзя, нужно всё решить в коде
|
|||
15
ac13
10.04.19
✎
17:53
|
в самом начале ПриКомпоновкеРезультата нужно определить, что за вариант настроек открыт, а потом уже выполнять манипуляции с текстом запроса, выбором склада и т.д.
|
|||
16
fisher
10.04.19
✎
17:54
|
(14) Почему нельзя? По-моему, добавление нового параметра не должно сломать работу с уже сохраненными настройками.
|
|||
17
ac13
10.04.19
✎
17:56
|
(16) добавить то можно, но мне нельзя трогать типовую СКД, её нужно остаивть без изменений
|
|||
18
Мимохожий Однако
10.04.19
✎
19:19
|
(17) Сохрани варианты настроек в отдельные макеты, файлы или хранилища и забирай оттуда по условиям. У меня так реализовано формирование прайсов и отчетов, СКД которых хранятся в реквизитах справочника "Прайсы к отправке". Берешь новый элемент, загружаешь подготовленный в консоли СКД в реквизит справочника и перед рассылкой формируешь программно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |