![]() |
|
Можно ли в СКД задать параметр массив типов? | ☑ | ||
---|---|---|---|---|
0
mortal
24.10.14
✎
12:57
|
Приветствую всех!
Вопрос, собственно, в сабже. Использую, как видно, параметры СКД. Подскажите, если можно, то как/что там писать? один из моих неработающих вариантов https://cloud.mail.ru/public/f08f319936ca%2FВопросМистеПоСКД.jpg Конфа УНФ 1.3. сам запрос из скд: ВЫБРАТЬ РАЗРЕШЕННЫЕ ВЫБОР КОГДА ЗапасыОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ЗапасыОстаткиИОбороты.Регистратор КОНЕЦ КАК Регистратор, ЗапасыОстаткиИОбороты.Организация, ЗапасыОстаткиИОбороты.Номенклатура, ЗапасыОстаткиИОбороты.Характеристика, ЗапасыОстаткиИОбороты.КоличествоНачальныйОстаток, ЗапасыОстаткиИОбороты.КоличествоКонечныйОстаток, ЗапасыОстаткиИОбороты.КоличествоОборот, ЗапасыОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения, ЗапасыОстаткиИОбороты.СерийныйНомер ИЗ РегистрНакопления.Запасы.ОстаткиИОбороты(, , Авто, Движения, СчетУчета.ТипСчета = ЗНАЧЕНИЕ(Перечисление.ТипыСчетов.Запасы)) КАК ЗапасыОстаткиИОбороты {ГДЕ (ТИПЗНАЧЕНИЯ(ЗапасыОстаткиИОбороты.Регистратор) В (&МассивТипов))} |
|||
1
mortal
24.10.14
✎
13:15
|
пятниццо... )
ну, ап. |
|||
2
Godofsin
24.10.14
✎
13:17
|
Программно устанавливай
|
|||
3
mortal
24.10.14
✎
13:18
|
(2) это единственный возможный вариант?
|
|||
4
Godofsin
24.10.14
✎
13:23
|
(3) Ну я других не знаю.
|
|||
5
Ник080808
24.10.14
✎
13:25
|
(3) доступные значения заполнить если?
|
|||
6
Chameleon1980
24.10.14
✎
13:27
|
5 что?
|
|||
7
mortal
24.10.14
✎
13:28
|
(5) там же нет значения вида ТипЗначения
|
|||
8
Ник080808
24.10.14
✎
13:29
|
(7) так строки ручками))))
|
|||
9
Ник080808
24.10.14
✎
13:30
|
(7) а ты имеешь ввиду - форму выбора с типами значений? Так это тогда к Орефкову за снегопатом
|
|||
10
Chameleon1980
24.10.14
✎
13:32
|
(9) нах. чуть программно. тебе строго?
|
|||
11
DrZombi
гуру
24.10.14
✎
13:34
|
(0) Зачем?
Создай такое в самом запросе |
|||
12
DrZombi
гуру
24.10.14
✎
13:35
|
+(0) Через временную таблицу, через Объединение помести туда свои типы. А потом уже и начинай извращаться :)
|
|||
13
DrZombi
гуру
24.10.14
✎
13:39
|
+ А действительно пятнично :)
В общем лучше это реализовать через: ГДЕ ( ЗапасыОстаткиИОбороты.Регистратор Ссылка Документ.<По регистратору> ИЛИ ЗапасыОстаткиИОбороты.Регистратор Ссылка Документ.<По регистратору № 2> или т.д.... "Потом Скобка закрывается" ) |
|||
14
DrZombi
гуру
24.10.14
✎
13:40
|
+ Если так нужно организовать условия выбора, то это можно реализовать через:
//Из модуля Отчета... ///\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; //------------------------- //ПрибавлятьФильтр=Ложь; // настройка период НастройкиКомпоновщика = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки(); ЭлемПользНастр = ЭтотОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; Если НастройкиКомпоновщика.ПараметрыДанных.Элементы.Количество()>0 ТОгда Для каждого Элемент Из НастройкиКомпоновщика.ПараметрыДанных.Элементы Цикл Если Элемент.Использование=Истина тогда Если Сокрлп(Элемент.Параметр)="СмещениеСервер" тогда Элемент.Использование = Истина; //Получать только на сервере :) УнВремя=УниверсальноеВремя(ТекущаяДата()); СмещениеСервер = МестноеВремя(УнВремя) - УнВремя; //4 часа для Москвы Элемент.Значение = СмещениеСервер; //Отобразим для пользователя НайденЭлемент = ЭлемПользНастр.Найти(Элемент.ИдентификаторПользовательскойНастройки); Если НайденЭлемент <> Неопределено Тогда НайденЭлемент.Значение = Элемент.Значение; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; //ТЗИтог= СформироватьОтчет(ДатаНачала,ДатаОкончания,Календарь); //ТЗ_ДниНедели = ПолучитьТаблицуДнейНедели(); // //Связь между таблицей значений и именами в СКД ВнешниеНаборыДанных = Новый Структура; //ВнешниеНаборыДанных.Вставить("ТЗ_ДниНедели",ТЗ_ДниНедели); //Макет компоновки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, НастройкиКомпоновщика, ДанныеРасшифровки); //Компоновка данных ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); //Вывод результата ДокументРезультат.Очистить(); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры |
|||
15
DrZombi
гуру
24.10.14
✎
13:42
|
+ В запрос добавь Параметр "&ВариантОтчета", ну а уже "ПриКомпоновкеРезультата()" устанавливай ему значение по условию.
А в коде запроса пропиши варианты условия :) |
|||
16
Ник080808
24.10.14
✎
13:42
|
(10) переведи. Нифига не понял(
|
|||
17
DrZombi
гуру
24.10.14
✎
13:44
|
+ А уж со Списком на форме, где будет перечислен вариант "какой либо, в плоть до типов", Это уже ты сам докумекаешь. Как передать это значение из Формы в модуль :)
|
|||
18
Ник080808
24.10.14
✎
13:44
|
(13) за или в условии тут http://www.forum.mista.ru/users.php?name=H+A+D+G+E+H+O+G+s бьет по почкам
|
|||
19
Ник080808
24.10.14
✎
13:44
|
(18) чёрт, короче H A D G E H O G s)))
|
|||
20
Godofsin
24.10.14
✎
13:44
|
(15) Ну ты завернул...
|
|||
21
DrZombi
гуру
24.10.14
✎
13:45
|
(18) Кого волнует? :)
|
|||
22
DrZombi
гуру
24.10.14
✎
13:45
|
(20) А ведь сработает, как автор хочет ;)
|
|||
23
Chameleon1980
24.10.14
✎
13:45
|
(20) что не так?
|
|||
24
Ник080808
24.10.14
✎
13:46
|
(21) смотри сам - почки твои)))
|
|||
25
Godofsin
24.10.14
✎
13:47
|
(23) Массив сформировать не проще? а его уже программно подпихивать
|
|||
26
DrZombi
гуру
24.10.14
✎
13:48
|
(25) Как? Это СКД :)
|
|||
27
Godofsin
24.10.14
✎
13:48
|
(26) Ну и?
|
|||
28
DrZombi
гуру
24.10.14
✎
13:48
|
Её же не нравится все что не простое :)
|
|||
29
DrZombi
гуру
24.10.14
✎
13:49
|
(27) Ну и как передать массив некого значения в Параметр?
|
|||
30
Godofsin
24.10.14
✎
13:51
|
(29) Отбор.Настройки.ПараметрыДанных.Элементы[].Значение
|
|||
31
Godofsin
24.10.14
✎
13:51
|
не?
|
|||
32
Chameleon1980
24.10.14
✎
13:51
|
(27) да те же грят программно пля
массив ты где там? хотя.... фукции глоб |
|||
33
Chameleon1980
24.10.14
✎
13:52
|
из общего модуля функц
|
|||
34
DrZombi
гуру
24.10.14
✎
13:52
|
(31) И массив там встанет как литой... У меня не взлетело :(
Есть примерчик, подсмотреть? |
|||
35
Godofsin
24.10.14
✎
13:53
|
(34) Ну я не пробовал ))) так прикинул, вроде по логике вещей не должно быть ошибки
|
|||
36
Chameleon1980
24.10.14
✎
13:54
|
в запросе не сработает тип(куку) в типзнч(типзнч(куку)) ?
|
|||
37
DrZombi
гуру
24.10.14
✎
13:54
|
(35) Вот и я думал... был огорчен :(
|
|||
38
Chameleon1980
24.10.14
✎
13:54
|
куку извне возращается
|
|||
39
DrZombi
гуру
24.10.14
✎
13:55
|
(36) Может и взлетит :)
... Неплохая идея... создать то количество параметров, которое требуется для условия :) |
|||
40
DrZombi
гуру
24.10.14
✎
13:57
|
+(38) ... и при этом, все это можно запихнуть во временную табличку, через Объединение :)
|
|||
41
Chameleon1980
24.10.14
✎
13:58
|
чейи(40)м?
|
|||
42
DrZombi
гуру
24.10.14
✎
13:58
|
+(40) И тогда будет вместо:
{Где (ТИПЗНАЧЕНИЯ(ЗапасыОстаткиИОбороты.Регистратор) В (&МассивТипов))} .... Где (ТИПЗНАЧЕНИЯ(ЗапасыОстаткиИОбороты.Регистратор) В (Выбрать ВТ.МойТип Из ВременнаяТаблицаМассивТипов как ВТ)) //Но уже без фигурных скобок :) |
|||
43
DrZombi
гуру
24.10.14
✎
13:59
|
(41) Это мысли к (39)
|
|||
44
Chameleon1980
24.10.14
✎
13:59
|
||||
45
Chameleon1980
24.10.14
✎
14:00
|
вобще динамически формируй запрос. обрабатывай.
|
|||
46
DrZombi
гуру
24.10.14
✎
14:00
|
(44) А это к чему?...
|
|||
47
Chameleon1980
24.10.14
✎
14:00
|
прочтите
|
|||
48
DrZombi
гуру
24.10.14
✎
14:01
|
(47) Прочитал, не затронуло :)
|
|||
49
Chameleon1980
24.10.14
✎
14:02
|
короче массив фиксированный*?
|
|||
50
DrZombi
гуру
24.10.14
✎
14:03
|
(49) Но за ссылку спасибо, можно чего почерпнуть, для создания динамических запросов :)
|
|||
51
Chameleon1980
24.10.14
✎
14:04
|
скд доб набор данных "объединение" с одним рулим к другому прицепляем. логически
|
|||
52
Chameleon1980
24.10.14
✎
14:06
|
"....массив типов...." по какому принципу строится?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |