powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Архитектура базы
90 сообщений из 90, показаны все 4 страниц
Архитектура базы
    #39857733
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компания выпускает ИЗДЕЛИЯ.
ИЗДЕЛИЕ состоит из большого числа компонентов - 10000-15000
Туда входят сборочные единицы(производства компании) - уровень вложенности до 10-12, детали и покупные изделия
Сборочные единицы 50% разрабатываются заново для каждого изделия, 50% берутся из ранее разработанных.
Сейчас организовано так
Таблица MAIN - сборочные единицы и детали в неструктурированном порядке - типа общий каталог
Таблица MAIN1 - описание конкретных ИЗДЕЛИЙ, где содержится точная информация о составе(дереве) ИЗДЕЛИЯ с его полной структурой.
связь по id компонента
Пока это было только для технологов - это работало норм. Сейчас планируется расширение функций и подключение к базе с таблицами конструкторского отдела. Они будут работать не в Аксе, а через VBA модуль в программе CATIA
ВОПРОС - Как организовать правильное (оптимальное) использование сборочных единиц разработанных ранее в новых проектах.
Примечание 1- уникальность состава сборочной единицы естественно обеспечивается, при изменении состава единицы хоть на 1 винт - это уже новая сборочная единица.
вижу 2 варианта
1) получать данные о структуре сборки из табл MAIN1(брать из какого-то уже выполненного изделия) и при необходимости копировать их в новый проект.
2) создать промежуточную таблицу, связанную с MAIN, и содержащую информацию о составе сборочных единиц
Примечание 2 Хранить точную структуру сборочных единиц в MAIN(общем каталоге) не представляется возможным, так как одна и та же сборочная единица может входить в десятки или сотни вышестоящих сборочных единиц с разным уровнем вложенности.
Вопрос локальный, я полагаю что не стоит идти сильно вглубь и вширь всей базы.....
...
Рейтинг: 0 / 0
Архитектура базы
    #39857738
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,

Однозначного ответа вы не получите.
Ту столько копий сломано на счет (сборок, уровней вложенности, EVA, древовидные структуры, Тенцер)
Поиском по всему сайту вы это несомненно найдете.
...
Рейтинг: 0 / 0
Архитектура базы
    #39857742
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIОднозначного ответа вы не получите.

Да его и не существует наверное, однозначного-то...
Ну хоть какой-нибудь бы
...
Рейтинг: 0 / 0
Архитектура базы
    #39857751
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока склоняюсь к доп таблице со структурой сборок.....
В модуле технологов вообще ничего менять не придется, а поддерживать уникальность состава сборки так ИМХО проще и надежней....
...
Рейтинг: 0 / 0
Архитектура базы
    #39859873
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давным-давно работал на заводе и занимался этим делом.
Работал тогда инженером-конструктором в ОГК.
Есть такие вещи, как спецификации. На основе их разрабатываются производственные описи (ПО), ведомость покупных (ВП), ведомость документов (ВД) и ведомость метизов (крепежа) не помню обозначение, материалы 9так же не помню как обозначалась)
Помню была таблица наименований - код детали, сборки, метиза, покупного изделия и т.п - название (ну и дополнительные поля были: вес, материал и т.п)
Была таблица Состав : код сборки, код входящей детали, количество деталей.
Вот на основе этих таблиц Всё и получали. Очень полезная вещь. Шла как в отдел кооперации, так и в отдел комплектации, к технологам, мастерам в цеха, на склады и т.д.
Всё это было реализовано ещё на ЕС ЭВМ. Потом был разработана программа ЦКС (центральный комплектовочный склад) уже на СМ ЭВМ, куда загружали данные с ЕС. Всё работало чётко, пока не наступили 90-е. Потом ушёл с завода.
...
Рейтинг: 0 / 0
Архитектура базы
    #39859916
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311Компания выпускает ИЗДЕЛИЯ.
ИЗДЕЛИЕ состоит из большого числа компонентов - 10000-15000
Туда входят сборочные единицы(производства компании) - уровень вложенности до 10-12, детали и покупные изделия
Сборочные единицы 50% разрабатываются заново для каждого изделия, 50% берутся из ранее разработанных.
...
Примечание 2 Хранить точную структуру сборочных единиц в MAIN(общем каталоге) не представляется возможным, так как одна и та же сборочная единица может входить в десятки или сотни вышестоящих сборочных единиц с разным уровнем вложенности.
...

Так понимаю, чтото вроде версионирования документов придётся прикручивать - т.е. хранить всю структуру Сборочных единиц (СЕ), а не только дерево разузловки Изделий на всю глубину. Т.к. с Конструкторами наверняка появятся статусные схемы СЕ (рабочая редакция, на согласовании, прошла техсовет, утверждена и проч.).
...
Рейтинг: 0 / 0
Архитектура базы
    #39860067
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,

Как то всё сумбурно и не очень понятно, но вырисовывается алгоритм типа такого (низ/верх):
1. Анализируем существующие MAIN на предмет их достаточности для сборки нового проекта.
Если не хватает, создаем (возможно и на основе уже существующих) недостающие (новые) MAIN.
2. Ищем в MAIN1 наиболее подходящий старый проект с совпадением по MAIN по максимуму.
3. На его основе создаем новый MAIN1, выбрасываем из него ненужные MAIN и добавляем недостающие MAIN.

Если уж новый проект совсем не похож на старые или есть возможность улучшить технологии, его можно собрать с нуля из MAIN, при условии что п.1 уже выполнен.

Мдя... какой вопрос, такой и ответ...
...
Рейтинг: 0 / 0
Архитектура базы
    #39860082
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже тут главное понять, что ТС подразумевает под словечками - Уровень вложенности 10-12.
Хоть бы пукнул показал или поподробнее расписал как это выглядит в натуре,
Это 10-12 табличек для описания изделия, типа:
ВидИзделия
МаркаИзделия
МодельИзделия
РазмерИзделия
ФасонИзделия
ЦветИзделия
...
Далее что то не хватает воображения.


или это всего типа 2 таблицы
Изделие
ПодчинённоеИзделие

Хотя довольно прикольно читать, как ТС не может внятно объяснить, а помогальщики не могут внятно подсказать.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860084
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛапухХотя довольно прикольно читать, как ТС не может внятно объяснить, а помогальщики не могут внятно подсказать.

Ну кому непонятно..... тот может и не отвечать
Вот Jossу, Idfanatу, vmagу точно все понятно и их ответы-советы все по существу)
...
Рейтинг: 0 / 0
Архитектура базы
    #39860091
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311...и их ответы-советы все по существу...
И что же вы поняли существенного по существу?
Может я тоже так хочу, типа научиться видеть суть вещей, но чёй та не пойму чего вы поняли и чего вам подсказали существенного.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860093
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311Пока склоняюсь к доп таблице со структурой сборок.....
В модуле технологов вообще ничего менять не придется, а поддерживать уникальность состава сборки так ИМХО проще и надежней....

Так сделайте табличку со внутренней иерархией на любую глубину. Ближайший аналог SAP ТОРО - там любое сложное изделие (ну например турбоагрегат) разузловывается в виде дерева Технических мест и подчинённых им Единиц оборудования на любую глубину. Теоретически можно до последней гайки и шайбы - но такое не всегда нужно в эксплуатации, поэтому бывает разузловывают какраз до блочных заменяемых Изделий. А сбоку join-ом ваши нынешние таблицы. Избыточность только добавит надёжности, раз у вас там настолько сложное производство.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860096
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слегка сумбурно просто потому, что на данный момент в конторе нет четкой концепции документооборота, на данный момент ее просто никакой нет, и я собственно ее и создаю сейчас.
В планах стоит создавать электронную структуру изделий, хранить ее в базе данных и работать в дальнейшем с ней. Чертежи - что бумажные, что файлами .CATDrawing - совсем отдельная история, с кучей своих заморочек, и поэтому сейчас я рассматриваю только 3D модели сборок и самих деталей. Понимаю, что есть хороший выход - купить готовую PLM(PDM) и внедрить ее. На то что бы так не поступать есть множество причин, и они все не относятся к данной теме.
И собственно я колеблюсь между 2-мя направлениями
1) Изменения в сборке(единице номенклатуры с уникальным номером) не допускаются, при необходимости внести изменения создается новая сборка со своим номером(номером версии). Естественно присутствует процедура согласования/информирования всех необходимых лиц. После выполнения проекта все не вошедшие в него промежуточные версии сборки ( по желанию конструкторского отдела) выводятся из номенклатуры и файлы удаляются. История внесения изменений хранится в базе в текстовом виде.
В этом случае отдельная таблица со структурой сборок не нужна- можно найти структуру выбранной сборки в таблице с реализованными проектами и использовать ее. Еще плюс - на каждую сборку в номенклатуре обязательно есть свой единственный файл .CATProduct, точно ее описывающий, вся архитектура сборки хранится не только в базе, но и в этом файле.
Минус - даже если убрать или добавить 1 шайбу - требуется создать новый файл головной сборки. Но это легко реализуется программными методами из базы.
2) Изменения в сборке допускаются, структура основной сборки хранится в отдельной таблице - допустим SBORKI. Каждое изменение оформляется/согласовывается и хранится с указанием его применяемости. Именно так и был организован старый советский документооборот. Но так было сделано ИМХО потому, что основой был бумажный чертеж. Создать компьютерный документ, описывающий структуру сборки (типа файла .CATProduct) тогда просто не было возможности.
При этом у нас теряется уникальность файла сборки-нельзя открыть структуру из SBORKI и использовать ее. Надо обязательно поднимать всю историю изменений по всему дереву сборки. Избежать создания нового файла сборки все равно не получается, придется хранить и файл со структурой основной сборки, и файлы с реальной структурой, реализованной в проектах. Рано или поздно, когда изменений будет больше какого-т количества, все равно придется создать новую основную сборку и хранить и ее файл.
В общем я пока не определился.....
несколько дней назад думалось про создание доп таблицы SBORKI
на данный момент склоняюсь к варианту по п1, без нее....
Думаю-соображаю....
...
Рейтинг: 0 / 0
Архитектура базы
    #39860098
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossПомню была таблица наименований - код детали/ сборки - название (ну и дополнительные поля были: вес, материал и т.п)
Была таблица Состав : код сборки, код входящей детали, количество деталей в сборке
работала точно с такой же схемой таблиц
+ материалы по детали
+ трудоемкость и расценки по детале-операции
+ мелкие справочники

на их основе расчетом получали состав изделия(код изделия, код детали, количество в изделии- деталь может входить в несколько сборок одного изделия) для оперативных расчетов по цеху+участок+изделие+...

и конечно поиск по переменному количеству полей по принципу ИЩУ ПО ТОМУ, ЧТО ЗНАЮ

например, это могли быть
-кусочек гравировки
-кусочек названия
-цех
-изделие
-год и/или номер последнего изменения
-сборка/деталь/покупное

зацепившись за деталь далее видели
-что входит в найденное, т.е. это сборка
-куда она сама входит в качестве детали или подсборки

поиск(фильтрация) работал по всех цехах и большинстве отделов автономно(общей сети тогда еще не было)
в отделах конструктора и технолога -по сети отделов
...
Рейтинг: 0 / 0
Архитектура базы
    #39860099
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух
Может я тоже так хочу, типа научиться видеть суть вещей, но чёй та не пойму чего вы поняли и чего вам подсказали существенного.

Толцытеся.... и отворится вам!
...
Рейтинг: 0 / 0
Архитектура базы
    #39860100
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanate Теоретически можно до последней гайки и шайбы - но такое не всегда нужно в эксплуатации, поэтому бывает разузловывают какраз до блочных заменяемых Изделий. А сбоку join-ом ваши нынешние таблицы. Избыточность только добавит надёжности, раз у вас там настолько сложное производство.
Сейчас, в табл MAIN1 как раз и хранится полная разузловка уже выпущенных изделий, до последней шайбы, реализованная по древесной структуре.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860118
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311Сейчас, в табл MAIN1 как раз и хранится полная разузловка уже выпущенных изделий, до последней шайбы, реализованная по древесной структуре
не очень поняла , как вы храните

мы хранили только уникальные строки по КУДА(код сборки)+ЧТО+СКОЛЬКО без привязки к изделию
остальное получали расчетно, например
- изделия+сборки+детали россыпью, т.е. перевод уже собранных единиц в назад детали с подсчетом задействованных деталей
- любой узел можно было пересчитать в ранге изделия и выдать по нему итоги по материалам, трудоемкости и расценку
- не трогая основное изделие, можно заменить ссылку на некую сборку(деталь) на вариант сборки/детали или подключить вместо собственной сборки покупную , которую не надо раскрывать для цехов(только для конструкторов)

это привело к тому, что таблица СОСТАВ была достаточно компактной, особенно учитывая то , что вариантов изделий было достаточно много, например одна из деталей входила в 800 сборок в более чем 200 изделий
...
Рейтинг: 0 / 0
Архитектура базы
    #39860123
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code OWN sernn codever qt
151 145 1 59 1
152 146 1 60 1
153 146 1 61 1

Типа так
Code - код текущей записи в MAIN1
OWN - код вышестоящей записи из MAIN1
sernn - код изделия
codever - код детали(сборки) из основного каталога MAIN
qt - количество
...
Рейтинг: 0 / 0
Архитектура базы
    #39860128
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА мы хранили только уникальные строки по КУДА(код сборки)+ЧТО+СКОЛЬКО без привязки к изделию
остальное получали расчетно, например

А вот этого уже не понял я.....
...
Рейтинг: 0 / 0
Архитектура базы
    #39860130
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,

в вашем исполнении я не поняла, что есть количество
- количество в текущей сборке
- количество в изделии

пусть деталь 61 входит в 2 сборки одного изделия, а деталь 62 одна на 3 изделия
codeOWNsernncodeverqtкод текущей записи в MAIN1код вышестоящей записи из MAIN1код изделия- код детали(сборки) из основного каталога MAINколичество15114515911521461601153146161115414516111541451620,3333
...
Рейтинг: 0 / 0
Архитектура базы
    #39860139
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКАSerg197311,

в вашем исполнении я не поняла, что есть количество
- количество в текущей сборке
...
Рейтинг: 0 / 0
Архитектура базы
    #39860140
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор1) Изменения в сборке(единице номенклатуры с уникальным номером) не допускаются, при необходимости внести изменения создается новая сборка со своим номером(номером версии). Естественно присутствует процедура согласования/информирования всех необходимых лиц.

Такой вариант видится наиболее надёжным (и помоему наиболее методологически-близким к традиционному бумажному обороту конструкторской документации). Т.к. новое всегда пойдёт в БД как обособленный бизнес-объект, и не будет ломать логику использования уже ранее утверждённых бизнес-объектов.
К тому же, к бабке не ходи, потом начнут появляться связи между разными СЕ. Ну например, новая СЕ оказывается не полным аналогом прежней СЕ, а ограниченно применимом только для узкой номенклатуры Изделий в исполнении УХЛ (потому что гайку хромированную поменяли на гайку ржавую обыкновенную, и для субтропического исполнения оно не применимо, т.к. приржавеет после первого муссона :).
...
Рейтинг: 0 / 0
Архитектура базы
    #39860146
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanate
Такой вариант видится наиболее надёжным :).
Вот и я пока к нему склоняюсь......
...
Рейтинг: 0 / 0
Архитектура базы
    #39860147
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,

мы считали так



sernn \код изделия\1

строкаOWNcodeverqt сборкуна изделиекод текущей записи в MAIN1код вышестоящей записи из MAIN1- код детали(сборки) из основного каталога MAINприменяемостьколичество по сборкам1450054022146006410,50,51511455911*2=21521466011*0,5=0,51531466111*0,5=0,51541456111*2=2154145620,33330,3333*2=0,6666

детальизделиеколичество всего40124110,55911*2=26011*0,5=0,56111*0,5+1*2=2,5620,33330,3333*2=0,6666
...
Рейтинг: 0 / 0
Архитектура базы
    #39860150
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в таблице храню только количества деталей/сборок в вышестоящей сборке. Если надо посчитать винты такие-то в изделии или в сборке такой-то - это делаю функцией на vba.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860153
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanateнапример, новая СЕ оказывается не полным аналогом прежней СЕ, а ограниченно применимом только для узкой номенклатуры Изделий в исполнении УХЛ (потому что гайку хромированную поменяли на гайку ржавую обыкновенную, и для субтропического исполнения оно не применимо, т.к. приржавеет после первого муссона :).
вряд ли изделие в тропическом исполнении отличается только гайкой от базового -отличается и весь техпроцесс, а значит это другое изделие и другие составляющие и другой техпроцесс, даже в гравировке деталей добавляются символы
...
Рейтинг: 0 / 0
Архитектура базы
    #39860156
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311количества деталей/сборок в вышестоящей сборке
а если вышестоящая входит еще более вышестоящую , причем к количестве не равном 1
...
Рейтинг: 0 / 0
Архитектура базы
    #39860190
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,

для однотипных изделий выдавались планы изготовления деталей примерно такого типа
изд 01и02и03и04и05и05еи05 тропики08 зипи09 пробаплан заполняется, остальное расчетом10уточн21523100перечень сборок и деталейс11021523с111021523с1220421046с13408420812с2110--3с22-22с312--д11110222002д111е3д11220444002д112е6д11340888002д113е12д999120242412002д114епокупн11022покупн22044крепеж1150-крепеж2-150
...
Рейтинг: 0 / 0
Архитектура базы
    #39860204
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА а если вышестоящая входит еще более вышестоящую , причем к количестве не равном 1
Именно так и есть. Говорил же - написал функцию, которая пробегает по сборкам вверх(используя OWN) и считает реальное количество
...
Рейтинг: 0 / 0
Архитектура базы
    #39860205
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Public Function Getqb(nm1 As Long) As Long
Dim rst As DAO.Recordset
Dim qq As Long
Dim cn As Long
cn = nm1
qq = 1
20 Set rst = CurrentDb.OpenRecordset("SELECT * from MAIN1 where MAIn1!code=" & cn & ";")
   If rst.EOF = False Then
      qq = qq * rst!qt
      cn = rst!OWN
      GoTo 20
   Else
       Getqb = qq
       Exit Function
   End If

End Function
...
Рейтинг: 0 / 0
Архитектура базы
    #39860213
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ужастный код. За использование goto программистов-базицников линейкой по рукам ещё в конце 90ых начали бить (ну кроме on error goto разумеется). :)
...
Рейтинг: 0 / 0
Архитектура базы
    #39860228
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311Таблица MAIN1 - описание конкретных ИЗДЕЛИЙ, где содержится точная информация о составе(дереве) ИЗДЕЛИЯ с его полной структурой
что то мне показалось, что у вас отдельная таблица на каждое изделие
...
Рейтинг: 0 / 0
Архитектура базы
    #39860245
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanateужастный код. За использование goto программистов-базицников линейкой по рукам ещё в конце 90ых начали бить (ну кроме on error goto разумеется). :)Полностью согласен...... Ужасный.....Но я по образованию не программист, поэтому сделал так - работает... Подскажете как переделать - буду очень благодарен.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860247
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКАчто то мне показалось, что у вас отдельная таблица на каждое изделие
Нет, таблица одна. Но для каждого изделия в ней своя структура дерева.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860306
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311Но для каждого изделия в ней своя структура дерева
тогда еще более неясно, как ваша функция работает, особенно если в изделии может повторяться одна и та же сборка/деталь несколько раз
дробные применяемости вообще не предусмотрены

я попробовала, создала пример базы,добавив несколько типичных ситуаций
--как и предполагала - нужных(ручных) по сборке 6 итогов не получила
OWNcode1codeverqtна изделие151и1116***1и1156***6c33514540с22614641с0,50,514515159д1214515461д1214515562д0,33330,666614615260д10,514615361д10,5
...
Рейтинг: 0 / 0
Архитектура базы
    #39860320
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanateужастный код. За использование goto программистов-базицников линейкой по рукам ещё в конце 90ых начали бить

Это чисто с точки зрения читабельности кода, ну типа грамотности что ли, но иногда не грамотный гораздо продуктивнее грамотного... так в тех же 90-х мною экспериментально было установлено на ес-1060 в языке PL1, что оператор цикла DO WHILE работает в полтора раза медленнее чем цикл на одной переменной с оператором GOTO, видать тот кто реализовывал в компиляторе конструкцию DO WHILE родил из мухи слона, нам то это не очевидно, нас устраивает изящность кода, а так - то да нужно стремиться к искусству...
...
Рейтинг: 0 / 0
Архитектура базы
    #39860324
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА тогда еще более неясно, как ваша функция работает, особенно если в изделии может повторяться одна и та же сборка/деталь несколько раз
Вот картинка. структрура видна
выделенная нода - прокладка - 2 шт в сборке подушка
Сборок Подушка в сборке Доработка кресла - 2 шт
Функция на вход использует код записи( на картинке в конце после /)
Берет по нему количество -2, и по коду записи же находит код вышестоящей записи по дереву -
код сборки Подушка, берет их количество - 2, перемножает, находит код вышестоящей записи - Доработка...
и тд пока есть вышестоящая запись.

Каждая нода в дереве - строка в таблице. По коду детали и коду изделия находим запросом нужные записи,
Для получения количества прям в запросе вызываем приведенную функцию. Ну дальше уж как захочется....
Да, запросы с такой функцией выполняется не очень быстро. Но приемлемо, учитывая что это требуется не очень часто.
Основная статистическая обработка будет проводится не в моей базе, а в 1С ERP, куда будут грузится ресурсные спецификации









ПЕНСИОНЕРКАдробные применяемости вообще не предусмотрены
Ага. Не может быть 0,5 болта, 0,2 гайки или 1,4 сборочных единицы. Материалы считаются совсем по другому
...
Рейтинг: 0 / 0
Архитектура базы
    #39860336
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311Не может быть 0,5 болта, 0,2 гайки или 1,4 сборочных единицы
но зато может быть
-упаковочный ящик на несколько изделий(упаковка у нас относилась на изделие)
-аналогично групповой ЗИП(один КОМПЛЕКТ на несколько изделий)
...
Рейтинг: 0 / 0
Архитектура базы
    #39860341
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА но зато может быть
....

У меня в базе есть такое понятие - процесс изготовления детали.
Вот к нему может быть привязано дробное количество как материала, так любого покупного(или не покупного) изделия.
Так и делаю сейчас.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860348
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На мой взгляд Вы пытаетесь управленческую задачу по построению бизнес-процесса решить на программном уровне, а потом отдать этот процесс в работу.

Оба предложенные варианта имеют недостатки.
Если использовать первый вариант (состав составного изделие нельзя менять и всегда делать новое), то у продажников могут начаться проблемы: два одинаковых дивана с разными артикулами, хотя между ними разница в одну гайку, что не существенно для покупателя, но по базам у продавцов и бухгалтеров это будут два отдельных номенклатурных изделия. А это геморрой в бумагах - выставлены счета на один товар, а выдается другой.
При использовании второго варианта выше приведённой проблемы нет, но появляется необходимость хранить временную (версионную) составляющую изделия. То есть, неделю назад выписали счёт на диван с болтами и его продали, а сегодня внесли изменение в изделие и вместо болтов там стоят шурупы и тогда изменится состав документа двухнедельной давности (должны быть болты, а стоят шурупы), так как оба счета ссылаются на одну и ту же запись, но с разным составом.

Поэтому, сначала обсудить с руководством сам процесс, а потом уже программировать.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860357
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PНа мой взгляд Вы пытаетесь управленческую задачу по построению бизнес-процесса решить на программном уровне, а потом отдать этот процесс в работу..
Абсолютно верное замечание! Почти. Руководство в курсе, и сейчас фактически перестраивается часть бизнес процесса(документооборот) в связи с появлением новых задач.

Оба предложенные варианта имеют недостатки.
Stanislav PЕсли использовать первый вариант (состав составного изделие нельзя менять и всегда делать новое), то у продажников могут начаться проблемы: два одинаковых дивана с разными артикулами, хотя между ними разница в одну гайку, что не существенно для покупателя, но по базам у продавцов и бухгалтеров это будут два отдельных номенклатурных изделия. А это геморрой в бумагах - выставлены счета на один товар, а выдается другой..
Итоговое изделие достаточно велико и дорого, их в год продается и изготавливается всего несколько шт, структура каждого изделия долго и нудно согласовывается с заказчиком, так что тут неразберихи не может быть.
Продажников вообще нет)) эти вещи по другому продаются....

Stanislav P При использовании второго варианта выше приведённой проблемы нет, но появляется необходимость хранить временную (версионную) составляющую изделия. То есть, неделю назад выписали счёт на диван с болтами и его продали, а сегодня внесли изменение в изделие и вместо болтов там стоят шурупы и тогда изменится состав документа двухнедельной давности (должны быть болты, а стоят шурупы), так как оба счета ссылаются на одну и ту же запись, но с разным составом..
Вот че-то похожее пока и происходит, правда в отсутствие сквозной базы данных.


Stanislav PПоэтому, сначала обсудить с руководством сам процесс, а потом уже программировать.
Высшее руководство не знает, как надо - как всегда на среднем звене создаем концепцию, которая нам наиболее удобна - нам же в итоге и работать. А так руководство конечно в курсе всего что происходит....
...
Рейтинг: 0 / 0
Архитектура базы
    #39860359
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PОба предложенные варианта имеют недостатки.


Так там у автора упор был на потребности технологов и конструкторов.
Пока это было только для технологов - это работало норм. Сейчас планируется расширение функций и подключение к базе с таблицами конструкторского отдела.
Для продажников придётся сбоку ещё один тип связей прикрутить, чтобы увязать такие однородные Изделия под потребности продажников, - номенклатура готовых изделий на складе готовой продукции (обычные МТР), регистрация поступления из производства на склад и далее классический складской учёт.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860364
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanate Для продажников придётся сбоку ещё один тип связей прикрутить, чтобы увязать такие однородные Изделия под потребности продажников, - номенклатура готовых изделий на складе готовой продукции (обычные МТР), регистрация поступления из производства на склад и далее классический складской учёт.
Не, не придется - нет продажников.... Нет готовых изделий на складе и не может быть.... на складе могут быть только детали и отдельные сборочные единицы. Специфическая продукция....
...
Рейтинг: 0 / 0
Архитектура базы
    #39860378
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311, отдельные сборочные единицы так-же согласовываются и изменяются как и конечный продукт? Так же могут быть изменены в процессе разработки?
...
Рейтинг: 0 / 0
Архитектура базы
    #39860384
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311нет продажников.... Нет готовых изделий на складе и не может быть.... на складе могут быть только детали и отдельные сборочные единицы. Специфическая продукция....

А что, для специфической продукции правила учёта, действующие в РФ, не применяются? Испод-полы торгуем?
Складской учёт, отгрузка заказчику, соответствующие ведомости, товаро-транспортные накладные и проч. не выписываете вовсе?
Себестоимость выпуска готовой продукции и прочие показатели, зависящие в т.ч. и от эффективности производства, складских запасов, ТЗРов и проч., - не считаете?
...
Рейтинг: 0 / 0
Архитектура базы
    #39860385
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PSerg197311, отдельные сборочные единицы так-же согласовываются и изменяются как и конечный продукт? Так же могут быть изменены в процессе разработки?
Да, также....Там ТЗ с приложениями листов на 10-15, и в процессе выполнения бывают к нему изменения....
...
Рейтинг: 0 / 0
Архитектура базы
    #39860388
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanateА что, для специфической продукции правила учёта, действующие в РФ, не применяются? Испод-полы торгуем??
Все применяется. Потребитель - на 90% государство. Причем так стало в последнее время, и вот тут и появились новые задачи.....

ldfanateСкладской учёт, отгрузка заказчику, соответствующие ведомости, товаро-транспортные накладные и проч. не выписываете вовсе??
А разве для этого нужны продажники?

ldfanateСебестоимость выпуска готовой продукции и прочие показатели, зависящие в т.ч. и от эффективности производства, складских запасов, ТЗРов и проч., - не считаете? Считаем, считаем.... для чего еще эта база нужна-то... за исключением складских запасов.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860389
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да - отгрузки нет. Изделие монтируется на еще большее изделие заказчика нашими силами.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860396
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну значит в ворота завода лязгая гусеницами вползает Платформа (т.е. на подотчёт вашей фирме сторонний заказчик выдаёт имущество с определённой стоимостью), а выползает с завода Платформа+Изделие (уже с другой стоимостью).
Всёравно оборот основных средств, товаров (Изделий) и работ-услуг (в т.ч. монтаж Изделия на башенный погон) на предприятии должен присутствовать.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860401
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и наверное, номенклатура готовых Изделий, и Спецификаций к ним будет ещё и соотноситься с номенклатурой Платформ. Т.е. будут частичные и полные аналоги взаимозаменяемости.
потому что голдовую башню от абрамса не на каждое рено вкрячишь
...
Рейтинг: 0 / 0
Архитектура базы
    #39860461
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311code OWN sernn codever qt
151 145 1 59 1
152 146 1 60 1
153 146 1 61 1

Типа так
Code - код текущей записи в MAIN1
OWN - код вышестоящей записи из MAIN1
sernn - код изделия
codever - код детали(сборки) из основного каталога MAIN
qt - количество
Есть большое подозрение, что Own или sernn или codever лишнее поле в таблице MAIN1
Так как в таблице MAIN1 должно хватить четырёх полей для описания всех деталей входящих в составное изделие.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860671
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanateну значит в ворота завода лязгая гусеницами вползает Платформа (т.е. на подотчёт вашей фирме сторонний заказчик выдаёт имущество с определённой стоимостью), а выползает с завода Платформа+Изделие (уже с другой стоимостью)..
)))) Ну почти так))))
ldfanateВсёравно оборот основных средств, товаров (Изделий) и работ-услуг (в т.ч. монтаж Изделия на башенный погон) на предприятии должен присутствовать.
Да кто ж говорит что этого нет? Я говорю что продажники для этого не нужны:))
...
Рейтинг: 0 / 0
Архитектура базы
    #39860672
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P Есть большое подозрение, что Own или sernn или codever лишнее поле в таблице MAIN1
Так как в таблице MAIN1 должно хватить четырёх полей для описания всех деталей входящих в составное изделие.
Да? А какое?
OWN - указывает к какой вышестоящей сборке принадлежит эта запись(деталь, подсборка). Если его убрать - теряется структура изделия, невозможно построить дерево вхождений.
sernn - указывает к какому именно изделию относится эта деталь/сборка
Конечно, можно вместо этого поля привязать еще одну табличку, в которой будут записи с указанием номера ИЗДЕЛИЯ только для головной сборки. Но это сильно затормозит процесс выборки, построения дерева и обработки статистики, а экономия места в базе совсем небольшая.Так что я решил поступить так.
codever - это указание на саму деталь /сборку. Без этого вообще никак ИМХО.
qt - количество этой детали в вышестоящей сборке. как без него - тоже не понимаю
Если сможете помочь оптимизировать - буду очень благодарен.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860673
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanateи наверное, номенклатура готовых Изделий, и Спецификаций к ним будет ещё и соотноситься с номенклатурой Платформ. Т.е. будут частичные и полные аналоги взаимозаменяемости.

Да в том то и особенность. Практически каждое ИЗДЕЛИЕ - индивидуально, его спецификация уникальна.
взаимозаменяемы/применяемы на разных Платформах только некоторые компоненты (сборочные единицы).
...
Рейтинг: 0 / 0
Архитектура базы
    #39860674
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПрактически каждое ИЗДЕЛИЕ - индивидуально, его спецификация уникальна.
взаимозаменяемы/применяемы на разных Платформах только некоторые компоненты

Бедные интенданты, как потом тыловое обеспечение запчастями обеспечивать в условиях войны?

Ну вобщем, предложение разузловывать на полную глубину все спецификации.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860677
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanate авторПрактически каждое ИЗДЕЛИЕ - индивидуально, его спецификация уникальна.
взаимозаменяемы/применяемы на разных Платформах только некоторые компоненты

Бедные интенданты, как потом тыловое обеспечение запчастями обеспечивать в условиях войны?.
На всякий случай) дабы чего не случилось) ИЗДЕЛИЕ по сути - комплект мебели))

ldfanateНу вобщем, предложение разузловывать на полную глубину все спецификации.
Ну так сейчас и делается, и по всей видимости так и будет делаться...
...
Рейтинг: 0 / 0
Архитектура базы
    #39860691
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311qt - количество этой детали в вышестоящей сборке
неужели у вас все детали входят СТРОГО в свою сборку, т.е. нет деталей, которые входят в несколько сборок/подсборок(хотя бы гайки и подобное)
...
Рейтинг: 0 / 0
Архитектура базы
    #39860695
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА неужели у вас все детали входят СТРОГО в свою сборку, т.е. нет деталей, которые входят в несколько сборок/подсборок(хотя бы гайки и подобное)
Да есть конечно! полно! А что вызывает сомнения?
Есть несколько записей с разным количеством в узле(qt) и одинаковым кодом ИЗДЕЛИЯ(sernn) и кодом детали codever
но отличающихся OWN - кодом вышестоящей сборки.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860699
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311его спецификация уникальна.
взаимозаменяемы/применяемы на разных Платформах только некоторые компоненты (сборочные единицы)
как у вас прописываются эти повторяющиеся единицы

например сборка1 состоит из (подсборки1, пс2, д11,д12,д13)
и она входит в изделия и1,и3,и5

как в этом случае просчитывается количество пс2 или д12(ваша функция это не обеспечивает, если конечно вы не повторяете описание (подсборки1, пс2, д11,д12,д13) в каждом изделии с другими номерами code/own
...
Рейтинг: 0 / 0
Архитектура базы
    #39860700
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА если конечно вы не повторяете описание (подсборки1, пс2, д11,д12,д13) в каждом изделии с другими номерами code/own
Да, повторяю для каждого изделия с другими code/own. И не вижу другого способа. Неизменных сборочных единиц(структура которых постоянна) 1 из 10. Все остальное может поменяться как угодно. Производство по сути не серийное, опытное. Поэтому и систему советскую, что отлично работала на серийных производствах, применять не хочется....
...
Рейтинг: 0 / 0
Архитектура базы
    #39860707
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311ПЕНСИОНЕРКА если конечно вы не повторяете описание (подсборки1, пс2, д11,д12,д13) в каждом изделии с другими номерами code/own
Да, повторяю для каждого изделия с другими code/own. И не вижу другого способа. Неизменных сборочных единиц(структура которых постоянна) 1 из 10. Все остальное может поменяться как угодно. Производство по сути не серийное, опытное. Поэтому и систему советскую, что отлично работала на серийных производствах, применять не хочется....

короче, у вас имеются многие тысячи деталей, многие из них вариантны по исполнению

и из них вы строите как в детском конструкторе некое сооружение, подбирая в проблемных местах решение, применяя ранее сделанные детали или добавляя новые , если размеры СТАРЫХ деталей не вписываются в размеры
...
Рейтинг: 0 / 0
Архитектура базы
    #39860713
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА
короче, у вас имеются многие тысячи деталей, многие из них вариантны по исполнению

и из них вы строите как в детском конструкторе некое сооружение, подбирая в проблемных местах решение, применяя ранее сделанные детали или добавляя новые , если размеры СТАРЫХ деталей не вписываются в размеры
Так.... Это реальность, данная мне в ощущении)
...
Рейтинг: 0 / 0
Архитектура базы
    #39860733
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311,

Смотри, у тебя есть единый каталог (таблица CATALOG) номенклатурных единиц из которых собирается готовое изделие. В этот каталог входят такие изделия как болты и гайки, они неделимые. Так же есть изделия, которые собираются из других изделий, как неделимых так и таких-же сборных, они так-же входят в каталог. Для того, чтобы знать состав составного изделия нам нужна таблица с детализацией (DETAILS).
Чтобы такое реализовать минимально нужна такая структура:
Таблица CATALOG:
cat_id - уникальный код изделия (первичный ключ)
cat_name - наименование изделия
cat_type - тип изделия (составное изделие или простое)
Таблица DETAILS:
det_id - уникальный код строки (первичный ключ) ' Можно и без этого поля обойтись взяв за первичный ключ связку owner_id + det_id это зависит от того, веришь ли ты в составные ключи или считаешь их дьявольским изобретением :)
owner_id - код (cat_id) составного изделия из таблицы CATALOG
det_id - код (cat_id) изделия из таблицы CATALOG 'det_id так же может ссылаться на составное изделие
quantity - количество det_id входящих в состав owner_id

Я не делал поля для указания вышестоящей сборки, для того, чтобы построить дерево оно не обязательно - достаточно пройтись запросом в котором указать WHERE cat_type="составное" и получить список всех составных изделий входящих в это конкретное составное изделие и их состав.

При такой структуре делать копию составного изделия просто для твоего первого варианта, когда каждое составное изделие уникальное. И так же просто его использовать и во втором варианте, когда нужна будет версионность составных изделий. И, если вдруг такое случится, будет проще повторно использовать одно и то же составное изделие.
Да, запрос на выборку станет сложнее и нужно будет чуть больше подумать над функцией построения дерева.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860737
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я как раз колеблюсь между этим путем и отсутствием details .
Пока больше склоняюсь к тому, что бы хранить структуру сборки в таблице где хранится вся структура изделия.... выше я детально описывал.....
...
Рейтинг: 0 / 0
Архитектура базы
    #39860764
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311Пока больше склоняюсь к тому, что бы хранить структуру сборки в таблице где хранится вся структура изделия.... выше я детально описывал.....
Ох, чую как ты себе геморрой обеспечиваешь такой организацией БД.
...
Рейтинг: 0 / 0
Архитектура базы
    #39860765
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P
Ох, чую как ты себе геморрой обеспечиваешь такой организацией БД.
Вот я и пытаюсь сообразить - какой именно?
...
Рейтинг: 0 / 0
Архитектура базы
    #39861692
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311....Толцытеся.... и отворится вам!....
Моя твоя не понимай.
Какая диалекта языка твоя говорить?
...
Рейтинг: 0 / 0
Архитектура базы
    #39861723
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311Вот я и пытаюсь сообразить - какой именно?
Запихивая в одну таблицу состав конечного изделия и состав составного изделия ты лишаешь себя гибкости. Завтра тебе предложат подключить к системе ещё кладовщиков, сметчиков и тогда тебе придётся переделывать архитектуру БД, а это геморрой.
...
Рейтинг: 0 / 0
Архитектура базы
    #39861730
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P...и тогда тебе придётся переделывать архитектуру БД, а это геморрой...
А я всегда пропагандирую, что БД, даже с самыми невероятными вероятностями, должна быть как можно более - Универсальной , дабы какой то там геморой не доставал.
Просто добавил неверояное значение и уже ни чего не болит в попке.

Сиди, кури как орёль на вершине Кавказа.
...
Рейтинг: 0 / 0
Архитектура базы
    #39862112
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛапухSerg197311....Толцытеся.... и отворится вам!....
Моя твоя не понимай.
Какая диалекта языка твоя говорить?
Старославянский:)
...
Рейтинг: 0 / 0
Архитектура базы
    #39862113
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PЗапихивая в одну таблицу состав конечного изделия и состав составного изделия ты лишаешь себя гибкости. . Согласен.

Stanislav PЗавтра тебе предложат подключить к системе ещё кладовщиков, сметчиков и тогда тебе придётся переделывать архитектуру БД, а это геморрой. не, это не предложат - этим 1С будет заниматься. Но..... действительно хрен его знает что еще случиться.... И поэтому - иду по первому пути - запрещаю вносить изменения в сборку. Но!!!!таблицу details таки сделаю, на всякий случай)
...
Рейтинг: 0 / 0
Архитектура базы
    #39862262
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311 И поэтому - иду по первому пути - запрещаю вносить изменения в сборку. Но!!!!таблицу details таки сделаю, на всякий случай)
Косяг блин....
гружу сборку например с 4 уровнями вложенности......
Уровень 1 - деталь1
уровень 2 - даталь2, деталь3
И есть деталь4 уровня 3(состоит из деталь5,деталь6 уровня 4), которая входит в деталь2 и деталь3 в разных количествах....
при загрузке деталей 5 и 6 - ключи дерева задваиваются..... записи то в details одни и теже....
...
Рейтинг: 0 / 0
Архитектура базы
    #39862267
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итого для получения полной структуры сборки из details придется делать еще одну, временную, таблицу со своими уникальными кодами..... так что ли?
...
Рейтинг: 0 / 0
Архитектура базы
    #39862356
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311Итого для получения полной структуры сборки из details придется делать еще одну, временную, таблицу со своими уникальными кодами..... так что ли?
Какие коды?
Зачем делать ещё одну таблицу, если все данные по всем составным изделиям есть в таблице Details? Ты просто делаешь несколько запросов и получаешь состав каждого составного изделия. Если есть вложенность, то делаешь ещё запросы. А дерево рисуешь по циклу: нашёл составное изделие, получил его список, добавил строки в контрол, который рисует дерево.
...
Рейтинг: 0 / 0
Архитектура базы
    #39862360
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311 , да когда уж вы построите свою ахитектуру?

Вроде бы и вас все (кроме меня
) давно понимают
и вы всё понимаете (а я вот не понимаю
), что вам советуют,
но воз почему то похоже и ныне там же, что и в начале.
А уж очень хотса, терпежа нет, подивиться сему диву дивному, или вы жадина и ни за что не покажите?
...
Рейтинг: 0 / 0
Архитектура базы
    #39862371
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P А дерево рисуешь по циклу: нашёл составное изделие, получил его список, добавил строки в контрол, который рисует дерево.
Я только что описал ситуацию, когда коды нод задваиваются......Так как в разных частях дерева используется одна и та же запись из Details....
...
Рейтинг: 0 / 0
Архитектура базы
    #39862375
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух, ну вот че вы ко мне пристали то? я ж вас не трогал совсем никогда до этой темы...
У вас похоже два выхода....
Или изучать старославянский, и понять что я отвечал выше...
или останется только латынь- procul este.....
...
Рейтинг: 0 / 0
Архитектура базы
    #39862400
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311...я ж вас не трогал совсем никогда до этой темы...
Вот и плохо, что не трогали.
Ща бы вместе куралесили.


Serg197311...У вас похоже два выхода...
Беру третий, какой не скажу.
...
Рейтинг: 0 / 0
Архитектура базы
    #39862417
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311Я только что описал ситуацию, когда коды нод задваиваются......Так как в разных частях дерева используется одна и та же запись из Details....
Мы сейчас говорим про отображение структуры на форме в виде дерева? Так тебе должно быть без разницы, что одна и та же деталь фигурирует на разных уровнях дерева. Для чего тебе эти коды?
...
Рейтинг: 0 / 0
Архитектура базы
    #39862548
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух Беру третий, какой не скажу.

Да не вопрос..... тока где- нибудь не в этой теме.
...
Рейтинг: 0 / 0
Архитектура базы
    #39862549
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P Мы сейчас говорим про отображение структуры на форме в виде дерева?
Да,именно об этом
Stanislav PТак тебе должно быть без разницы,
что одна и та же деталь фигурирует на разных уровнях дерева. ?
Мне лично - совсем без разницы Но вот дерево строиться не хочет - говорит нарушена уникальность кодов
При этой структуре таблицы details невозможно построить дерево, основываясь на ее кодах.
Значит надо или временную таблицу делать, куда перегонять структуру сборки из details, но уже с уникальными кодами, или менять структуру details, добавлять туда поле OWN - и тогда она превращается просто в копию таблицы MAIN1, в которой лежит состав готовых изделий.....
...
Рейтинг: 0 / 0
Архитектура базы
    #39862554
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311...тока где- нибудь не в этой теме...
Вот что значит - Культурный человек.
Не послал, а попросил.

Уговорил, ухожу.
Придется ждать - Панурга, а то он в куда то пропал, даже переживать начинаю, ибо и поболтать то не скем, а он всегда горазд на ответ.
...
Рейтинг: 0 / 0
Архитектура базы
    #39862555
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Архитектура базы
    #39862556
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух...Придется ждать - Панурга, а то он в куда то пропал...Некогда мне...
...
Рейтинг: 0 / 0
Архитектура базы
    #39862575
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
Раньше видел, заходил иногда, но пугался эпичности и выходил
Почитал первые страниц 15 по диагонали....
Есть существенные отличия
1) Разработчик документации - мы, так что можно влиять на процесс.
2) Бумажные чертежи вообще идут отдельной темой
3) Нет ни одного одинакового ИЗДЕЛИЯ
4) Любая сборка изначально представляет собой файл .Catproduct, в котором все нужные связи с нижестоящими узлами и деталями записаны.
Я хочу пойти даже дальше того, к чему призывали ТС того эпика, и сократить количество таблиц до 2-х - Детали и Изделия, отказавшись от таблицы Сборки.
Так как номер(и id тоже конечно) каждой сборки уникален - я легко получаю ее структуру из таблицы Изделия, и могу его использовать как угодно - отображать на экране, открывать файл сборки для редактирования и последующей записи под новым именем и тд.
То что это сборка а не деталь - определяется по наличию/отсутствию подчиненных в таблице Изделия(да еще и у деталей отличный от сборок формат исходного файла)
Так что пока я просто не вижу как я могу использовать Сборки в своей базе...Выше попробовал - и то не вышло...
Если мне в дальнейшем понадобится таблица Сборки для каких-нибудь целей - например для соответствия ГОСТ или еще чего,
я легко сделаю ее простейшей функцией из таблицы Изделия.
К решению пока не пришел.... Пойду дочитывать то эпик - мож что уловлю....
...
Рейтинг: 0 / 0
Архитектура базы
    #39862587
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311Мне лично - совсем без разницы Но вот дерево строиться не хочет - говорит нарушена уникальность кодов
При этой структуре таблицы details невозможно построить дерево, основываясь на ее кодах.
Значит надо или временную таблицу делать, куда перегонять структуру сборки из details, но уже с уникальными кодами, или менять структуру details, добавлять туда поле OWN - и тогда она превращается просто в копию таблицы MAIN1, в которой лежит состав готовых изделий.....

Ничего с таблицами делать не надо, твоя проблема лежит в элементе отображения, который отображает дерево. Если твоему элементу/контролу нужна уникальность каждой строки в отображении, то сделай обычный программный счётчик. А реальный ID детали можно спрятать в поле tag строки, если это поле есть в элементе отображения. Если нет, то самое первое что приходит на ум - коллекция (двумерный массив), в которой есть реальный ID из базы и соответствующий ему программный ID из элемента отображения. И то, это всё нужно только если ты взаимодействуешь с элементом отображения, то есть, нажимаешь правой кнопкой мыши на какой-либо строке и вызываешь какие-то действия, которым нужен ID из базы данных.
...
Рейтинг: 0 / 0
Архитектура базы
    #39862597
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P
Ничего с таблицами делать не надо, твоя проблема лежит в элементе отображения, который отображает дерево. .
Да это то конечно можно сделать.....через массив или как еще....
Но почему бы структуру сборки не взять из изделия?
...
Рейтинг: 0 / 0
Архитектура базы
    #39862641
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311Но почему бы структуру сборки не взять из изделия?
Так ты структуру и берешь из состава изделия. И дерево вполне себе строится без проблем.
...
Рейтинг: 0 / 0
Архитектура базы
    #39862722
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P Serg197311Но почему бы структуру сборки не взять из изделия?
Так ты структуру и берешь из состава изделия. И дерево вполне себе строится без проблем.
Ну да .... Сейчас я беру структуру сборки из таблицы Изделия(MAIN1)...... А таблицу сборки не использую никак....
...
Рейтинг: 0 / 0
Архитектура базы
    #39862780
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311,
Тебе стоит переделать таблицы так, чтобы они были похожи на те таблицы, которые я ранее тебе показывал.
...
Рейтинг: 0 / 0
Архитектура базы
    #39862832
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PSerg197311,
Тебе стоит переделать таблицы так, чтобы они были похожи на те таблицы, которые я ранее тебе показывал.
Стоит сначала понять, как это будет работать, и чем это лучше того что есть сейчас.
Я, возможно в силу недостатка знаний понять этого пока не могу. Думаю надо взять всем таймаут и просто переварить то что было уже сказано....
...
Рейтинг: 0 / 0
90 сообщений из 90, показаны все 4 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Архитектура базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]