|
СКД: условие на параметр | ☑ | ||
---|---|---|---|---|
0
Вжескрыылг
19.10.12
✎
09:05
|
По условиям задачи цены номенклатуры в общем случае задаются в каждом подразделении, но в подразделении может указываться подразделение ценообразования, если сетка цен совпадает с ним. Т.о. по сравнению с типовыми решениями в РС "Цены номенклатуры" добавлено измерение "Подразделение", а у спр. "Подразделения" есть реквизит "ПодразделениеЦенообразования". Пишем отчет "Прайс-лист". Параметр "Подразделение" в пользовательских настройках. Юзер выбирает свое подразделение. Если Подразделение.ПодразделениеЦенообразования заполнено, то в условие запроса или отбор (пробовал) должно подставляться оно, иначе само подразделение. Где и как правильно написать?
|
|||
1
vicof
19.10.12
✎
09:06
|
ВЫБОР КОГДА ТОГДА КОНЕЦ, если правильно понял писанину
|
|||
2
Вжескрыылг
19.10.12
✎
09:08
|
(1) где?
|
|||
3
vicof
19.10.12
✎
09:09
|
в запросе, вестимо
|
|||
4
Goggy
19.10.12
✎
09:12
|
(2) ты кинь что есть, а тут тебе конкретней подскажут.
|
|||
5
Godofsin
19.10.12
✎
09:16
|
Заведи переменную и заполняй ее в вычисляемых значениях
|
|||
6
Вжескрыылг
19.10.12
✎
09:18
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, ЦеныНоменклатурыСрезПоследних.Подразделение КАК Подразделение, ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен, ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта, ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения {ВЫБРАТЬ Номенклатура.*, Подразделение.*, ТипЦен.*, Цена, Валюта.*, ЕдиницаИзмерения.*} ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Период, ДЕНЬ), ) КАК ЦеныНоменклатурыСрезПоследних ГДЕ ЦеныНоменклатурыСрезПоследних.Цена > 0 И (Здесь, что ли? Ругается на конструкцию "Выбор") {ГДЕ ЦеныНоменклатурыСрезПоследних.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.Подразделение.*, ЦеныНоменклатурыСрезПоследних.ТипЦен.*, ЦеныНоменклатурыСрезПоследних.Цена, ЦеныНоменклатурыСрезПоследних.Валюта.*} |
|||
7
vicof
19.10.12
✎
09:19
|
не в где, а в ВЫБРАТЬ
|
|||
8
Вжескрыылг
19.10.12
✎
09:25
|
Написал
ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Подразделение.ПодразделениеЦенообразования = Значение(Справочник.Подразделения.ПустаяСсылка) Тогда ЦеныНоменклатурыСрезПоследних.Подразделение ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Подразделение.ПодразделениеЦенообразования КОНЕЦ КАК Подразделение, для подр. с заполненным подр. ценообразования ничего не выводит. |
|||
9
Rovan
гуру
19.10.12
✎
09:27
|
(0) "Юзер выбирает свое подразделение. Если Подразделение.ПодразделениеЦенообразования заполнено, то в условие запроса или отбор (пробовал) должно подставляться оно, иначе само подразделение. "
вот и проверяй это в момент передачи параметра в запрос |
|||
10
Вжескрыылг
19.10.12
✎
09:28
|
(8) вместо
ЦеныНоменклатурыСрезПоследних.Подразделение КАК Подразделение, |
|||
11
Вжескрыылг
19.10.12
✎
09:50
|
(9) где лежит значение? Подр. у меня в отборах пользовательских настроек.
Запарился искать: КомпоновщикНастроек.Настройки.Отбор.Элементы -нет, КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Подразделение") = Неопределено, ПользовательскиеНастройки.Элементы.Найти("Подразделение") = Неопределено Не подскажешь, где лежит? |
|||
12
vicof
19.10.12
✎
09:55
|
(11)
ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Подразделение.ПодразделениеЦенообразования = Значение(Справочник.Подразделения.ПустаяСсылка) Тогда ЦеныНоменклатурыСрезПоследних.Подразделение ИНАЧЕ &ПодразделениеКотороеВыбираетПользователь КОНЕЦ КАК Подразделение или отбор добавь |
|||
13
Вжескрыылг
19.10.12
✎
10:24
|
(12) Не взлетело.. Подразделение появилось а параметрах и не делает отбор. Если завести в отборы, то все как прежде
|
|||
14
Вжескрыылг
19.10.12
✎
10:25
|
Попробую КомпоновщикНастроек.ПользовательскиеНастройки.Элементы
|
|||
15
Вжескрыылг
22.10.12
✎
12:28
|
(0) вычисляемое поле, конструкции в
ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Период, ДЕНЬ), Подразделение В Выбор ... Конец) КАК ЦеныНоменклатурыСрезПоследних не помогло. Понятно, что нужное подразделение надо подсовывать до конструкции "ИЗ". В результате пока сделал так: в запросе ГДЕ ЦеныНоменклатурыСрезПоследних.Цена > 0 И Подразделение = &ПодразделениеЦенообразования в параметрах новый "Подразделение", ограничение доступности истина, "ПодразделениеЦенообразования" ограничение доступности ложь и включать в пользовательские настройки. В модуле формы Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; Для Индекс = 0 По ПользовательскиеНастройки.Количество() - 1 Цикл Элемент = ПользовательскиеНастройки.Получить(Индекс); Если Строка(Элемент.Параметр) = "Подразделение" Тогда Подразделение= Элемент.Значение; Если ЗначениеЗаполнено(Подразделение.ПодразделениеЦенообразования) Тогда Подразделение = Подразделение.ПодразделениеЦенообразования; КонецЕсли; Элемент = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ПодразделениеЦенообразования"); Элемент.Значение = Подразделение; Прервать; КонецЕсли; КонецЦикла; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |