![]() |
|
СКД отбор по виду документа | ☑ | ||
---|---|---|---|---|
0
gusden
05.11.12
✎
11:06
|
Всем доброго дня.
Хочу сделать в отчёте галочку чтобы если пользователь устанавливал её то на отбор устанавливалось некое сложное условие. В макете СКД пишу ... РегистрНакопления.ВзаиморасчётыПоЦФО.ОстаткиИОбороты(, , , , {(КредДок ССЫЛКА Документ.ЗаказПокупателя ИЛИ КредДок ССЫЛКА Документ.ЗаявкаПлатежа) КАК БезНал}) КАК Обороты Предполагаю, что если пользователь установит в настройках отбор БезНал равно Истина, то условие включится в отбор. Но вылетает ошибка что БезНал не определено. Подскажите как реализовать подобный интерфейс в СКД |
|||
1
Wobland
05.11.12
✎
11:11
|
это ты на ты КредДок попытался наколдовать отбор. как - это определение алиаса для полей выборки
|
|||
2
gusden
05.11.12
✎
11:20
|
(1) От вида документа КредДок можно определить наличные или безналичные взаиморасчёты. И хочется пользователю дать возможность установки отбора: вывести только безнал или только нал отгрузки.
|
|||
3
Wobland
05.11.12
✎
11:24
|
(2) ага, я так и подуамал
|
|||
4
gusden
05.11.12
✎
11:26
|
Интересно что если установил условие в Где то взлетело:
{ГДЕ (Обороты.КредДок ССЫЛКА Документ.ЗаказПокупателя ИЛИ Обороты.КредДок ССЫЛКА Документ.ЗаявкаПлатежа) КАК БезНал1} Но почему нельзя наложить подобное условие в параметрах виртуальной таблицы |
|||
5
gusden
05.11.12
✎
12:47
|
(1)
Решил поэкспериментировать написал такой запрос в СКД: ВЫБРАТЬ Обороты.КредДок КАК КредДок {ВЫБРАТЬ КредДок.*} ИЗ РегистрНакопления.ВзаиморасчётыПоЦФО.ОстаткиИОбороты(, , , , {(КредДок.Номер) КАК Номер, (Валюта.Наименование = "USD") КАК Доллар}) КАК Обороты {ГДЕ (Обороты.КредДок ССЫЛКА Документ.ЗаказПокупателя ИЛИ Обороты.КредДок ССЫЛКА Документ.ЗаявкаПлатежа) КАК Безнал, (Обороты.КредДок.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийИнвойс.Инвойс)) КАК Инвойс, (Обороты.Валюта.Наименование = "USD") КАК Доллар1} Корректно отрабатывает, только если установить в настройках отбор "Номер" и "Безнал". Остальные выдают ошибку. Может кто-нибудь может объяснить как корректно в СКД реализовать сложное условие, а пользователю дать возможность выбора применять данное условие или нет. |
|||
6
zladenuw
05.11.12
✎
12:51
|
(5) может типа параметр 1Условие = Истина (твое условие) , тогда ля ля , и т.д.
|
|||
7
gusden
05.11.12
✎
13:00
|
(6) не понял, можно с примером
|
|||
8
zladenuw
05.11.12
✎
13:02
|
| (&НетОтбораПоПодразделениям
| ИЛИ ПодразделениеОрганизации В ИЕРАРХИИ (&ПодразделениеОрганизации)) | И (&НетОтбораПоОрганизациям | ИЛИ Организация = &Организация) |
|||
9
gusden
05.11.12
✎
13:28
|
(8) Т.е. накладывать условие не в компоновке данных, а прямо в запросе, что выглядит как-то не очень:
ВЫБРАТЬ Обороты.КредДок КАК КредДок {ВЫБРАТЬ КредДок.*} ИЗ РегистрНакопления.ВзаиморасчётыПоЦФО.ОстаткиИОбороты( , , , , Валюта.Наименование = "USD" И &Доллар = ИСТИНА ИЛИ Валюта.Наименование <> "USD" И НЕ &Доллар = ЛОЖЬ ИЛИ &Доллар = НЕОПРЕДЕЛЕНО {(Валюта.Наименование = "USD") КАК Доллар}) КАК Обороты |
|||
10
Classic
05.11.12
✎
13:34
|
(9)
Можешь тупо булевское поле через ВЫБОР КОГДА сделать. И накладывать на него обычный отбор |
|||
11
gusden
05.11.12
✎
14:03
|
(10) Сп. Заработал отбор "Доллар" и "Доллар1"
ВЫБРАТЬ Обороты.КредДок КАК КредДок {ВЫБРАТЬ КредДок.*} ИЗ РегистрНакопления.ВзаиморасчётыПоЦФО.ОстаткиИОбороты(, , , , {(ВЫБОР КОГДА Валюта.Наименование = "USD" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Доллар}) КАК Обороты {ГДЕ (ВЫБОР КОГДА Обороты.Валюта.Наименование = "USD" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Доллар1} |
|||
12
Wobland
05.11.12
✎
14:03
|
>Валюта.Наименование = "USD"
что-то как-то глаз коробит сравнение со строкой.. |
|||
13
gusden
05.11.12
✎
15:44
|
(12) самое простое что пришло в голову, для тестирования в консоли СКД
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |