|
помогите найти Номенклатуру в Расшифровке СКД | ☑ | ||
---|---|---|---|---|
0
vde69
модератор
30.12.13
✎
12:55
|
есть отчет, выводи правильно, групировка склад, в ней номенклатура с видом остатков. макета нет...
// ----------------------------------------------------------------------- // Заполняем реквизиты отчета, поля параметров и отбора СКД МассивПолей = ПолучитьМассивПолейРасшифровки(Расшифровка, ДанныеРасшифровки, , Ложь); // МассивПолей : Значение элемента Тип элемента Поле Значение Иерархия ЗначениеПоляРасшифровкиКомпоновкиДанных ЗначениеПоляРасшифровкиКомпоновкиДанных "Склад" Основной склад Ложь ЗначениеПоляРасшифровкиКомпоновкиДанных ЗначениеПоляРасшифровкиКомпоновкиДанных "ВидОстатков" Доступный Ложь ВидОстатков и Номенклатура имеют одинаковые настройки, но один ест другого нет. Куда хоть копать? Роль Номенклатуры - измерение... |
|||
1
vde69
модератор
30.12.13
✎
12:57
|
понял в чем трабл, Вид остатков - это групировка просто в колонках...
так как получить из расшифровки поле своего уровня? |
|||
2
Classic
30.12.13
✎
13:06
|
Вопрос непонятен
|
|||
3
vde69
модератор
30.12.13
✎
13:20
|
(2) есть отчет, при клике на цифрку возникает событие, при обработке этого события мне нужно получить номенклатуру к которой относится эта цифра....
|
|||
4
ИС-2
naïve
30.12.13
✎
13:28
|
(3) первый варианат перебор расшифорки. Вроде бы передаешь в расшифровку число (идентификатор расшифроки) и получаешь значение. Но это кривой варинат.
на первой закладке СКД, есть "Выражение представления". Вместо номеклатуры указываешь ресурс который должен выводиться. Это самый нормальный вариант |
|||
5
Classic
30.12.13
✎
13:44
|
ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
РезультатРасшифровки = ОбработкаРасшифровки.Расшифровать(Расшифровка, новый полеКомпоновкиДанных(ПолеРасшифровки)); Для каждого текСтрокаОтбора из РезультатРасшифровки.Отбор.Элементы цикл |
|||
6
vde69
модератор
30.12.13
✎
13:46
|
(4) хм, прикольно конечно вместо 10 колонок со значением выводить 10 колонок с номенклатурой и менять представление, но как-то не айс, по многим причинам....
|
|||
7
vde69
модератор
30.12.13
✎
15:19
|
(5) нифига не работает
|
|||
8
Necessitudo
30.12.13
✎
15:21
|
ДанныеРасшифровки.Получить(Расшифровка-1).ПолучитьПоля()
|
|||
9
Necessitudo
30.12.13
✎
15:21
|
или - сколько-нибудь
|
|||
10
Classic
30.12.13
✎
15:33
|
(7)
В отборе нет номенклатуры? |
|||
11
Classic
30.12.13
✎
15:35
|
при стандартной расшифровке данного поля, отчет строится с отбором по нужзной тебе номенклатуре?
|
|||
12
vde69
модератор
30.12.13
✎
15:43
|
(10) есть пустая, дело в том, что у меня нет групировки "Номенклатура", по этому и отбора нет, у меня есть только поле....
|
|||
13
vde69
модератор
30.12.13
✎
15:52
|
пока сделал так, вроде работает хотя и как-то не красиво
ЭлементРасшифровкиДанных = ДанныеРасшифровки.Элементы[Расшифровка]; ЭлементРасшифровкиДанныхПоля = ЭлементРасшифровкиДанных.ПолучитьПоля()[0]; мНоменклатура = Неопределено; ИндНоменклатуры = -1; ИндТекЗначения = -1; ЭлементыКомпоновки = ДанныеРасшифровки.Настройки.Выбор.ДоступныеПоляВыбора.Элементы; Для Каждого эл из ЭлементыКомпоновки Цикл Если СокрЛП(эл.Поле) = "Номенклатура" Тогда ИндНоменклатуры = ЭлементыКомпоновки.Индекс(эл); КонецЕсли; Если СокрЛП(эл.Поле) = ЭлементРасшифровкиДанныхПоля.Поле Тогда ИндТекЗначения = ЭлементыКомпоновки.Индекс(эл); КонецЕсли; КонецЦикла; Если ИндНоменклатуры >= 0 Тогда // Номенклатура есть, можно искать ее расшифровку ЭлементРасшифровкиДанныхПоляНоменклатура = ДанныеРасшифровки.Элементы[Расшифровка - (ИндТекЗначения - ИндНоменклатуры - 2)].ПолучитьПоля()[0]; мНоменклатура = ЭлементРасшифровкиДанныхПоляНоменклатура.Значение; КонецЕсли; |
|||
17
ИС-2
naïve
30.12.13
✎
16:09
|
(0) можно, конечно, программно меняя стуктуру отчета, формировать его в ТЗ и там искать расшифровку. Но это ерунда
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |