|
Отчет СКД | ☑ | ||
---|---|---|---|---|
0
denis_solyanko
17.10.14
✎
09:14
|
Создал отчет скд.
На форму нужно вытащить поле отбора по типу цен вроде все сделал, но вылазиет ошибка значение не является значением объектного типа. При открытии ТипЦен =КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ТипЦен"); ТипЦен.Значение = ТипЦен; при изменении типа цен ТипЦен = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ТипЦен"); ТипЦен.Значение = ТипЦен; на форме поле создал данным присвоил тип справочникСсылка.ТипыЦенНоменклатуры |
|||
1
DmitriyDI
17.10.14
✎
09:25
|
(0) не может найти параметр в отчете ТипЦен
|
|||
2
pessok
17.10.14
✎
09:28
|
а зачем это делать вручную то? На форму ТабПоле с типом Отбор
|
|||
3
denis_solyanko
17.10.14
✎
09:33
|
(2) нужно сделать так чтобы было поле выбора выбрал тип цен, и произошел отбор, вот теперь не пойму как исправить
|
|||
4
denis_solyanko
17.10.14
✎
09:34
|
Пишет поле объекта не обнаружено (Значение
) |
|||
5
pessok
17.10.14
✎
09:35
|
запрос давай
|
|||
6
pessok
17.10.14
✎
09:36
|
чую, что (1) прав
|
|||
7
DmitriyDI
17.10.14
✎
09:36
|
Поле = Новый ПолеКомпоновкиДанных("ТипЦен");
Для каждого Элемент Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл Если Элемент.ЛевоеЗначение = ПолеТовар Тогда ЭлементОтбора = Элемент; Прервать; КонецЕсли; КонецЦикла; Если ЭлементОтбора = Неопределено Тогда ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); КонецЕсли; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии; ЭлементОтбора.ЛевоеЗначение = Поле; ЭлементОтбора.ПравоеЗначение = ТипЦен; ЭлементОтбора.Использование = ?(ЗначениеЗАполнено(ТипЦен), Истина, Ложь); |
|||
8
pessok
17.10.14
✎
09:37
|
(7) вроде ж речь не про отбор а про параметр
|
|||
9
DmitriyDI
17.10.14
✎
09:38
|
(0) так вроде в (0) "На форму нужно вытащить поле отбора по типу цен "
|
|||
10
pessok
17.10.14
✎
09:39
|
(9) если отбор, то вообще без конфигурирования это делается
|
|||
11
DmitriyDI
17.10.14
✎
09:41
|
(10) можно и без него)
|
|||
12
denis_solyanko
17.10.14
✎
09:41
|
без отбора можно как нибудь
|
|||
13
denis_solyanko
17.10.14
✎
09:42
|
в альфе нашел я сделал все также но , не хочет, может быть из-за того что при открытии я не присвоил значение типцен
ТипЦен = Справочники.ТипыЦен.ОсновнойТипЦенПродажи; |
|||
14
denis_solyanko
17.10.14
✎
09:42
|
это в альфе так сделано и все работает
|
|||
15
pessok
17.10.14
✎
09:43
|
в (0) написано, что нужен отбор, в (12) отбор не нужен. что в итоге нужно?
|
|||
16
denis_solyanko
17.10.14
✎
09:44
|
поле выбора выбрал тип цен и нажал сформировать и все отбор совершился по тому значению что ты выбрал
|
|||
17
DmitriyDI
17.10.14
✎
09:44
|
так и пиши (13)
ТипЦенЗнач = Справочники.ТипыЦен.ОсновнойТипЦенПродажи; ТипЦен =КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ТипЦен"); ТипЦен.Значение = ТипЦенЗнач ; |
|||
18
DmitriyDI
17.10.14
✎
09:45
|
(17) и там в конце допиши ТипЦен.Использование = Истина;
|
|||
19
denis_solyanko
17.10.14
✎
09:46
|
у меня нет основного типцен
|
|||
20
pessok
17.10.14
✎
09:47
|
(19) ты издеваешься?
дай запрос, мля. ты пытаешься установить ПАРАМЕТР ЗАПРОСА. Есть ли в запросе ПАРАМЕТР? |
|||
21
DmitriyDI
17.10.14
✎
09:47
|
(19) смотри тогда надо делать так
ЭлементОтбора = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ТипЦен"); ЭлементОтбора .Значение = ИмяТвоегоРеквизитаНаФорме; ЭлементОтбора .Использование = Истина; |
|||
22
DmitriyDI
17.10.14
✎
09:48
|
(20) ))) да это прикол если параметра еще нет в запросе)
|
|||
23
pessok
17.10.14
✎
09:48
|
(21) ты на ошибку в (0) посмотри. нет у него параметра, а ты распинаешься :)
|
|||
24
denis_solyanko
17.10.14
✎
09:48
|
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Валюта, ЦеныНоменклатурыСрезПоследних.Цена, ЦеныНоменклатурыСрезПоследних.ТипЦен, ЦеныНоменклатурыСрезПоследних.Номенклатура.БазоваяЕдиницаИзмерения.Наименование, ЦеныНоменклатурыСрезПоследних.Период, ЦеныНоменклатурыСрезПоследних.Номенклатура.Штрихкод, ВложенныйЗапрос.Ссылка, ЦеныНоменклатурыСрезПоследних.Номенклатура ИЗ (ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = ВложенныйЗапрос.Ссылка) УПОРЯДОЧИТЬ ПО ЦеныНоменклатурыСрезПоследних.Номенклатура.Родитель, ЦеныНоменклатурыСрезПоследних.Номенклатура |
|||
25
pessok
17.10.14
✎
09:49
|
(24) что и требовалось доказать...
|
|||
26
pessok
17.10.14
✎
09:49
|
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ТипЦен = &ТипЦен)
|
|||
27
pessok
17.10.14
✎
09:50
|
(24) если ты просишь о помощи, а у тебя просят запрос, то не надо ждать, пока начнут материться... ты украл у себя и нас 15 минут времени
|
|||
28
DmitriyDI
17.10.14
✎
09:52
|
и после (26) не забудь в (21) посмотреть) а то, что ты сравниваешь в (0) не правильно
|
|||
29
denis_solyanko
17.10.14
✎
09:54
|
спасибо большое все заработало))
|
|||
30
denis_solyanko
17.10.14
✎
10:40
|
(28) еще один вопрос , нужно сделать чтобы этот отбор можно было использовать и не использовать с помощью флажка это осуществить?
|
|||
31
DmitriyDI
17.10.14
✎
11:06
|
(30) да надо убрать параметр из запроса, и добавить вот этот код вместо твоего:
Поле = Новый ПолеКомпоновкиДанных("ТипЦен"); Для каждого Элемент Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл Если Элемент.ЛевоеЗначение = ПолеТовар Тогда ЭлементОтбора = Элемент; Прервать; КонецЕсли; КонецЦикла; Если ЭлементОтбора = Неопределено Тогда ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); КонецЕсли; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии; ЭлементОтбора.ЛевоеЗначение = Поле; ЭлементОтбора.ПравоеЗначение = ИмяТвоегоПоля; ЭлементОтбора.Использование = ?(ЗначениеЗАполнено(ТипЦен), Истина, Ложь); Если цена не будет указана тогда отбора не будет. если будет то будет |
|||
32
denis_solyanko
17.10.14
✎
14:35
|
да не хочет он так работать
|
|||
33
denis_solyanko
17.10.14
✎
14:35
|
(31)
|
|||
34
denis_solyanko
17.10.14
✎
14:39
|
где ПолеТовар что должно быть
|
|||
35
pessok
17.10.14
✎
14:53
|
(35) твое поле ТипЦен
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |