|
|
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000начали вы с "важность заявки", а кончили "важность заказанного товара"... За срочность - нет никакой наценки? То есть если сделали простую заявку на 5 HDD по 100$ и её "закрыли", а потом передумали и решили, что один надо срочно, пусть и за 120$, задним числом менять плановую стоимость заявки? А если стоимость не меняется - просто добавте "желаемая дата поставки" в таблице заказанных товаров... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 11:31 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000А что будет в другой таблице? Будет новая заявка: 2 диска важность "срочно" на замену заявки "от 6.09.2007" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 11:32 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000Не-е-е. Заявку расщеплять нельзя. Это документ, он уже сформирован, подписан, и находится в закрытом периоде. С другой стороны, если необходимо именно так -- вносим дополнительную проверку. Если заявка в закрытом периоде, то или просто запрещаем ее редактирование в интерфейсе прикладной программы, или делаем эту проверку в триггере. А если заявку редактировать можно (она в работе, а не в прошлом периоде и не исполнена) -- разрешаем прикладной программе это действие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 11:33 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Когда я занимался подобной штукой, у нас было так (может каких деталей и не упомню но общий дух такой): *после создания заявки она утвердалась (был набор галочек) *утвержденные заявки просматривались работником отдела закупок, по ним формировалась закупка в результате чего возникали записи о сопоставлении заявок и закупок *по мере разноски закупок строки заявки считались выполненными Таким образом у строк заявки был свой жизненный цикл отличный от заявки в целом По поводу приоритета. Можно сделать так: добавить в строку заявки поле "приоритет" типа float и сделать интерфейс где будет список незакрытых заявок и кнопки "вверх" и "вниз". При нажатии на "вверх" у выделенных строк будет меняться приоритет так, чтобы они встали перед предыдузей строкой; "вниз" - аналогично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 11:39 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Владимир П. Просто столбец таблицы. Почему не устраивает такое решение? Что важность может меняться? Ну так записи ведь редактируемые; а не так: один раз завёл, и всё, капец, больше ничего менять в заявке нельзя. Менять можно. Но для важности надо хранить историю изменений. Владимир П. В таком случае вы сами себе -- причём организационно, а не технически -- заблокировали возможность вносить правки в заявки. Тут уж проблема делопроизводства, а не проектирования структуры. Это вообще нормальная практика, когда докумнеты прошлых периодов запрещены на редактирование. А при необходимости их изменений делаются всякие там сторно и т.д. Как счета-фактуры. А в моей задаче изменение требуется вносить не в саму заявку, а в ее важность. Важность вообще в заявке при первоначальном вводе можно не указывать. А вводить отдельным докумнетом. Типа "установка приоритетов закупок" или "утверждение плана закупок". Владимир П. И почему в закрытый период попала неисполненная заявка? А почему бы и нет? Два месяца назад сделали заявку. Важность у нее очень низкая - необходимо приобрести товар в течение года. И прошлый период закрыли. Никакого криминала. Владимир П. Очень плохо. Чем по сути исходные заявки отличаются от расщеплённых? Ничем: и то, и то -- завки. Поэтому быть им в одной таблице. Историю и взаимоотношение заявок можно организовать через дополнительное поле -- назовите его "Основание" или "Предыдущая версия заявки". Это поле -- ссылка на другую запись в этой же таблице (древовидная структура). Если NULL -- это первоначальная заявка. Если номер заявки -- значит заявка с этим самым номером есть предыдущая версия данной заявки. Разница в том, что получается для исходной заявки важность вообще можно не хранить. А для расщепленных - она обязательно присутсвует. Но в общем-то ваш вариант стоит обдумать му-му начали вы с "важность заявки", а кончили "важность заказанного товара"... За срочность - нет никакой наценки? То есть если сделали простую заявку на 5 HDD по 100$ и её "закрыли", а потом передумали и решили, что один надо срочно, пусть и за 120$, задним числом менять плановую стоимость заявки? А если стоимость не меняется - просто добавте "желаемая дата поставки" в таблице заказанных товаров... Ну да. Получается что общая постановка задачи немного уточняется. Про изменение плановой стоимости - не думали. Да вообще пока в поставленной задаче для заявок цены не имеют значения. Про изменение жедаемой даты поставки: добавить новое поле в таблицу и его менять - это дело несложное. В общем структуру БД обрисуйте. Заявки, заявленные товары, желаемая дата поставки (с учетом истории изменения). Чтобы между ними были связи. мод Будет новая заявка: 2 диска важность "срочно" на замену заявки "от 6.09.2007" А про 3 диска где будет запись? А если потом еще раз поменчется важность? Например на 4 диска поставим важность "срочно", а на оставшийся 1 важность "не очень срочно"? И потом понадобится определить текущую важность товаров, вы представляете как этот отчет собрать? Пересчитывать все движения: 5 = 3 + 2 = 4 + 1? belugin Когда я занимался подобной штукой, у нас было так (может каких деталей и не упомню но общий дух такой): *после создания заявки она утвердалась (был набор галочек) *утвержденные заявки просматривались работником отдела закупок, по ним формировалась закупка в результате чего возникали записи о сопоставлении заявок и закупок *по мере разноски закупок строки заявки считались выполненными Таким образом у строк заявки был свой жизненный цикл отличный от заявки в целом По поводу приоритета. Можно сделать так: добавить в строку заявки поле "приоритет" типа float и сделать интерфейс где будет список незакрытых заявок и кнопки "вверх" и "вниз". При нажатии на "вверх" у выделенных строк будет меняться приоритет так, чтобы они встали перед предыдузей строкой; "вниз" - аналогично. Да у меня проблема-то не в том как интерфейс сделать. И по сопоставлении закупок с заявками тоже не стоит вопрос. Проблема разработать структуру базы, чтобы можно было хранить требуемые мне данные: заявки, товары по этим заявкам, количество и важность. Причем важность должна храниться с историей изменения. Причем на часть заявленного товара может быть одна важность, а на остаток - другая. Вот и все. Одной таблицей заявок тут не обойтись. А интерфейс потом нарисуем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 13:19 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Я не могу понять одного: представим, что нет ни баз данных, ни компьютеров. Только бумаги. Сформирована заявка на 5 дисков, важность низкая. Подписана, отдана. Потом полетел винт, и один диск стал нужен срочно. Каков документооборот в этом случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 13:35 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherЯ не могу понять одного: представим, что нет ни баз данных, ни компьютеров. Только бумаги. Сформирована заявка на 5 дисков, важность низкая. Подписана, отдана. Потом полетел винт, и один диск стал нужен срочно. Каков документооборот в этом случае? Интересный вопрос. Щас подумаем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 13:37 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
просто позвонили и сказали "а можно побысрее?"... ваще ни какого документооборота... и бизнесс-логика-бардак пытаемси решить за счёт компутеразации... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 13:38 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000Менять можно. Но для важности надо хранить историю изменений. Тогда двумя таблицами: 1. Таблица "Заявки", первичный ключ "Номер заявки"; 2. Таблица "Важности", первичный ключ составной: "Номер заявки", "Дата назначения важности" и неключевое поле "Важность". Тогда текущая важность -- запись с максимальной датой. Если очень хочется, можно иметь поле "Текущий статус" в таблице "Заявки". es3000Разница в том, что получается для исходной заявки важность вообще можно не хранить NULL-значения (а также DEFAULT) никто не отменял. Не нужна для заявки важность -- оставьте ее незаполненной. мод Будет новая заявка: 2 диска важность "срочно" на замену заявки "от 6.09.2007" es3000А про 3 диска где будет запись? Или поправлена исходная заявка. Или в новой заявке, вот так: Код: plaintext 1. 2. 3. 4. 5. В последнем случае, поскольку для заявки № 1 сущесвуют порожденные заявки, № 1 считается недействующей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 13:48 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Владимир П. es3000Менять можно. Но для важности надо хранить историю изменений. Тогда двумя таблицами: тремя как минимум (вообще 4-мя) сама заявка строка заявки степень срочности история изменений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 13:56 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherЯ не могу понять одного: представим, что нет ни баз данных, ни компьютеров. Только бумаги. Сформирована заявка на 5 дисков, важность низкая. Подписана, отдана. Потом полетел винт, и один диск стал нужен срочно. Каков документооборот в этом случае? Например, в произволном виде пишем служебную записку: "просим приобрести 1 диск по заявке №111 очень срочно всвязи с выходом из строя!" Важность может быть не связана с заявкой и может устанавливаться отдельным документом. При составленнтии новго плана закупок эта важность учтется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:01 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
BULK INSERT тремя как минимум (вообще 4-мя) сама заявка строка заявки степень срочности история изменений Нет, максимум двумя. 1. Сама заявка. Строки заявки -- нет такого понятия. В одной заявке вещь только одного наименования. 2. История. В зависимости от того, нужна история только важностей или история всей заявки, то и храним. Если храним историю заявок, то важность -- один из атрибутов заявки; он входит в саму заявку, а не в отдельную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:02 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Владимир П. es3000Менять можно. Но для важности надо хранить историю изменений. es3000А про 3 диска где будет запись? Или поправлена исходная заявка. Или в новой заявке, вот так: Код: plaintext 1. 2. 3. 4. 5. В последнем случае, поскольку для заявки № 1 сущесвуют порожденные заявки, № 1 считается недействующей. А если опять меняется важность? Например 1 диск нужен срочно, а 4 - не очень. Какие добавятся запсис в таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:03 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Владимир П. BULK INSERT тремя как минимум (вообще 4-мя) сама заявка строка заявки степень срочности история изменений Нет, максимум двумя. 1. Сама заявка. Строки заявки -- нет такого понятия. В одной заявке вещь только одного наименования. 2. История. В зависимости от того, нужна история только важностей или история всей заявки, то и храним. Если храним историю заявок, то важность -- один из атрибутов заявки; он входит в саму заявку, а не в отдельную таблицу. Вы нигде не учли количество товара и его важность. Посмотрите как в последнем примере. Сначала нужно 5 дисков, потом 2 срочно и 3 не очень, пототм 1 срочно и 4 не очень. Как это вписывается в вашу структуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:05 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Ошибся :) Последний ответ для BULK INSERT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:07 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000 Владимир П. Код: plaintext 1. 2. 3. 4. 5. В последнем случае, поскольку для заявки № 1 сущесвуют порожденные заявки, № 1 считается недействующей. А если опять меняется важность? Например 1 диск нужен срочно, а 4 - не очень. Какие добавятся запсис в таблицу? Поправили количества в обоих заявках. И таблица стала выглядеть так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:07 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Владимир П. Может в последних двух строках всет-таки сослаться на первый варинат заявки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:11 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
Или так (делим 3-ю заявку: из 2 важных 1 остается важной, 1 становится простой): Код: plaintext 1. 2. 3. 4. 5. 6. 7. Но на фига? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:11 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000Может в последних двух строках всет-таки сослаться на первый варинат заявки? Нет, потому что эти заявки порождаются не из исходной, а из исправленных вариантов. Иначе возникает бяка: заявки 2 и 3 не имеют порожденных, и потому считаются действующими. И тут вдруг добавляются еще две (возникшие из устаревшего, а потому отмененного, варианта, что не правильно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:18 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000Ошибся :) Последний ответ для BULK INSERT количество товара и его важность отмечается как раз в строке заявки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:46 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000 stiЧестно говоря, так и не понял смысла введения вашей "Важности". Смысл в удобстве работников отдела снабжения и планирования. Есть 1000 заявок в общей сложности на 10000 единиц товаров и на сумму 1.000.000 руб. Купить все сразу невозможно. Возникает вопрос что купить в первую очередь? Распределить покупки по времени например в течение 3 месяцев. Для этого и нужна важность. Работник формирует список всех заявленных товаров , отсортировав его по важности. Потом обсуждает с заявителями (обычно это начальники других отделов) установленную ими важность, возможно ее корректирует, формирует окончательный список. Отбирает верхние например 10 позиций и начинает закупать. Через неделю процесс повторяется. Вот. Механизм работы такой, а вот структура БД неясна :(Не прояснилось. "Работник" это кто? Тот, который создает заявки или тот, который принимает решение о закупке? По-моему, у вас у самих нет ясного представления, как это должно работать. Практически же ввести более трех ступеней важности нереально, а значит разобъется ваше множество из 10000 единиц на три части. Куча работы, все при деле, а эффекта - ноль. У меня у самого есть "очередь", которая формируется на основе "важности". Дак там реально более двух ступеней не используется, хотя предусмотрено 5. Дак там хоть все автоматически формируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:48 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
А как предполагается использовать историю важности? Кто будет ее смотреть и с какой целью? В моем случае была не одна таблица, а две - заявка и строки заявки. Суть заявки была в том, что объединенные в ней строки вместе утверждались и заявка обладала номером (т.е. с точки зрения пользователя это был аналог бумажного документа). В строке был код номеклатуры, единицы измерения, количество, количество исходное (в случае, если заявку урезали они отличались) Мне кажется, стоит сделать так: при изменении важности создавать новую заявку с измененными строками, в ней ссылаться на прежнюю заявку (и ее строки, если надо). А измененные строки старой заявки помечать как неактивные. То есть добавляется новый подвид заявки "Изменение важности", жизненный цикл которой можно отслеживать так же как и у обычной заявки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:55 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
proposed amendmentколичество товара и его важность отмечается как раз в строке заявки... Я уже устал объяснять, что важность может быть установлена позже чем создана сама заявка. И может быть потом изменена. И надо хранить историю этих изменений - поэтому в строке заявки вряд ли получится хранить важность. Или использовать механизм , который предложил Владимир П.: использовать измененные строки заявки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:59 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
stiНе прояснилось. "Работник" это кто? Тот, который создает заявки или тот, который принимает решение о закупке? По-моему, у вас у самих нет ясного представления, как это должно работать. Практически же ввести более трех ступеней важности нереально, а значит разобъется ваше множество из 10000 единиц на три части. Куча работы, все при деле, а эффекта - ноль. У меня у самого есть "очередь", которая формируется на основе "важности". Дак там реально более двух ступеней не используется, хотя предусмотрено 5. Дак там хоть все автоматически формируется. Работник - это общее понятие. Один работник создает заявку, другой ставит ей приоритет, утверждает, тритий выполняет закупки по плану закупок. В принципе для структуры БД неважно кто такой работник. Это организационное понятие. Насчет количества ступеней важности. Я про количество ступеней ничего не говорил. Пусть будет 5, пусть будет 2, пока не важно. Вообще я это поле планирую сделать числовым. Чем выше число тем выше важность. Будут использовать только два значения - да пожалуйста. Это на суть задачи не влияет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 15:05 |
|
||
|
Как сделать структуру базы для хранения важности заявки
|
|||
|---|---|---|---|
|
#18+
es3000Я уже устал объяснять. ну так сядь, отдохни и не напрягайся... в моем предоложении небыло ничего, что противоречило бы ТЗ... нужно установить важность - устанавливаешь, нужно поменять меняешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 15:16 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34784461&tid=1544304]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 394ms |

| 0 / 0 |
