Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / не могу понять суть выражения в COMPUTED BY / 25 сообщений из 33, страница 1 из 2
18.01.2015, 18:49
    #38857083
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Здравствуйте!

в БД firebird "Инфо-предприятие"в таблице C_CLIENTS есть поле CLIENT_GROUPS, в этом поле хранится тип контрагента:"Поставщик", "Покупатель" или "Поставщик, Покупатель":
CLIENT_GROUPS COMPUTED BY ((select res from C_CLIENT_GROUPS(c_clients.kod_str)))
не могу понять какое выражение написано в COMPUTED BY? что значит res, что значит from C_CLIENT_GROUPS(c_clients.kod_str)? как реализовано хранение этих типов контрагента?
...
Рейтинг: 0 / 0
18.01.2015, 19:13
    #38857088
MrCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Значение поля вычисляется в хранимой процедуре C_CLIENT_GROUPS (Res - её выходной параметр). Значения для вычисляемых полей вычисляются в момент чтения записи, а не хранятся.
...
Рейтинг: 0 / 0
18.01.2015, 19:56
    #38857096
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
сорри, я искал в таблицах, есть такая хп:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare variable TYP varchar(255);
begin
  /* Procedure Text */
  res = '';
  for select s.displaylabel from c_groups_cl_relations r join ip$sets s on (r.client_type = s.id)
    where (r.client_kod = :client_kod) into :typ do
    begin
      if (res <> '') then res = res || ', ';
      res = res || ExtractWord(1, typ, '|');
    end
  suspend;
end



но очень медленно работает, кто-нибудь может сказать как легче реализовать сохранение в бд типа контрагента, когда он является и поставщиком и покупателем?
...
Рейтинг: 0 / 0
18.01.2015, 20:58
    #38857105
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi159кто-нибудь может сказать как легче реализовать сохранение в бд типа
контрагента, когда он является и поставщиком и покупателем?
Смотря зачем тебе вообще такое нужно. Можно два булевых поля, можно битовую маску, можно
дополнительные таблицы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.01.2015, 21:14
    #38857108
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry SibiryakovDelphi159кто-нибудь может сказать как легче реализовать сохранение в бд типа
контрагента, когда он является и поставщиком и покупателем?
Смотря зачем тебе вообще такое нужно. Можно два булевых поля, можно битовую маску, можно
дополнительные таблицы.

Пишу складскую программу, где в таблице contragents хранится поставщики,покупатели, "моя фирма"... Иногда некоторая фирма и покупает товар(услуги), а иногда является и поставщиком. может в будущем появится еще третий тип контрагента. Как реализовать эту возможность?
...
Рейтинг: 0 / 0
18.01.2015, 21:19
    #38857109
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi159Как реализовать эту возможность?
Какую "эту" возможность? Зачем тебе вообще в складской программе разделять контрагентов по
типам?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.01.2015, 21:34
    #38857111
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry Sibiryakov Зачем тебе вообще в складской программе разделять контрагентов по типам?

Может быть я вас не понял, но не имея в бд поле, где хранится какой-нибудь признак поставщика, как написать запрос выборки из бд поставщиков, если они храниться вместе с покупателями и "моей фирмой"?
...
Рейтинг: 0 / 0
18.01.2015, 21:48
    #38857117
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi159как написать запрос выборки из бд поставщиков
По договорам, где они прописаны как поставщики, вестимо. Если, конечно, их вообще зачем-то
надо выбирать. В чём лично я, например, сильно сомневаюсь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.01.2015, 22:08
    #38857122
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry SibiryakovDelphi159как написать запрос выборки из бд поставщиков
По договорам, где они прописаны как поставщики, вестимо. Если, конечно, их вообще зачем-то
надо выбирать. В чём лично я, например, сильно сомневаюсь.


то есть всё таки надо где нибудь сохранить этот признак- по вашему в таблице contracts
...
Рейтинг: 0 / 0
18.01.2015, 22:20
    #38857124
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi159то есть всё таки надо где нибудь сохранить этот признак- по вашему в
таблице contracts
Ссылку на контрагента в договоре ты называешь "признаком"?.. Нуууу... всё бывает на этом
свете...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.01.2015, 22:54
    #38857133
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry SibiryakovDelphi159то есть всё таки надо где нибудь сохранить этот признак- по вашему в
таблице contracts
Ссылку на контрагента в договоре...


Понял, а что сделать при розничном торговле, к розничными покупателями у нас договора же не будет и следовательно в таблице contracts записи для него нет?
...
Рейтинг: 0 / 0
18.01.2015, 23:03
    #38857135
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
и ещё если можно как различать мою фирму от других контрагентов? создать поле и записать там "other" или "My"? Или как по-другому?
...
Рейтинг: 0 / 0
18.01.2015, 23:31
    #38857138
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi159и ещё если можно как различать мою фирму от других контрагентов?
Очень просто: твой фирма никогда не является контрагентом и ей нечего делать среди остальных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.01.2015, 23:35
    #38857141
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi159 COMPUTED BY ((select res from
за такое надо щипцами пальцы откусывать.
...
Рейтинг: 0 / 0
19.01.2015, 00:50
    #38857149
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry Sibiryakov
1) тут аргументировали мысль о том, что лучше хранить контрагентов и мою фирму(фирмы) вместе:
http://www.sql.ru/forum/1124663-2/my-i-nashi-kontragenty-dve-tablicy-ili-odna

2) вы сказали создать id_contragents ссылку в таблице contracts и связать contragents и contracts через эту ссылку. А как найти покупателя- физическое лицо при розничном торговле, к розничными покупателями у нас договора же не будет и следовательно в таблице contracts записи для него нет?
...
Рейтинг: 0 / 0
19.01.2015, 08:13
    #38857199
roadster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi1591) тут аргументировали мысль о том, что лучше хранить контрагентов и мою фирму(фирмы) вместе:это вопрос подхода при проектировании БД.
если всё только начинается, то делайте как считаете нужным или удобным.
Delphi159А как найти покупателя- физическое лицо при розничном торговле, к розничными покупателями у нас договора же не будет и следовательно в таблице contracts записи для него нет?так для выбора поставщиков покупатели не понадобятся :)
...
Рейтинг: 0 / 0
19.01.2015, 10:26
    #38857279
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi159и ещё если можно как различать мою фирму от других контрагентов?"Моих" фирм может быть больше одной.

Наличие накладнушки с флажком "расходная" - покупатель, наличие накладнушки типа "приходная" - поставщик. тривиальный exists для выборок, где это требуется и вперед. Хранить его нафиг никому не нужно.
...
Рейтинг: 0 / 0
19.01.2015, 10:27
    #38857281
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry Sibiryakovтвой фирма никогда не является контрагентомне факт, когда "своих" больше десятка и они друг-дружке что-то продают.
...
Рейтинг: 0 / 0
19.01.2015, 10:35
    #38857292
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Delphi159
У нас три талбицы: TBL_FIRM , TBL_CUSTOMER и TBL_SELLER ...
В TBL_FIRM есть поле F_SELF ...
Аллесь...

--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.01.2015, 10:37
    #38857295
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Ivan_Pisarevskyне факт, когда "своих" больше десятка и они друг-дружке что-то
продают.
Да даже в этом случае о "своих" фирмах имеется на порядок больше информации чем о чужих.
Она просто не влезет вся в одну таблицу. Все эти номера счетов, списки ответственных лиц,
имена, пароли, явки...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.01.2015, 10:41
    #38857302
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry Sibiryakovо "своих" фирмах имеется на порядок больше информации чем о чужих.Что спокойно выносится в пристыкованную табличку, с типом связи 1-1, ну что ты аки маленький. Тут же снимается море проблем с контрагентами, когда в одной табличке живут и приходки и расходки.
...
Рейтинг: 0 / 0
19.01.2015, 10:51
    #38857315
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Ivan_PisarevskyDimitry Sibiryakovо "своих" фирмах имеется на порядок больше информации чем о чужих.Что спокойно выносится в пристыкованную табличку, с типом связи 1-1, ну что ты аки маленький. Тут же снимается море проблем с контрагентами, когда в одной табличке живут и приходки и расходки.

+1
...
Рейтинг: 0 / 0
19.01.2015, 11:05
    #38857335
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Ivan_PisarevskyЧто спокойно выносится в пристыкованную табличку, с типом связи 1-1

И именно эта таблица и служит "флагом" "свой", как и договора с поставщиками. Всё правильно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.01.2015, 11:55
    #38857383
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry SibiryakovИ именно эта таблица и служит "флагом" "свой""Свой" это периодический реквизит. Что ставит жирный крест на предложенным тобой exits-ом
Dimitry SibiryakovВсё правильно.Не пались, ты тут фишку не рубишь. ;)
...
Рейтинг: 0 / 0
19.01.2015, 14:18
    #38857551
Delphi159
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу понять суть выражения в COMPUTED BY
Dimitry SibiryakovDelphi159как различать мою фирму от других контрагентов?
Очень просто: твой фирма никогда не является контрагентом и ей нечего делать среди остальных.

Википедия говорит: Контрагент (лат. contrahens — договаривающийся; contra — против + agens — действующий; con-trahere взаимно противостоять) — одна из сторон договора в гражданско-правовых отношениях.
Контр- или против происходит из противопоставления одной стороны другой, в договоре каждому из обязательств сторон взаимно противостоит (корреспондирует) право другой стороны и наоборот. В гражданско-правовых отношениях под контрагентом понимается одна из сторон договора. В роли контрагента выступают обе стороны договора по отношению друг к другу. Каждый из партнёров, заключающих контракт, считается контрагентом."

Судя из этого определения "мой фирма(фирмы)" всегда является контрагентом, посколко она всегда сторона договора. Поэтому её место в таблице с другими контрагентами.

Dimitry Sibiryakov даже в этом случае о "своих" фирмах имеется на порядок больше информации чем о чужих.
Она просто не влезет вся в одну таблицу. Все эти номера счетов, списки ответственных лиц,
имена, пароли, явки...


И что? с помощью ID таблица contragents связывается с таблицами emploees, banks, у моей фирмы в этом поле есть значение,а у других будет пустой.

У меня проблеми совсем в другом:
значит есть такие таблицы:
Contr- Контрагенты-id_contr, id_contr, id_contrgrp, id_contracts,name, phones...
Contr_Add -таблица для дополнительных полей:
ContrGroups- виды контрагента- покупатель, поставщик, покупатель-поставщик
Contracts- id_contracts, id_contr, contractNo, BeginDate, EndDate, AddressIur, AddressPhys...


вопросы:
1) как отличать покупателей от поставщиков, которые вместе в таблице contragents?

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

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

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

3) как реализовать лицо-контрагент является физическим(Individuals) или юридическим(LegalEntities), если у них есть разные поля- например: Passport_id, Firstname,Lastname,Birthday только для физиков и Identcode,Manager, ChiesAcc только для юридиков? В каком таблице и как создать Individuals и LegalEntities? С каким таблицом их связать? Здесь вариантов у меня совсем нет.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / не могу понять суть выражения в COMPUTED BY / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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