|
СКД. Как использовать поле запроса в выражении в параметре? | ☑ | ||
---|---|---|---|---|
0
Блондинка_
22.05.17
✎
10:32
|
Добрый день! Нужно сделать отчет, в котором будут данные по продажам по 2м вариантам: за сезон продаж и за не сезон. Данные по началу и окончанию сезона задаются в справочнике. Я сделала отдельный запрос в СКД который получает эти значения. Это поля ДатаНачалаНеСезонаПродаж, ДатаНачалаСезонаПродаж ну и также с окончанием. В параметре НачалоПериода я хотела в выражении записать условие
ВЫБОР КОГДА &ПЕРИОД = "СезонПродаж" ТОГДА ДатаНачалаСезонаПродаж ИНАЧЕ ДатаНачалаНеСезонаПродаж КОНЕЦ На выражение СКД "Не ругается" но при формировании отчета выдает "Ошибка в выражении" Я что-то не так делаю или это в принципе невозможно? |
|||
1
AlvlSpb
22.05.17
✎
10:45
|
(0) А строковое значение "СезонПродаж" откуда берется?
|
|||
2
KuAl
22.05.17
✎
10:45
|
Можно попробовать переименовать параметр Период. Т.к. обычно "Период" - типа стандартный период, а не строка.
точно не забыли амперсанды? ВЫБОР КОГДА &ПЕРИОД = "СезонПродаж" ТОГДА &ДатаНачалаСезонаПродаж ИНАЧЕ &ДатаНачалаНеСезонаПродаж КОНЕЦ |
|||
3
KuAl
22.05.17
✎
10:49
|
как вариант:
сделать именно параметры &ДатаНачалаСезонаПродаж &ДатаНачалаНеСезонаПродаж в выражении параметров прописать функцию из общего модуля, в которой получать данные как надо ну и потом уже НачалоПериода определять как: ВЫБОР КОГДА &ПЕРИОД = "СезонПродаж" ТОГДА &ДатаНачалаСезонаПродаж ИНАЧЕ &ДатаНачалаНеСезонаПродаж КОНЕЦ |
|||
4
Блондинка_
22.05.17
✎
10:50
|
(1) Это значение параметра "Период", я добавила предопределенные значения в список значений этого параметра "СезонПродаж" и "НеСезон".
(2) Пробовала, уже подумала тоже об этом, но одинаковый результат Не, не забыла, тк ДатаНачалаСезонаПродаж - это не параметр это поле, выбранное в запросе. Вот я думаю, может так нельзя, использовать поля запроса |
|||
5
Buster007
22.05.17
✎
10:50
|
Если я правильно понял, то пытаешься в параметры передать значения, которые являются результатом выполнения СКД?
|
|||
6
Блондинка_
22.05.17
✎
10:51
|
(5) Ага, так нельзя?(
|
|||
7
Buster007
22.05.17
✎
10:51
|
(4) что раньше появилось: курица или яйцо?
|
|||
8
Блондинка_
22.05.17
✎
10:51
|
А как тогда иначе передавать разные варианты значения параметров? Только программно?
|
|||
9
Buster007
22.05.17
✎
10:52
|
ну в твоем случае это в общем-то не сложно сделать, даже стандартная обработка будет работать по идее. Всего лишь параметры задать
|
|||
10
Блондинка_
22.05.17
✎
10:57
|
(9) Это да, но я хотела вообще без кода) Сейчас еще кое-что попробую..) нет, придется все-таки программно задавать.
|
|||
11
dezss
22.05.17
✎
10:58
|
Ну можно эти периоды сезона, несезона запихать во временную таблицу и с ней соединяться.
И использовать стандартные параметры для своих нужно не стоит, результат бывает непредсказуемым. |
|||
12
Блондинка_
22.05.17
✎
11:02
|
Вот это сейчас пытаюсь запихнуть в выражение параметра (ну т.е. поле получаю не в запросе а сразу здесь хотела), но ругается на конструкцию. Не подскажите, что не так?
ВЫБОР КОГДА &ПЕРИОДОТЧЕТА = "СезонПродаж" ТОГДА (ВЫБРАТЬ НастройкиСистемы.Значение ИЗ Справочник.НастройкиСистемы КАК НастройкиСистемы ГДЕ НастройкиСистемы.Ссылка = &НачалоСезонаПродаж) ИНАЧЕ ДатаНачалаНеСезонаПродаж КОНЕЦ |
|||
13
dezss
22.05.17
✎
11:07
|
(12) О_О
сделайте мне развидеть это... пойду глаза закапаю водой, настоенной на книгах по 1с. |
|||
14
KuAl
22.05.17
✎
11:08
|
(12) в функциях языка выражений СКД нельзя использовать конструкцию Выбрать
можно либо сделать все в одном запросе, либо через функцию в общем модуле, в которой уже писать что хочешь |
|||
15
Блондинка_
22.05.17
✎
11:26
|
(14) Точно! Общий модуль! Спасибо, сейчас попробую
|
|||
16
Блондинка_
22.05.17
✎
13:11
|
Всем спасибо за помощь! Вынесла получение периода в общий модуль, к тому же, он мне потом в документе нужен, так что все красиво получилось!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |