|
|
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
Добрый день всем Существует задача комплектации, к примеру авто, и определения ее полной стоимости Суть в том что имеем стоимость стандартной комплектации путем подбора допоборудования считать стоимость авто. Но загвоздка в том, что не все просто складывается и получается сумма - окончательную сумму должен определить человек и не всегда в большую сторону, грубо говоря, на-глаз! Схема данных прилагается к рисунку Так вот в такой схеме получается что сначала создается авто, но сумму пока получить не удастся - нужно для этого чтобы был уже набран комплект допоборудования, но допоборудование можно набрать лишь после создания авто. Получается как-то неудобно - создаем авто, сохраняем, затем на закладке допоборудование добавляем допоборудование, потом возвращаемся к авто и только тогда формируем [Общая фактическая стоимость] !?? Поделитесь опытом, кто как решает такие задачи Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 05:15 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
sp , думаю что можно просто изменить термины. Ту сумму, что получается простым арифметическим сложением можно назвать "Просто суммой"... А уже от нее продавец определяет что предложить покупателю... Её назовем "Предлагаемая цена". Ну а потом идет торг... И рождается окончательная "Цена товара". Т.е. три цывры могут решить твоюю проблему. Да и "историю" продажи т.о. можно будет посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 08:23 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
krvsa sp , думаю что можно просто изменить термины. Ту сумму, что получается простым арифметическим сложением можно назвать "Просто суммой"... А уже от нее продавец определяет что предложить покупателю... Её назовем "Предлагаемая цена". Ну а потом идет торг... И рождается окончательная "Цена товара". Т.е. три цывры могут решить твоюю проблему. Да и "историю" продажи т.о. можно будет посмотреть. да вопрос был не о цене а о том что нельзя до конца оформить запись об авто пока не создаш записи о допоборудовании, а допоборудование нельзя создать ранее чем запись об авто - и это переключение мне кажется и не логичным и непроизводительным, но как сделать более оптимально - яне знаю, поэтому и прошу совета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 08:52 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
sp, Нужна третья таблица ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 09:31 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
Сахаватsp, Нужна третья таблица и как это будет выглядеть? как изменится алгоритм работы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:06 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
spи как это будет выглядеть? Как вариант... Акт торговлиКодКод стандартной комплектацииДата Код сотрудника Выбраные опцииКодКод акта торговлиКод опции spкак изменится алгоритм работы? Создаёшь "Акт торговли", путем выбирания того или иного типа "стандартной комплектации"... Потом к этому "акту" начинаешь выбирать опции... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:59 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
sp , т.е. две новые таблицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:00 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
sp...а о том что нельзя до конца оформить запись об авто пока не создаш записи о допоборудовании Что значит "до конца оформить запись"? В вашей структуре, строку в таблице "Авто" создать можно. spа допоборудование нельзя создать ранее чем запись об авто - и это переключение мне кажется и не логичным и непроизводительным Да уж! Как это вы собираетесь "создавать" допоборудование? Что, его перечень не известен заранее? Если я правильно понял задачу, вам нужна таблица с базовыми комплектациями и их ценами, таблица с перечнем допов и их ценами и, таблица-связка базовых комплектаций и допов под конкретный заказ, по которой и вычисляется стоимость авто. Поэтому вам и пишут про 3-ю таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:15 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
baracs Как это вы собираетесь "создавать" допоборудование? Что, его перечень не известен заранее? Ну это Вы к словам придираетесь - я думаю что понятно что речь идет о создании записи о допоборудовании baracs Если я правильно понял задачу, вам нужна таблица с базовыми комплектациями и их ценами, таблица с перечнем допов и их ценами и, таблица-связка базовых комплектаций и допов под конкретный заказ, по которой и вычисляется стоимость авто. Поэтому вам и пишут про 3-ю таблицу. Ну и что она решает - всеравно надосначала создать запись в 3й таблице со ссылкой на авто, а затем переключаться на форму с гридом по допоборудованию - так как отношение один-ко многим и затем вернувшись назад корректировать общую стоимость! Добавился еще один маленький гемморойчик в виде 3й таблицы, но в общем все как было так и осталось :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 14:44 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
spbaracs Как это вы собираетесь "создавать" допоборудование? Что, его перечень не известен заранее? Ну это Вы к словам придираетесь - я думаю что понятно что речь идет о создании записи о допоборудовании Ага, это вы для каждого комплектуемого авто будете вставлять в табличку "Доп оборудование" марку, модель и стоимость допа? Вы про нормализацию что-нибудь слышали? spНу и что она решает - всеравно надосначала создать запись в 3й таблице со ссылкой на авто, а затем переключаться на форму с гридом по допоборудованию - так как отношение один-ко многим и затем вернувшись назад корректировать общую стоимость! В структуре, которую я описал, "таблица с базовыми комплектациями" и "таблица с перечнем допов" - это справочники, в которые, при комплектовании авто, ничего не вставляется. А в таблицу-связку, на каждую позицию допоборудования вставляется строка с ID заказа (или другого документа, на основании которого производятся все эти манипуляции), ID базовой комплектации и ID самого допа. А ваша форма по этим ID подтягивает цены, наименования, марки и т.д. И показывает все это в гриде, а в "итоге" считает "общую стоимость". А стимость, которую корректирует человек, надо хранить, как атрибут документа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 16:16 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
baracsКак это вы собираетесь "создавать" допоборудование? Что, его перечень не известен заранее? Естественно, как доп оборудование может быть известно до того как его начнут комплектовать? baracs В структуре, которую я описал, "таблица с базовыми комплектациями" и "таблица с перечнем допов" - это справочники, в которые, при комплектовании авто, ничего не вставляется. А в таблицу-связку, на каждую позицию допоборудования вставляется строка с ID заказа (или другого документа, на основании которого производятся все эти манипуляции), ID базовой комплектации и ID самого допа. А ваша форма по этим ID подтягивает цены, наименования, марки и т.д. И показывает все это в гриде, а в "итоге" считает "общую стоимость". А стимость, которую корректирует человек, надо хранить, как атрибут документа. Т.е. при Вашем знании нормализации Вы считаете возможным формирование абстрактной комплектации доп оборудования в отрыве от авто??? мне кажется Вы неверно понимаете нормализацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 21:53 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
sp, по простому. создаете: - 1. справочник автомобилей - 2. справочник элементов комплектации (которые формируют сущность автомобиля) - 3. справочник базовых элементов комплектации каждого автомобиля - 4. рабочая таблица заказаных авто - 5. рабочая таблица комплектации авто потом пишете простой триггер AFTER INSERT на рабочую таблицу заказаных авто где по ID выбранного авто формируете рабочую таблицу комплектации авто из справочника базовых элементов комплектации каждого автомобиля P.S. замечание Вам по поводу нормализации дано правильно. P.S. а почему вы не хотите добавить лишних пару таблиц ... ? Это ведь не всегда плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 00:44 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
Степан H.sp, создаете: - 1. справочник автомобилей - 2. справочник элементов комплектации (которые формируют сущность автомобиля) - 3. справочник базовых элементов комплектации каждого автомобиля - 4. рабочая таблица заказаных авто - 5. рабочая таблица комплектации авто потом пишете простой триггер AFTER INSERT на рабочую таблицу заказаных авто где по ID выбранного авто формируете рабочую таблицу комплектации авто из справочника базовых элементов комплектации каждого автомобиля Прошу прощения, но Ваше решение не только не упрощает, но и сильно усложняет бизнес процесс :( Пример с автомобилем я привел для понимания проблемы в целом - когда сам документ не считается окончательно оформленным до тех пор пока не заполнена таблица с параметрами документа, а после заполнения таблицы параметров документ еще необходимо корректировать, при этом никаких заранее известных куч параметров не предусматривается. Я же написал что вопрос риторический, а не касающийся конкретного примера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 10:46 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
А введите просто поле "Статус" в таблицу Авто 1) выбрали авто, добавили строка в Авто статус "на комплектации", общие суммы пока неизвестны 2) добавили записи в Доп.оборудование, нажали кнопку ОК статус "скомплектовано" триггер посчитал арифметическую сумму 3) продажник ввёл свою сумму, нажал "Готово" все поля заполнены, ставим статус "готово к продаже" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 11:17 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
sp ... Получается как-то неудобно - создаем авто, сохраняем , затем на закладке допоборудование добавляем допоборудование, потом возвращаемся к авто и только тогда формируем [Общая фактическая стоимость] !?? ... Проблема не в структуре БД, проблема идеологическая . Какая есть необходимость сохранять объект до того, как определен весь набор реквизитов объекта (считая табличную часть за отдельный реквизит)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 11:18 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
Sp, какие проблемы сохранить все в одной транзакции после проверок и пересчетов сумм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 11:58 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
astonПроблема не в структуре БД, проблема идеологическая . Какая есть необходимость сохранять объект до того, как определен весь набор реквизитов объекта (считая табличную часть за отдельный реквизит)? ну так дойдет до хранения в памяти более сложных схем и нарушении целостности базы, черезмерном усложнении клиента, потере большой работы юзера в случае ошибок и изобретении веселопеда в генерации какимто образом ключей для родительских записей - в общем случае прийдется изобретать большой веселопед сопоставимый по сложности с разработкой инфори системы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 00:01 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
Какие надо схемы в памяти хранить, такие и храните. Вы программист - вот и решайте ваши сложности (в данном случае - мифические). Системы работают для людей. Не надо переносить всю муть структуры БД, которая проектируется для хранения данных на уровень взаимодействия с пользователем ( ввода данных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 05:38 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
spastonПроблема не в структуре БД, проблема идеологическая . Какая есть необходимость сохранять объект до того, как определен весь набор реквизитов объекта (считая табличную часть за отдельный реквизит)? ну так дойдет до хранения в памяти более сложных схем и нарушении целостности базы, черезмерном усложнении клиента, потере большой работы юзера в случае ошибок и изобретении веселопеда в генерации какимто образом ключей для родительских записей - в общем случае прийдется изобретать большой веселопед сопоставимый по сложности с разработкой инфори системы ПОдобные велосипеды давно существуют и с ними подобный топик создавать не пришлось бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 15:28 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
spbaracsКак это вы собираетесь "создавать" допоборудование? Что, его перечень не известен заранее? Естественно, как доп оборудование может быть известно до того как его начнут комплектовать? А как можно комплектовать неизвестно чем? spbaracsВ структуре, которую я описал, "таблица с базовыми комплектациями" и "таблица с перечнем допов" - это справочники, в которые, при комплектовании авто, ничего не вставляется. А в таблицу-связку, на каждую позицию допоборудования вставляется строка с ID заказа (или другого документа, на основании которого производятся все эти манипуляции), ID базовой комплектации и ID самого допа. А ваша форма по этим ID подтягивает цены, наименования, марки и т.д. И показывает все это в гриде, а в "итоге" считает "общую стоимость". А стимость, которую корректирует человек, надо хранить, как атрибут документа. Т.е. при Вашем знании нормализации Вы считаете возможным формирование абстрактной комплектации доп оборудования в отрыве от авто??? мне кажется Вы неверно понимаете нормализацию Я считаю возможным (и даже, необходимым) существование перечня (справочника) доступного, в настоящий момент, допоборудования, из которого оно выбирается для комплектования конкретного авто (или что у вас там). З.Ы. На ПТ в таких случаях пишут "Тролль детектед!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 17:52 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
baracsЗ.Ы. На ПТ в таких случаях пишут "Тролль детектед!" Ну так дело понятное - оскорблять это все умеют как два пальца об асвальт, а никак нельзя без этого!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 00:48 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
spНу так дело понятное - оскорблять это все умеют как два пальца об асвальт, а никак нельзя без этого!? А никак нельзя корректно описать проблему, без таких, вот spЯ же написал что вопрос риторический, а не касающийся конкретного примера пассажей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 14:05 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
baracsА никак нельзя корректно описать проблему, без таких, вот spЯ же написал что вопрос риторический, а не касающийся конкретного примера пассажей? Ну тут я вынужден такой оборот применить, потому что все кинулись обсуждать конкретный пример. Скажите как эту мысль можно былобы донести корректней с вашей точки зрения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2009, 08:10 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
spНу тут я вынужден такой оборот применить, потому что все кинулись обсуждать конкретный пример. Естественно, стали обсуждать ту структуру БД, которую вы показали. Форум-то - про проектирование БД spСкажите как эту мысль можно былобы донести корректней с вашей точки зрения ? Какую мысль-то? Я как-то совсем потерял нить: что вы хотите сделать и, что вам мешает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2009, 15:03 |
|
||
|
Риторический вопрос про курицу и яйцо
|
|||
|---|---|---|---|
|
#18+
sp, Странно все это. Зачет 2 таблицы? Если первая справочник, то все понятно. Нам создают запись админ, когда добавляет новы й тип авто. Вторая таблица - та, за которая формирует комплектацию, за которую клиент платит. Из первой таблицы данные только выбирают, туда не пишут, когда формируюит комлектацию. Это в голове "муравьев" надо гнать в нужную сторону. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2009, 14:05 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36335928&tid=1542953]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
146ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 447ms |

| 0 / 0 |
