Имя: Пароль:
1C
1С v8
Как создать ПрайсЛист с иерархией?
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
Нормуль, совершентствуем навыки программирования. А вот Родители группп в файле ексель что-то не выводятся :(