|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
В xls файлике максимально подробно (как смог) изложил суть вопроса. Вкратце: Группы набираются из таблиц Прайс1-3. Также группы могут быть набраны из других групп (кроме самих себя), см. "набор сантехника в носках". Получается древовидная структура спецификации, которую можно свернуть и наблюдать только группы, или развернуть и наблюдать только позиции из прайсов. Вопрос1: Как реализовать перебор для скорейшего получения развернутого списка? Вопрос2: Может есть метод организации подобной структуры половчее, чем я тут нарисовал? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 07:16 |
|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 07:21 |
|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
kefirkoВ xls файлике максимально подробно (как смог) изложил суть вопроса. Вкратце: ... Получается древовидная структура спецификации, которую можно свернуть и наблюдать только группы, или развернуть и наблюдать только позиции из прайсов. ... Вопрос1: Как реализовать перебор для скорейшего получения развернутого списка? ... Смотри рекурсивные запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 08:47 |
|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
kefirkoВопрос2: Может есть метод организации подобной структуры половчее, чем я тут нарисовал? вначале я подумала, что речь идет о Составе изделия(куда-что-сколько) но после просмотра ексельки засомневалась --обыкновенная накладная --справочник прайсы (кодП, наименование,мин партия,цена...) --таблица заказы(код1, дата, клиент(это ваша группа), который может заказать какие то части из прайса/ов), код скидки...) --таблица состав заказа(код2, код1, кодП,количество, текущая цена....) прайсы код1чтонаименование полноемин количценастоимость2прайс1панталоны р456301803прайс1панталоны р466402404прайс1плавки р 443501505прайс1плавки р 453501506прайс1плавки р 463501507прайс1плавки р 473601808прайс2гантели11001009прайс2гири110010010прайс2эспандеры120020011прайс2тренажеры12000200012прайс2т2110010013прайс2т3110010014прайс2т4110010015прайс2т5110010016прайс3пеленки121012017прайс3распашонки52010018прайс3подгузники20816019прайс3салфетки1202020прайс3крем1606021прайс3лосьон1505022прайс3с21505023прайс3с316060 ЗАКАЗЫ код1чтонаименованиедатасумма1прайс1на нижнее белье01.06.20182прайс2спортивные товары06.04.20183прайс3детские товары03.03.20184г1заказ для Иванова15.06.201828205г2заказ для Петрова15.06.20181260 СОСТАВ ЗАКАЗОВ КОД2код1чтонаименование полноемин количфакт колценастоимость14прайс1панталоны р446123036024прайс1панталоны р456123036034прайс1панталоны р46664024044прайс1плавки р 44365030084прайс2гантели1210020094прайс2гири13100300134прайс2т313100300164прайс3пеленки122410240174прайс3распашонки51020200184прайс3подгузники20408320242820255прайс1панталоны р4461230360265прайс1панталоны р4561230360275прайс1панталоны р466640240285прайс1плавки р 4436503001260 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 09:15 |
|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
kefirko, а можете объяснить ,что это? Для чего? Без технических подробностей: что происходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 09:40 |
|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
Озверин , ну представьте, что у вас есть какая-то номенклатура. Надо составить спецификацию изделия. В изделии есть составные элементы, которые всегда продаются клиенту пачкой, но в прайсе они разделены поэлементно и у поставщика они покупаются отдельно каждый. Условный пример: Штанга для одежды, длина 1м - продается у поставщика №1 Фланец для штанги - продается у поставщика №2 Подсветка для штанги - продается у поставщика №3 Популярный набор: Штанга + 2 фланца + подсветка При составлении спецификации изделия у менеджера (особенного новенького) голова лопнет, если он из прайсов поставщиков выбирать нужные позиции будет, большой риск косяка. Поэтому создается отдельная таблица, где собраны популярные наборы. Вот из них он и составляет спецификацию, в данном случае выбирает "Штанга + 2 фланца + подсветка" и всё. А вот закупщику эти наборы не нужны, ему нужен именно список номенклатуры, соответствующий прайсу поставщика. Вот и стоит задача менеджеру собрать популярными наборами, т.к. так быстрее, а закупщику спецуху выдать соответственно прайсам. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 10:10 |
|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
kefirko, я бы, наверное, сделал так: https://ibb.co/mdRcAJ Запрос бы вернул что-то такое: https://ibb.co/iaKSSy Сам запрос: Код: sql 1. 2. 3. 4. 5. 6.
Получается довольно сложная схема и довольно непростые запросы и организация данных - но вполне гибкая. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 12:04 |
|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
Озверин, немного описания. Не хватает справочника типов(Деталь, Материал, Прочее. Это можно организовать через доп справочник, если известно, что у элемента номенклатуры может быть два типа и более: Деталь+Прочее, а можно просто через иерархию в одном справочнике номенклатуры). measure_units - справочник единиц измерений sku - номенклатура - то, что закупается у поставщиков. (Типичный иерархический справочник, где parent_id - код папки, если элемент относится к папке. level_id - уровень вложения: 0, 1, 2. Пример: id name parent_id level_id1 Материалы 0 02 Сердечник M600 1 13 Провода 1 14 Провод МГТФ 3 2 Даст вложенную структуру типа: Материалы --Сердечник M600 --Провода ----Провод МГТФ semiproducts - полуфабрикаты(Такая же структура как и номенклатура). Некие названия наборов, которые могут состоять из других полуфабриктов и номенклатуры. semiproduct_sku - связь полуфабриката с номенклатурой. Здесь - только те полуфабрикаты, которые имеют связь исключительно с номенклатурой. semiproduct_semiproduct - связь полуфабриката с другими полуфабрикатами. Также присутствует level_id , чтобы понять уровень вложения полуфабрикатов друг в друга. Из минусов: если полуфабрикат может состоят из полуфабриката и номенклатуры, то либо запрос менять, либо вложить самого в себя, а потом связать с номенклатурой в semiproduct_sku Правда я не понял: Плата - покупается вместе с Текстолитом , к примеру? Если да, то в Номенклатуре вам придется иметь 2 позиции: Плата и Текстолит и в Справочнике полуфабрикатов назвать Готовая Плата ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 12:30 |
|
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
|
|||
---|---|---|---|
#18+
kefirkoВот и стоит задача менеджеру собрать популярными наборами, т.к. так быстрее, а закупщику спецуху выдать соответственно прайсам. это конечно ближе к Составу изделия+материалы ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 13:32 |
|
|
start [/forum/topic.php?fid=32&fpage=7&tid=1540032]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 248ms |
total: | 379ms |
0 / 0 |