Вот есть проект, имеющий, предположим, вот такой вид:
Рабочий проект (стадия проектирования)
...Том 1
...Том 2
.....Раздел 1
.......Книга 1
.......Книга 2
.....Раздел 2
.......Книга 1
.........Часть 1
.....Раздел 3
.........Часть 1
А может он иметь и такой вид:
Инженерные изыскания (стадия проектирования)
...Том 1
.....Часть 1
...Том 2
.....Книга 1
.......Часть 1
.....Книга 2
.......Часть 1
...Раздел 1
.....Книга 1
........Часть 1
Все это называтся - состав проекта и он может быть разным. Тома, части, разделы, книги - это объекты, имеющие свои атрибуты.
Включены они могут быть в разном порядке. Закономерности никакой.
Задача в следующем: Необходимо состав проекта выгрузить в doc-файл в виде таблицы. Может кто решал подобные задачи, подскажите, как это сделать.
[Исправил название темы на более точно соответствующее сути -- Administrator_PLM_Board]
Экспорт состава проекта в doc-файл
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Структура таблицы
Номер Обозначение Наименование
1...............................Том 1. Наименование
1.1............................Раздел 1. Наименование
2...............................Том 2. Наименование
2.1............................Раздел 1. Наименование
2.1.1.........................Книга 1. Наименование
2.1.2.........................Книга 2. Наименование
2.2............................Раздел 2. Наименование
2.2.1.........................Книга 1. Наименование
2.2.1.1.......................Часть 1. Наименование
2.2.1.2.......................Часть 1. Наименование
Номер Обозначение Наименование
1...............................Том 1. Наименование
1.1............................Раздел 1. Наименование
2...............................Том 2. Наименование
2.1............................Раздел 1. Наименование
2.1.1.........................Книга 1. Наименование
2.1.2.........................Книга 2. Наименование
2.2............................Раздел 2. Наименование
2.2.1.........................Книга 1. Наименование
2.2.1.1.......................Часть 1. Наименование
2.2.1.2.......................Часть 1. Наименование
- Disillusioned
- Активный участник
- Сообщения: 420
- Зарегистрирован: 15 июл 2004, 15:12
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Подольск
- Контактная информация:
При помощи хранимой процедуры это несложно сделать.
Вот заготовка кода для Sybase SQL Anywhere:
Вот заготовка кода для Sybase SQL Anywhere:
Код: Выделить всё
create procedure UnloadProject(in @obj_id numeric(18))
begin
declare local temporary table #res(
id numeric(18),
pos varchar(255),
aLevel integer,
)
declare @maxLevel integer;
declare @tree_linktype integer;
set @tree_linktype=1;
set @maxLevel=0;
insert into #res(id,pos,aLevel) values(@obj_id,'1.',@maxLevel)
while exists(select id from #res where aLevel=@maxLevel) loop
insert into #res(id,pos)
select tl.link_id,#res.pos from #res join tree_link_view as tl on #res.id = tl.parent_id
where #res.aLevel=@maxLevel and tl.link_type_id = @tree_linktype;
set @maxLevel=@maxLevel+1;
update #res set
pos=pos+right(' '+cast(number() as char),3),
aLevel=@maxLevel
where aLevel is null;
end loop;
select * from #res order by pos;
end
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Включение в атрибуты элементов состава проекта их номеров для сортировки решило бы задачу...
Но возможно, это можно сделать и проще, сделав два отчета - по одному для каждой стадии проектирования. Уже будет проще, но надо будет решить вопрос с признаком для сортировки.
Первый вариант конечно, в разы проще - даже думать не надо будет
Но возможно, это можно сделать и проще, сделав два отчета - по одному для каждой стадии проектирования. Уже будет проще, но надо будет решить вопрос с признаком для сортировки.
Первый вариант конечно, в разы проще - даже думать не надо будет
