Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/289: Рейтинг темы: голосов - 289, средняя оценка - 4.74
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
1

Проэктирование базы

26.04.2006, 15:29. Показов 52329. Ответов 39
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Обращаюсь ко Всем кто имеет опыт создания документооборота на Lotus.

Потребовалось создать систему документооборота, но Lotus я только начал изучать. Пожалуйста расскажите как спроектировать базу.
Документы должны циркулировать между различными подразделения, начальники подразделений и начальник фирмы должны иметь доступ к документу постоянно, на всех стадиях выполнения. Текущий бумажный документооборот приблизительно 20 документов в неделю, но фирма расширяется и эта цифра увеличивается.
На всё это мне дали срок 1 месяц, т.е. 1 июля я должен показать что система функционирует.
Буду рад любым советам.
Если есть примеры, буду благодарен если поделитесь.
Мой e-mail hedg_u4@ukr.net
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2006, 15:29
Ответы с готовыми решениями:

Проэктирование базы данных
Привет народ! Помогите правильно спроэктировать базу данных небольшого магазина: в нём должны...

Проэктирование БД
Курсовая робота на тему "Телефонный справочник предприятия". Какие таблицы и поля бы вы включили...

Литература(визуальное проэктирование)
Люди добрые! Хотелось бы воспользоваться моментом и поздравить всех Вас с днем программиста! И...

Все данные таблиц одной базы необходимо добавить в таблицы такой же базы.
В FoxPro я могу обойтись двумя операторами на на каждую таблицу: use А append from В и все...

39
27.04.2006, 11:40 2
Врятли месяц - это реальный срок, хотя смотря что и как хотят сделать в базе.
Расскажи подробней о задаче. Какие документы, куда, как двигаются. Какие условия скрытия существуют, какие действия нужно с документами производить. Согласовывать? Создавать архивы? Использовать для чего-то?

Думаю начинать проектировку нужно именно с этого - ознакомления с конкретной задачей. :angry:
0 / 0 / 2
Регистрация: 07.05.2005
Сообщений: 743
27.04.2006, 11:44 3
За 1 месяц не реально.

Либо это будет просто база типа "Библиотека документов"

P.S. "Даже если собрать 9 беременных женщин, за 1 месяц не родят"
0
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
27.04.2006, 13:17 4
Мне не нужно вводить сразу все виды документов, для начала мне нужно ввести всего 2 типа документов. Просто со временем, если конечно будет удачная реализация, все документы будут переведены с бумаги на Лотус.
А хочется создать базу с прицелом на будущее, чтобы по 20 раз не переделывать.

Документ на закупку чего-либо
Создаётся сотрудником любого отдела.
Документы направляется сначала начальнику отдела, тот его пересылает начальнику фирмы на одобрение/отклонение. Если документ одобрен, то отсылается в бухгалтерию, на выделение средств, потом он отправляется к завхозу, после того как там всё сделали, отправляется в архив.
Начальник фирмы и начальник отдела должны видеть что документ изменяется, документ собой представляет(на бумаге) набор пунктов, где ставиться отметка если данный пункт выполнен.

Документ должен быть виден только сотруднику который его создал, начальнику отдела, начальнику фирмы, бухгалтеру, завхозу. Некоторые поля должны быть не виды определенным людям,(на сколько я понял это решается с помощью шифрования , но был бы рад если бы кто показал на примере)
0
27.04.2006, 13:33 5
Моменты, которые нужно уточнить:
1. будет ли путь согласования менятся, ветвится, нужны ли возвраты и на какие статусы, нужны ли предупреждения для забывчивых руководителей. Если путь согласования сложный (а так бывает чаще всего), то нужно создать настоечный документ по каждому типу согласования или форме.
2. кто и на каких статусах что должен видеть. Разграничение прав можно сделать по ролям/должностям.
3. определить какие нужны справочники. Например явно нужен справочник сотрудников/должностей, справочник отделов.
4. какие должны быть отчеты, выборки?

Вот тут есть кое-какие базы бесплатные - http://www.openntf.org
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
27.04.2006, 13:53 6
За ссылку спасибо.
1. Путь согласования не будет меняться. Должен быть выставлен срок на выполнение , по истечении которого уведомляется начальник отдела.
Что такое - "настоечный документ по каждому типу согласования или форме"

