powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / не могу понять суть выражения в COMPUTED BY
8 сообщений из 33, страница 2 из 2
не могу понять суть выражения в COMPUTED BY
    #38857562
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Delphi159
2) как отличать "мою фирму(фирмы)" от других контрагентов в таблице contragents?

я думаю создать поле "my" в contragents и записать 0 или 1. Но тогда получается я уже 2 дополнительных поля создал в contragents, что меня самому не нравится. Есть у кого-нибудь другое более "красивое" решение?

Сейчас подумал, можно в таблице contr_types добавить четвертое- "моя фирма", тогда не придется создать дополнительное поле в contragents!
...
Рейтинг: 0 / 0
не могу понять суть выражения в COMPUTED BY
    #38857572
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi1591) как отличать покупателей от поставщиков, которые вместе в таблице contragents?

я думаю создать поле в contragents и хранить например "s" для поставщиков(seller), a "c" для покупателей(clients), а 0 для "моей фирмы". Есть у кого-нибудь другое решение?Предолженные мной решения выше ты читал?

Delphi1592) как отличать "мою фирму(фирмы)" от других контрагентов в таблице contragents?

я думаю создать поле "my" в contragents и записать 0 или 1. Но тогда получается я уже 2 дополнительных поля создал в contragents, что меня самому не нравится. Есть у кого-нибудь другое более "красивое" решение?Мысль про периодичность данного реквизита дошла до получателя?

Delphi1593) как реализовать лицо-контрагент является физическим(Individuals) или юридическим(LegalEntities), если у них есть разные поля- например: Passport_id, Firstname,Lastname,Birthday только для физиков и Identcode,Manager, ChiesAcc только для юридиков? В каком таблице и как создать Individuals и LegalEntities? С каким таблицом их связать? Здесь вариантов у меня совсем нет.Общая для всех инфа в таблице контрагентов, специфическая для юриков в своей табличке, специфическая для физиков в своей, специфическая для "своей фирмы" в своей табличке. Для подпидки периодического реквизита "свой" рекомендую еще одну табличку.
Далее эстеты могут обернуть это вьюхой, это по желанию.
...
Рейтинг: 0 / 0
не могу понять суть выражения в COMPUTED BY
    #38858022
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_PisarevskyDelphi1591) как отличать покупателей от поставщиков, которые вместе в таблице contragents?

я думаю создать поле в contragents и хранить например "s" для поставщиков(seller), a "c" для покупателей(clients), а 0 для "моей фирмы". Есть у кого-нибудь другое решение?Наличие накладнушки с флажком "расходная" - покупатель, наличие накладнушки типа "приходная" - поставщик. тривиальный exists для выборок, где это требуется и вперед. Хранить его нафиг никому не нужно.
Неужели выбирать из накладных по флажкам будет быстрее чем селект из одной маленькой таблицы contragents, где будет всего одним полем больше, где хранить например "s" для поставщиков(seller), a "c" для покупателей(clients), а 0 для "моей фирмы"?. Кроме этого, например создали контрагента-покупателя, но пока не вводили приход и его нет в списке накладных, хота он уже имеется в контрагентах.

Ivan_PisarevskyDelphi1592) как отличать "мою фирму(фирмы)" от других контрагентов в таблице contragents?

я думаю создать поле "my" в contragents и записать 0 или 1. Мысль про периодичность данного реквизита дошла до получателя?
дошла и создал в contragents поле "myfirms", а для хранения периодических реквизитов создал таблицу contragents_per, где сохраню изменения этого поля по датам.
см. диаграмму: http://pixs.ru/showimage/contragent_9045868_15667532.png
Ivan_PisarevskyDelphi1593) как реализовать лицо-контрагент является физическим(Individuals) или юридическим(LegalEntities), если у них есть разные поля- например: Passport_id, Firstname,Lastname,Birthday только для физиков и Identcode,Manager, ChiesAcc только для юридиков? В каком таблице и как создать Individuals и LegalEntities? С каким таблицом их связать? Здесь вариантов у меня совсем нет.Общая для всех инфа в таблице контрагентов, специфическая для юриков в своей табличке, специфическая для физиков в своей, специфическая для "своей фирмы" в своей табличке. Для подпидки периодического реквизита "свой" рекомендую еще одну табличку.
Далее эстеты могут обернуть это вьюхой, это по желанию.
создал 2 таблицы- individuals и legal entities, они связани с contragents связью 1 к 1, в contragents храню общую инфу, а в individuals и legal entities-специфические для юриков и физиков.

Посмотрите пожалуйста диаграмму и оцените / поправьте / дайте предложения!
Спасибо заранее!

PS. нужна или нет в таблице contracts создать 2 поле для опознания 2 стороны контракта-покупатель(поставщик) и "мой фирма(фирмы)", чтобы опознать с одной стороны контрагента, а с другой- "мой фирму"(их же может быть несколько)?
...
Рейтинг: 0 / 0
не могу понять суть выражения в COMPUTED BY
    #38858081
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159Неужели выбирать из накладных по флажкам будет быстрее чем селект из одной маленькой таблицы contragents,сопоставимо. см. доку про индексные чтения. А доп табличку кто-то должен вести руками или автоматом с неким периодом, хлопоты короче.
Delphi159Кроме этого, например создали контрагента-покупателя, но пока не вводили приход и его нет в списке накладных, хота он уже имеется в контрагентах.Нет никакой проблемы показывать свежих всегда, а "неправильных" по хоткею (клику по кнопке) сбрасывать фильтр, чтоб можно было отгрузить тому, кто штатным фильтром отсеивается.

Delphi159дошла и создал в contragents поле "myfirms", а для хранения периодических реквизитов создал таблицу contragents_per, где сохраню изменения этого поля по датам.
см. диаграмму: http://pixs.ru/showimage/contragent_9045868_15667532.png Это у тебя курсач или для работы? Для курсовика сгодится, для работы все (практически) надо менять.

Delphi159PS. нужна или нет в таблице contracts создать 2 поле для опознания 2 стороны контракта-покупатель(поставщик) и "мой фирма(фирмы)", чтобы опознать с одной стороны контрагента, а с другой- "мой фирму"(их же может быть несколько)?нихрена не понял.
...
Рейтинг: 0 / 0
не могу понять суть выражения в COMPUTED BY
    #38858429
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_PisarevskyDelphi159дошла и создал в contragents поле "myfirms", а для хранения периодических реквизитов создал таблицу contragents_per, где сохраню изменения этого поля по датам.
см. диаграмму: http://pixs.ru/showimage/contragent_9045868_15667532.png Это у тебя курсач или для работы? Для курсовика сгодится, для работы все (практически) надо менять.
Неужели так трагически обстоит дела? Можете конкретнее!.. см. http://pixs.ru/showimage/contragent_7213474_15671731.png
Ivan_PisarevskyDelphi159PS. нужна или нет в таблице contracts создать 2 поле для опознания 2 стороны контракта-покупатель(поставщик) и "мой фирма(фирмы)", чтобы опознать с одной стороны контрагента, а с другой- "мой фирму"(их же может быть несколько)?нихрена не понял.
Я имел ввиду: для того,чтобы узнать между какими контрагентами оформлен контракт не надо в таблице contracts добавить 2 id_contragents- один для контрагента, а другой для "моих фирм"?
...
Рейтинг: 0 / 0
не могу понять суть выражения в COMPUTED BY
    #38858452
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159Неужели так трагически обстоит дела?Зависит от ответа на первый вопрос. :)
Delphi159между какими контрагентами оформлен контрактВ контракте надо просто указать ВСЕХ участвующих в нем контрагентов, потом табличка контрагентов джойнится требуемое число раз к табличке договоров. Например, типичный документ счет-фактура (как впрочем и накладная типа торг12) содержит 4 контрагента, в частных случая некоторые контрагенты могут совпадать, а могут и не совпадать.

Delphi159Можете конкретнее!Например данные о контактах могут на более чем одного человека в каждом контагенте (включая чипистов), для курсовика пох, а вот для работы куда удобней контактные данные хранить в одной табличке на все случаи жизни и прицеплять персон оттуда по мере необходимости куда надо, вывески меняются, люди остаются. И таких косяков в твоей схеме вагон
...
Рейтинг: 0 / 0
не могу понять суть выражения в COMPUTED BY
    #38858617
Delphi159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_PisarevskyDelphi159Неужели так трагически обстоит дела?Зависит от ответа на первый вопрос. :)
Нет, не курсач
Ivan_PisarevskyDelphi159между какими контрагентами оформлен контрактВ контракте надо просто указать ВСЕХ участвующих в нем контрагентов, потом табличка контрагентов джойнится требуемое число раз к табличке договоров. Например, типичный документ счет-фактура (как впрочем и накладная типа торг12) содержит 4 контрагента, в частных случая некоторые контрагенты могут совпадать, а могут и не совпадать.
Значит, в контракте всё таки надо указать участвующих в нем контрагентов? И для этого думаю добавить в таблице contracts ссылки id_contragents_contr, id_contragents_my, id_contragents_3, id_contragents_4 на клучевие поля id_contragents таблицы contragents. Например, если договор подписали контрагент А и "моя фирма" В, тогда в таблице contracts в поле id_contragents_contr заносим id конрагента А в таблице contragents, а для "мой фирма" в поле id_contragents_my заносим id конрагента В в таблице contragents. Или вы подразумеваете иной путь- вводить в одном поле в таблице contracts перечисление типа А;B;C;D где на первом месте конрагент, на втором(после ;) - "мой фирма", а C и D-третья и четвертая сторона контракта?
Ivan_PisarevskyDelphi159Можете конкретнее!Например, данные о контактах могут на более чем одного человека в каждом контагенте (включая чипистов), для курсовика пох, а вот для работы куда удобней контактные данные хранить в одной табличке на все случаи жизни и прицеплять персон оттуда по мере необходимости куда надо, вывески меняются, люди остаются. И таких косяков в твоей схеме вагон
Была эта таблица, но вчера комп авариино выключился и потерял инфо и до конца не смог воостановить, сегодня добавлю. Спасибо вам!
...
Рейтинг: 0 / 0
не могу понять суть выражения в COMPUTED BY
    #38858635
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi159Нет, не курсачТогда над схемой БД еще работать и работать, вдумчиво.
Delphi159в контракте всё таки надо указать участвующих в нем контрагентов?Разумеется.
Delphi159вводить в одном поле в таблице contracts перечисление типа А;B;C;DТакого я точно не говорил, это прямое нарушение первой нормальной формы. Если надо закреплять заранее неизвестное и неограниченное число контраегентов, то это только доп таблицей обеспечивающей такую связь, насколько это нужно вам, решать вам, исходя из вводных.
Delphi159Спасибо вам!Странно проектировать БД опираясь на советы форума, у меня же нет вашего ТЗ, я тут могу много сказок рассказывать, абстрактных.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / не могу понять суть выражения в COMPUTED BY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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