|
|
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
В одной операции разные роли ведут свои реквизиты, причем у каждой группы товара свои реквизиты. Например: операция: поставка товара. Продукция: кабель. Бухгалтерия заносит завод производителя(из справочника производителей кабеля), а кладовщики заносят цвет оплетки, жильность. Продукция: трансформатор Бухгалтерия заносит завод производителя(из справочника производителей трансформаторов), тип смазки, а кладовщики ничего не заносят и т.д. Как лучше организовать структуру? С EAV не охота связываться, пока расматриваю такой вариант: В документе храним все столбцы (для всех реквизитов). А связку организуем в таблице со следующими полями: - роль; - группа товара; - имя столбца из документа. Что еще можете предложить? Или все таки стоит подумать об EAV? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2009, 19:18 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
понятие документ существует только в БД компании лотус там это основной элемент БД Вы будете делать бд на лотус нотус домино ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2009, 20:21 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Из "В одной операции разные роли ведут свои реквизиты" что именно следует? Что реквизиты (и связанное и ними) доступны только для соответствующих ролей на чтение/изменение/добавление/удаление/...? По сути, что кладовщики и бухгалтеры что-то куда-то в номенклатурном справочнике заносят - откровенно говоря бред, но допустим. Бухгалтерия не может занести "цвет оплетки" или она вообще не видит такой параметр, как "цвет оплетки"? Если "В одной операции разные роли ведут свои реквизиты", то это всегда решается разграничением прав доступа в том или ином виде. Независимо от того, будет там EAV или нет. Связка через роль - вообще ерунда. Роль - понятие вспомогательное. В принципе, администратор системы может вообще все роли убить и раздать их по новой. На документах это никак не должно отражаться. А будет там EAV или нет - это зависит (кроме личных предпочтений и религий) от количества произвольных атрибутов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2009, 20:52 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецовэто зависит (кроме личных предпочтений и религий) от количества произвольных атрибутов. Подскажите: какова зависимость? Предположим, что кол-во реквизитов 400 штук. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 10:00 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Гост ьПредположим, что кол-во реквизитов 400 штук. Уточню: БД Oracle 10 - в ограничения по кол-ву столбцов не упераемся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 10:09 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Гост ь, немного непонятен вопрос про зависимость..... проблема в том что заводить табличку с 400 столбцами, а заполнять в каждой строке по 10-20 полей оставляя остальными нулями не есть очень хорошо, тем более что атрбиут может появится новый - в таком случае прийдется в DDL переделывать таблицу. Посмотрите инфу про EAV. В двух словах это табличка с колонками 1) ссылка на обьект 2) название свойства (или ссылка на свойство, сделаное в отдельной таблице в виде справочника) 3) значение свойства (или ссылка на значение свойства, сделаное в отдельной таблице в виде справочника) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 10:37 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Борис Бритвапроблема в том что заводить табличку с 400 столбцами, а заполнять в каждой строке по 10-20 полей оставляя остальными нулями не есть очень хорошо Чем это не есть очень хорошо? Борис Бритватем более что атрбиут может появится новый - в таком случае прийдется в DDL переделывать таблицу. а чем это плохо? В случаае EAV прийдется DML писать на вставку строки. Что так, что так, а запрос прийдется писать :) Борис Бритва Посмотрите инфу про EAV. EAV удобен при создании БД, но затем он превращается в головную боль, поскольку любые запросы превращаются в монстров. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 11:05 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Сергей ВаскецовПо сути, что кладовщики и бухгалтеры что-то куда-то в номенклатурном справочнике заносят - откровенно говоря бред, но допустим. Номенклатура одна и таже. А вот доп. свойства с каждой поставкой могут быть разные. Сергей Васкецов Бухгалтерия не может занести "цвет оплетки" или она вообще не видит такой параметр, как "цвет оплетки"? Бухгалтерия не видит цвета оплетки - этого нет ни в накладной, ни в сертификате, но зато по спецификации она видит завод изготовителя. Кладовщики видят товар фактически и видят цвет оплетки. А сертификаты к кладовщикам не поступают, остаются в бухгалтерии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 11:21 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Гост ьБорис Бритвапроблема в том что заводить табличку с 400 столбцами, а заполнять в каждой строке по 10-20 полей оставляя остальными нулями не есть очень хорошо Чем это не есть очень хорошо? трудночитабельностью информации Гост ьБорис Бритватем более что атрбиут может появится новый - в таком случае прийдется в DDL переделывать таблицу. а чем это плохо? В случаае EAV прийдется DML писать на вставку строки. Что так, что так, а запрос прийдется писать :) Такой вариант тоже подходит. Но если потом эту характеристику решите не использовать и удалить ее или переименовать ее, то строку в таблице проще совращать. Гост ьБорис Бритва Посмотрите инфу про EAV. EAV удобен при создании БД, но затем он превращается в головную боль, поскольку любые запросы превращаются в монстров. :) Вы правы, но с другой стороны запросы чтобы выбрать из 400 колонок только нужные в конкретной ситуации могут вызвать те же сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 12:04 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Гост ьБухгалтерия не видит цвета оплетки - этого нет ни в накладной, ни в сертификате, но зато по спецификации она видит завод изготовителя. Кладовщики видят товар фактически и видят цвет оплетки. А сертификаты к кладовщикам не поступают, остаются в бухгалтерии Вы уже сами себе ответили - надо сделать разные формы ввода/редактирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 13:55 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Борис Бритватрудночитабельностью информации Здесь вижу только одну сложность: поиск поля при модификации самого поля - да и это не сложность, если выполнять запрос в ручную, а не через визуальный редактор. Кстати, для этих типов таблиц можно создать свой виз.редактор. Для EAV его все равно прийдется создавать. При выборке и модификации значения атрибута проблем нет - поскольку интерусют же не все сразу, а конкретные поля. Борис Бритва Такой вариант тоже подходит. Но если потом эту характеристику решите не использовать и удалить ее или переименовать ее, то строку в таблице проще совращать. Удаление - плохая операция в БД :) Борис Бритва Вы правы, но с другой стороны запросы чтобы выбрать из 400 колонок только нужные в конкретной ситуации могут вызвать те же сложности. Не согласен. На формах при заполнении или в отчетах возможны ошибки: выбор не той колонки - но это не очень страшно, поскольку быстро выявляется при тестировании и моментально исправляется. А вот скорость работы запроса, да и его читабельность будет выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 14:11 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Гост ь, Удаление плохая, но если завели неправильно и надо коректно отменить транзакцию? С названием лоханулись или дублировали запись существующую. + другие экстренные случаи. Зачем же тогда вообще создавать много таблиц в бд если можно обойтись десятком для описания всего? =) В любом случае решение принимать Вам, я могу только посоветовать свою точку зрения, а переубеждать или склонять к ней не собирался ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 15:32 |
|
||
|
Разграничение реквизитов в документах между ролями
|
|||
|---|---|---|---|
|
#18+
Борис БритваУдаление плохая, но если завели неправильно и надо коректно отменить транзакцию? С названием лоханулись или дублировали запись существующую. + другие экстренные случаи. Ничего не удаляя апдейтом отправляем эти записи в историю. Так надежней - всегда можно восстановить и позволит всегда знать о фактах удаления. А также это даст аналитику: там где много "удалений" надо либо технологию ввода, либо оператора менять :) Борис Бритва Зачем же тогда вообще создавать много таблиц в бд если можно обойтись десятком для описания всего? =) В идеале для каждой сущности своя таблица. В данном случае, сущонсть одна: документ. И плодить лишние таблицы желания (да и необходимости - как понял) нет. Борис Бритва В любом случае решение принимать Вам, я могу только посоветовать свою точку зрения, а переубеждать или склонять к ней не собирался ) Спасибо Вам! Данная дискуссия позволила собрать мысли воедино и прийти к, надеюсь :), правильному решению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2009, 15:52 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36103992&tid=1543139]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
185ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 510ms |

| 0 / 0 |
