helpf.pro
Регистрация

v8.2 УП: Как в документе заполнить данные (кросс-таблицу)

Anjut-ka4
24.06.2015 16:32Прочитано: 4194

Здравствуйте, подскажите как в документе можно реализовать заполнение кросс-таблицы?

т.е. у меня есть документ, в шапке поставщик, район, а табличная часть - кросс-таблица

Пример:

                                    актив          реактив           генерация

выработка                    10                  3                        1

транспортировка           7                   2                       1

прочее                            5                    1                       0.1  

причем таблица может расти, добавляться могут как строки так и столбцы.. 

Yandex
Возможно, вас также заинтересует
Реклама на портале
hab1c
25.06.2015 11:32Ответ № 1

Табличная часть документа:

1 реквизит - Строки

2 реквизит - Колонки

3 реквизит - Число

И переделать форму документа, при открытии запросом выбрать данные документа - заполнить форму, а при записи документа - таблицу передать в  табличную часть документа.

Anjut-ka4
25.06.2015 13:19Ответ № 2

понятно, спасибо!

Anjut-ka4
25.06.2015 14:56Ответ № 3

не, непонятно))

у меня обычные формы.

Получается при открытии документа форму надо рисовать динамически. (В конфигураторе в форме документа я все реквизиты табличной части убрала.)

При открытии формы выборку данных я сделала (названия строк, колонок). А как на форме отразить эту выборку?  

Код 1C v 8.2 УП
 Процедура ПриОткрытии()
ТЧ = ЭтотОбъект.Электроэнергия;
//выбираю какие будут колонки
Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.НайтиПоКоду("0004"));
пока Выборка.Следующий() Цикл 
//хочу добавлять колонки!!!
ТЧ.Колонки.Добавить(); //Неправильно!!!
КонецЦикла;
КонецПроцедуры
Anjut-ka4
25.06.2015 15:07Ответ № 4

мне непринципиально кросс-таблицей, конечно можно и так:

выработка   актив         10

выработка   реактив       3

выработка    генерация  1

Просто я думаю, как удобней для пользователя сделать..? Как правильно?

EMigachev
27.06.2015 20:22Ответ № 5

а какая цель, от куда будут браться данные?

hab1c
29.06.2015 08:34Ответ № 6

В обычных формах тоже можно сделать:

ПолеРегистра = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), СтрокаТаблицы.Имя, Истина, ЭлементыФормы.ОсновнаяПанель);

КолонкаВидДвижения = ПолеРегистра.Колонки.Вставить(1, "Вид движения"); КолонкаВидДвижения.Имя = "ВидДвиженияРегистраНакопления"; КолонкаВидДвижения.УстановитьЭлементУправления(Тип("ПолеВвода")); КолонкаВидДвижения.Данные = "ВидДвижения"; КолонкаВидДвижения.ЭлементУправления.КнопкаВыбора = Истина; КолонкаВидДвижения.ЭлементУправления.ВыбиратьТип = Ложь;

Anjut-ka4
29.06.2015 10:18Ответ № 7

Здесь данные будут вводиться.. 

Мне кажется заморачиваться кросс-таблицей не стоит..

А стандартный вариант (без рисования колонок) им подойдет. 

выработка актив         10

выработка реактив       3

выработка генерация   1

Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.