2. Начальник Фирмы и начальник отдела должны видеть весь документ, а все остальные только те части которые качаются их.

3.Нужен справочник отделов, сотрудников/должностей

4. Отчёты должны содержать заголовок документа, дату выполнения и имя сотрудника который что-то там делал.
0
27.04.2006, 14:07 7
1. Документ, где указывается название и номер статуса, ФИО (или роли/должности) тех, кто согласует документ, условия при которых доступен этот этап согласования.
Пример на картинке.
27.04.2006, 14:08 8
Еще один вариант - сделать форму для выбора согласовательного лица.
В эту форму отбирать из справочника людей, который имеют определенные роли/должности.
Удобно тем, что позволяет эти формы использовать для любого количества документов.
На картинке такой список.
27.04.2006, 14:09 9
Можно указывать всех учавствующих в согласовании в каждом документе как на этом рисунке. Это полезно если нужна очень гибкая структура согласования.
Вобщем, вариантов много.
27.04.2006, 14:17 10
2. Это проще, чем согласование. Сначала надо посчитать много ли таких начальников на фирме.
Если 2-3, то лучше всего завести роль в базе и скрывать части документа, если в Hide поля или раздела
!@Contains(@UserRoles;"[Boss]")
Если больше, то стоит завести поле в котором будет выясняться все роли в справочнике сотрудников для текущего юзера и опять же тем же принципом проверяться скрытие/открытие поля или раздела.

4. Тоесть фактически нужно печатать документ?
Это можно сделать стандартными средствами.
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
27.04.2006, 15:16 11
Большое спасибо за примеры.
Меня ещё интересует один вопрос, как и где, хранить документы.
И можно ли сделать ссылку на документ и рассылать её необходимым лицам?
0
27.04.2006, 15:22 12
Хранить документы в базе.
Если доков будет очень много, можно создать базе-архив (на каждый год), куда перекидывать устаревшие документы.
Ссылку пересылать можно. вот пример на LS для согласования (второй вариант).


Код
.... (объявление переменных) ....

formula={Form = "Permission" & Rule="Руководитель" & PKod= "} + Cstr(uidoc.FieldGetText("RKod")) + {" & Visible!="0"}
Set collection = db.Search(formula, Nothyng,0)
If collection.Count = 0 Then
Msgbox "В справочнике не найдены соответствующие Руководители !", 32, "Внимание!"
Exit Sub
End If
doc.BossList=""
Set wdoc = collection.GetFirstDocument
While Not wdoc Is Nothyng
n=Evaluate({Field BossList:=@Unique(@Trim(BossList:} & wdoc.PersonFullName(0) & {));@Success},doc)
Set wdoc = collection.GetNextDocument(wdoc)
Wend

If Not workspace.DialogBox( "SelectBoss", True, True, True , False, False, False, "Отправка на согласование руководителем", doc , False, True) Then Exit Sub
doc.Status = "1"
doc.StatusWho = doc.BossName(0)
doc.OwOKDate =Date+Time

История
n = Evaluate({Field HistoryWhen:=@Now;@Success},doc)
n = Evaluate({Field HistoryWho:=@Name([CN];@UserName);@Success},doc)
n = Evaluate({Field HistoryAction:="Отправлен на согласование руководителю";@Success},doc)
n = Evaluate({Field History:=History:(@Text(HistoryWhen) + " " + HistoryWho + ": "+HistoryAction);@Success},doc)
Уведомление руководителю
Set mdoc = db.CreateDocument
mdoc.Form = "Memo"
mdoc.SendTo = doc.BossNotesName(0)
mdoc.Subject = "Уведомление о согласовании заявки"
Set rtitem = New NotesRichTextItem( mdoc, "Body" )
Call rtitem.AppendText("Требуется согласование заявки в")
Call rtitem.AddNewLine(2)
Call rtitem.AppendText("Ссылка на документ -> ")
Call rtitem.AppendDocLink( doc, "документ" )
Call mdoc.Send(False)
Сохраняем и закрываем
Call uidoc.Save
Call uidoc.Close
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
27.04.2006, 15:53 13
Благодарю за пример.

Как создать эту самую ссылку?
Ещё вопрос, как размещать документы, чтобы остальные сотрудники или отделы не видели документов, которые их не касаются?
0
27.04.2006, 16:33 14
В примере есть линк на документ -
Call rtitem.AppendDocLink( doc, "документ" )

Можно сделать вид в котором первый столбец катигоризировать по ФИО сотрудников.
С примерно такой формулой отбора:


Код
@Trim(OwnerNotesName:
@If(
Status="0";OwnerNotesName;
Status="1";BossNotesName;
Status="2";Boss2NotesName;
OwnerNotesName))
Тоесть на статусе 0 видит только создатель дока, на 1-ом статусе - босс и создатель, на 2-ом босс2 и создатель и т.д.

Потом сделать форму со встоенным видом и в Show single categiry записать формулу отбора @UserName.

Тогда в представлении будут показываться только документы тем юзерам, которые или сами создали документ или должны его сейчас согласовывать.
0 / 0 / 2
Регистрация: 07.05.2005
Сообщений: 743
27.04.2006, 23:28 15
<!--QuoteBegin-Юлия+28:04:2006, 14:20 -->
<span class="vbquote">(Юлия @ 28:04:2006, 14:20 )</span><!--QuoteEBegin-->Тоесть на статусе 0 видит только создатель дока, на 1-ом статусе - босс и создатель, на 2-ом босс2 и создатель и т.д.

Потом сделать форму со встоенным видом и в Show single categiry записать формулу отбора @UserName.

Тогда в представлении будут показываться только документы тем юзерам, которые или сами создали документ или должны его сейчас согласовывать.
[snapback]34591" rel="nofollow" target="_blank[/snapback]?[/quote]

А поля Ридер начто? Тоже самое только вычисление в поле ридер
0
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
02.05.2006, 10:20 16
Спасибо всем кто ответил. Вопросы с проэктированием отпали. Теперь буду потихоньку реализовывать всё что на думал.
0
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
04.05.2006, 13:09 17
Вопрос по сокрытию частей документа.
Как сделать чтобы скрытые части могли быть видны нескольким ролям? Например Босу и Админу.
0
04.05.2006, 15:36 18
Поставить соотвествующе условие скрытия на поле (Field) или на раздел (Section). Это закладка Paragraph Hide When.
Если роль [Admin], то формула будет выглядеть примерно так:
!@Contains(@UserRoles;"[Admin]")

Если раздел должен быть виден еще и юзеру с ролью [Boss], то формула скрытия будет такая:
!@Contains(@UserRoles;"[Admin]") & !@Contains(@UserRoles;"[Boss]")
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
04.05.2006, 17:03 19
<!--QuoteBegin-Юлия+5:05:2006, 13:23 -->
<span class="vbquote">(Юлия @ 5:05:2006, 13:23 )</span><!--QuoteEBegin-->Если раздел должен быть виден еще и юзеру с ролью [Boss], то формула скрытия будет такая:
!@Contains(@UserRoles;"[Admin]") & !@Contains(@UserRoles;"[Boss]")
[snapback]35047" rel="nofollow" target="_blank[/snapback]?[/quote]

Не работает. Невиден ни тому и другому
0
04.05.2006, 17:29 20
А какое полное название роли?
Выведи в отдельное поле значение @UserRoles.
Попробуй сначала сделать скрытие по отдельности, а потом совместить.

@UserRoles - это список. Подходит не только !@Contains, но и @IsNotMember.
04.05.2006, 17:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2006, 17:29
Помогаю со студенческими работами здесь

Какое ПО может по существующей базе получить схему базы или ER-диаграмму базы?
СУБД SQLServer 2008 R2 , нужно ПО которое позволит по существующий базе получить схему базы или...

Блокировка базы SQL запросом (Дравер базы данных не может заблокировать таблицу ХХХХХ)
Подскажите, пожалуйста возможные решения: Есть базы в *.DBF файлах, создан System DSN (Драйвер...

Дамп базы данных, место хранения базы (phpmyadmin)
Здравствуйте, стал знакомиться с денвером как возникло множество вопросов относительно базы данных:...

Выводим все столбцы `x` из базы `A` и конектимся к `y` из базы `B`
Как вывести все столбцы user из таблицы knb_online, но при этом законектится к dbcool_users_a ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru