|
Помогите сконфигурировать схему на СКД | ☑ | ||
---|---|---|---|---|
0
suvolod
15.11.12
✎
10:31
|
Пусть СКД строиться на основе запроса, который привожу ниже в сильно упрощенном виде.
ВЫБРАТЬ ТоварыВРезервеНаСкладахОстатки.Номенклатура, ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.Цена ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних ПО ТоварыВРезервеНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры Вопрос в следующем: как-то можно настроить схему (или исходный запрос)таким образом, чтобы, если юзер забыл указать в настройках отчета ТипЦен (имеется ввиду - даже не взвел галку ТипаЦен) - колонка ТипаЦен просто выводилась пустой ) |
|||
1
чувак
15.11.12
✎
10:32
|
в СКД сделать соединение в запросе - моветон
|
|||
2
shamannk
15.11.12
✎
10:33
|
Пользовательское поле.
|
|||
3
mikecool
15.11.12
✎
10:33
|
(0) поместить в отбор
(1) чего? |
|||
4
чувак
15.11.12
✎
10:34
|
(3) Ух ты! Умно сказал, да? :
) |
|||
5
suvolod
15.11.12
✎
10:34
|
опечатался, нужно вывести пустой колонку Цена, а не ТипЦен (тип цен - это фильт)
|
|||
6
Trainee
15.11.12
✎
10:34
|
(1) И давно?
(0) Значение по умолчанию в отборе (если правильно понял). |
|||
7
mikecool
15.11.12
✎
10:35
|
(4) ты вообще ничего не сказал
попробуй такое условие ТипЦен = &ТипЦен ИЛИ &ТипЦен = Значение(Справочник.ТипыЦен.ПустаяСсылка) |
|||
8
suvolod
15.11.12
✎
10:36
|
(7)Спс. сейчас испытаю
|
|||
9
Ork
15.11.12
✎
10:37
|
А почему бы в ПриОткрытии не установить типЦен "по умолчанию"?
|
|||
10
Trainee
15.11.12
✎
10:38
|
(6) блин, не проснулся. Параметры. Значение по умолчанию.
&ТипЦен = Значение(Справочник.ТипыЦен.ПустаяСсылка) - лучше в СКД не использовать. |
|||
11
mikecool
15.11.12
✎
10:40
|
(10) "лучше в СКД не использовать." почему?
|
|||
12
Ork
15.11.12
✎
10:41
|
+(9)
Типа такого : ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ТипЦен").Значение = ТипЦен_ДляПоказаВрагам; |
|||
13
Goggy
15.11.12
✎
10:41
|
(9) Гениальный юзверь может его просто очистить :)
|
|||
14
Trainee
15.11.12
✎
10:49
|
(11) Точно страницу учебника не скажу) Но СКД, вроде работает с параметрами лучше ... Например, ДАТАВРЕМЯ(1,1,1,0,0,0) он может просто не понять при Автонастройках, а &ПустаяДата - без проблем.
Вроде, у Хрусталевой где-то было... |
|||
15
mikecool
15.11.12
✎
10:54
|
(14) ну я хз, сколько писал - все работает )
|
|||
16
suvolod
15.11.12
✎
10:56
|
(7). Не получается. При попытке выполнить отчет с отключенной галкой ТипЦен пишет ошибку:
Не задано значение параметра "ТипЦен" ТипЦен = <<?>>&ТипЦен На всякий случай: строку условия пишу прямо в настройках вирт. таблицы: ТипЦен = &ТипЦен ИЛИ ТипЦен = ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка) |
|||
17
suvolod
15.11.12
✎
10:59
|
увидел, что пропустил амперсанд, добавил:
ТипЦен = &ТипЦен ИЛИ &ТипЦен = ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка) ... но ошибка та-же |
|||
18
mikecool
15.11.12
✎
11:01
|
(16) та не, не выйдет, вспомнил - галка у параметра все равно взведена должна быть
так что - только отбор |
|||
19
Ork
15.11.12
✎
11:01
|
(16) Звиздетц. Представил себя на месте компоновщика.
Я бы задымился только определяясь - чего же от меня хотят? Откуда мне взять ТипЦен. Хочешь из &ТипЦен, а хочешь - ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка). А если оно мне и забесплатно не нать? Тогда ..? |
|||
20
КуплюКровать
15.11.12
✎
11:03
|
так че еще не решили? перед формированием программно параметр устанавливайте. если не заполнено то пустая ссылка
|
|||
21
Trainee
15.11.12
✎
11:06
|
(15) У меня тоже работает. Просто, как-то смотрел хороший код и тоже вопрос задал, почему все через параметры. Получил примерно такой же ответ: быстрее и без ошибок))
Вспомню страницу, напишу больше) |
|||
22
Ork
15.11.12
✎
11:06
|
(20) У (0) есть кнопка, которая зеленая и "делает Фсе Фсем". Переопределять ее обработчик ТС влом.
|
|||
23
mikecool
15.11.12
✎
11:08
|
(19) какой то поток сознания...
есть запрос, который работает, почему компоновщик может на нем "задымиться"? |
|||
24
Ork
15.11.12
✎
11:10
|
(23) Вот это может работать :
"пишу прямо в настройках вирт. таблицы: ТипЦен = &ТипЦен ИЛИ ТипЦен = ЗНАЧЕНИЕ(" ??? У меня нет такого компоновщика. |
|||
25
suvolod
15.11.12
✎
11:17
|
(20) Похоже, придется все-таки программно взводить эту галку и присваивать ей ПустаяСсылка, если это забыл сделать юзер. Хотя, конечно, без программной обработки кн. Сформировать было бы интереснее...
Попробовал уже и такой код: ВЫБОР КОГДА &ТипЦен = НЕОПРЕДЕЛЕНО ТОГДА ТипЦен = ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка) ИНАЧЕ ТипЦен = &ТипЦен КОНЕЦ ошибка таже... хотя не понимаю что в этом случае СКД не хватает Неопределено = Неопределено должно врода как дать истину и отработать |
|||
26
suvolod
15.11.12
✎
11:25
|
мысли вслух - а ведь с кодом из (25) СКД ругается на
Не задано значение параметра "ТипЦен" ИНАЧЕ ТипЦен = <<?>>&ТипЦен ... получается, первое условие когда/тогд не выполяется. С чем тогда сравнить отсутствующий параметр &ТипЦен, чтобы отработало первое когда/тогда |
|||
27
yurec_k
15.11.12
✎
11:28
|
в закладке параметры, использование поставь "всегда",
в польз настройках галка пропадет, ошибки не будет даже если зн параметра не заполнено. но лучше чтоб тот параметр был заполненн иначе будут неправльно КоличествоОстаток считаться в случае если есть несколько характеристик для одной номенклатуры |
|||
28
yurec_k
15.11.12
✎
11:48
|
тьфу в случае если есть несколько типов цен для пары номенклатура, характеристика
|
|||
29
suvolod
15.11.12
✎
11:55
|
yurec_k, спасибо за наводку. Сейчас потестирую, отпишусь
|
|||
30
suvolod
15.11.12
✎
12:10
|
Спасибо, работает, но немного странно:
С одной стороны, ТипЦен теперь используется всегда, а значит код из (25) больше не вызывает ошибок и выводит пустую колонку цен, если параметр ТипЦен отключен и неопределен. А с другой, если, например, выставить в качестве значения этого параметра РозничныеЦены, но сам параметр отключить - он все-равно будет использоваться и заполнит колонку Цен розничными ценами, несмотря на свое отключенное состояние . |
|||
31
Aprobator
15.11.12
✎
12:15
|
... ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних ПО &ТипЦен <> ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка) И....
в параметрах указать типзначения. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |