|
Как создать ПрайсЛист с иерархией?
| ☑ |
0
GreenDay1986
21.09.11
✎
12:22
|
Делаю Прайс. Программно выгружается в эксель, рассчитываются формулы. Одна беда. Не знаю как сделать иерархию. Допустим
- одеколоны
1
2
- лосьоны
1
2
Нужно скомпоновать в группы, чтоб открывались, сворачивались
|
|
1
ботаникус
21.09.11
✎
12:47
|
если память не изменяет пишется что-то типа rows().group()
|
|
2
ботаникус
21.09.11
✎
12:47
|
+ сделай макрос и посмотри
|
|
3
Alex S D
21.09.11
✎
12:48
|
Лист.Range(ТвойДиапазон).Group();
|
|
4
GreenDay1986
21.09.11
✎
13:26
|
Дело в том что количество номенклатуры не постоянно. Мне нужно как раз поимать этот диапазон.
|
|
5
GreenDay1986
26.09.11
✎
10:27
|
Док.НачатьАвтогруппировкуСтрок();
ВыборкаГруппа = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаГруппа.Следующий() Цикл
Если ВыборкаГруппа.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
Область = ОбластьГруппаИерархия;
Иначе
Область = ОбластьГруппа;
КонецЕсли;
Область.Параметры.Заполнить(ВыборкаГруппа);
Док.Вывести(Область,ВыборкаГруппа.Уровень());
ВыборкаСтрока = ВыборкаГруппа.Выбрать();
Пока ВыборкаСтрока.Следующий()Цикл
ОбластьСтрока.Параметры.Заполнить(ВыборкаСтрока);
Док.Вывести(ОбластьСтрока,ВыборкаСтрока.Уровень(),,Ложь);
КонецЦикла;
КонецЦикла;
Док.ЗакончитьАвтогруппировкуСтрок();
|
|
6
Megas
26.09.11
✎
10:29
|
А нельзя всё сделать в 1с , а потом в Эксель сохранить?
|
|
7
Megas
26.09.11
✎
10:29
|
(6) + Сделать это в СКД или Построителе отчета.
|
|
8
GreenDay1986
26.09.11
✎
12:06
|
Так все работает, решил данным образом. Делаем в 1с группировки, потом выгружаем в ексель. Полностью программно делаю.
Сохранение
Док.Записать("C:\ПрайсЛистХБС.xls",ТипФайлаТабличногоДокумента.XLS);
КоличествоСтрок = ВыборкаСтрока.Количество();
Попытка
Таблица = Новый COMОбъект("Excel.Application") ;
Книга = Таблица.Workbooks.Open("C:\ПрайсЛистХБС.xls");
Исключение
Предупреждение(ОписаниеОшибки()+"Не удалось сформировать обьект");
КонецПопытки;
Лист = Книга.WorkSheets(1);
Лист.Range("I9:"+"I"+строка(ФОРМАТ(КоличествоСтрок+7,"ЧГ="))).FormulaR1C1 = "=RC[-5]*RC[-3]*RC[-2]+RC[-1]*RC[-3]" ;
Лист.Cells(3,6).FormulaR1C1 = "=SUM(R[6]C[3]:R["+строка(ФОРМАТ(КоличествоСтрок+7,"ЧГ="))+"]C[3])";
|
|
9
Megas
26.09.11
✎
14:13
|
(8) Извращенец. Удобно штаны через голову одевать?
|
|
10
GreenDay1986
26.09.11
✎
15:52
|
Нормуль, совершентствуем навыки программирования. А вот Родители группп в файле ексель что-то не выводятся :(
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший