|
|
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
Справочник клиентов ведут 10 менеджеров. Как можно реально обеспечить ввод одного клиента не более чем один раз? Как не допустить «ООО Днепр» вместе с «ТОВ Дніпро»? То есть, вопрос в использовании внешних ключей и в том, откуда их брать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:03:52 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
инн кпп ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:06:13 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
ИНН - очень удобно, особенно когда вариантов написания названия 2-3 (по-Русски, по-Украински и по-Английски например) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:22:16 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
АлексейКинн кпп ? этт н ккм йзкк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 13:00:51 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
Идентификационный Номер Налогоплательщика Код Причины Постановки (предприятия на учет) такие есть нынче абривеатуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 14:59:11 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
Правильный ключ - счетчик. Разночтения средствами Access не решишь. Решить можно только организационными мерами. Недавно в одной базе выделял синонимы поставщиков из СНГ и ДЗ. И что до 50 синонимов любыми буквами. Так что организуя справочник учтите, что в любой фирме есть сленг в наименовании поставщиков и клиентов. Это нужно использовать. А потому у них (клиенов и поставщиков) должно быть в таблице поле: КраткоеНаименование. И оно должно учитывать сленг, должно быть на русском языке, не должно иметь кавычек, иметь не более 10 букв. Если есть несколько слов, то писать без пробела и второе слово с большой буквы. Т.е. краткое название должно быть как удар хлыста и у всех на слуху. Второе, если на фирме есть 10 манагеров, то должен быть и юридический (или контрактный отдел), который ведет договора. Так и отдать туда ведение справочников в одни руки. Юзеры на это охотно идут, особенно после того как покажешь им клиентов: Днепр и Дгепр. Ошибаются во второй букве: особенно если это а и о. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 17:20:46 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
вся фишка в том, что менагеры вводят клиента в базу по факту первого общения с ним, а не по факту заключения договора. фирма торгует хлебопекарным оборудованием, и клиент созревает по году и более, а менагерам надо отчитываться о проведенных с ними акциях. Спасибо за идею "краткого наименования", мы его прозвали "псевдоним", но, может, Господа, подскажете еще какие-либо идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 08:59:35 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
Реально используется псевдоним длиной до 20 знаков, из заглавных русских букв и цифр без пробелов, возможно со знаком "-", буковки обозначающие форму собственности пришутся при необходимости в конце Имеется специальная процедура слияния контагентов на случай выявления дублей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 10:56:31 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
буду признательна за процедуру слияния контагентов на случай выявления дублей! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 11:03:32 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
слияние "дублей": 1) первичным ключом является краткое наименование 2) имеется таблица в которой перечислены имена таблиц и полей, в которых краткое наименование является foreign ключом 3) по всем таблицам и полям помянутым в п 2 производится изменение краткого наименования 4) удаляется "лишняя" запись в таблице контрагентов п 3 и 4 производятся в одной транзакции. если клюс суррогатный(счётчик), всё можно сделать аналогично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 11:34:52 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
Однажды на форуме наткнулся на это: /topic/66519&hl= Это не совсем то, но много и о том. Да и эта проблема у Вас встретится, если клиенты выбираются из поля со списком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 15:10:25 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
надо действтельно делать поле транслитерации в этом случае и перед вводом клиента запускать процедуру оценки созвучности уже имеющихся фраз. сам делаю примерно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 15:16:03 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
АлексейКинн кпп ? Хе ИНН еще ничего не дает, у железных дорог все филиалы допустим под одним ИНН ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 12:44:18 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
да, ИНН одинаковый у филиалов, его не применишь к нерезидентам, и главное - он катит только для 100% "белой" бухгалтерии. А если бухгалтерия, точнее учетная политика компании - реальная, и/или если в базу вносятся не толлько клиенты, заключившие договора, но также потенциальные клиенты, по факту первого общения с ними, с целью это общение продолжить - то надо что-то иное в качестве ключа использовать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 17:05:44 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
ужо и на форуме о проектировании БД вопрос поставлен, а идей - всё еще маловато будет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2004, 13:51:17 |
|
||
|
как устроить правильный ключ?
|
|||
|---|---|---|---|
|
#18+
Matilda Cherstinужо и на форуме о проектировании БД вопрос поставлен, а идей - всё еще маловато будет... а идей радикальных быть и не может - просто из анализа ситуации. 1. Если надо вводить всех (по первому контакту) - вводите всех. (никакой констрайнт на ИНН, совпадение, созвучие не спасет, как уже выяснилось). 2. Если при этом по возможности надо не вводить дубли - пишите не КОНСТРАЙНТ, а выдавайте информативное окно при вводе о существовании _Подобного_, где юзер мог бы уйти от ввода выбором аналога. Ответственность за выбор - на пользователе. 3. Процедуру (или запрос) выборки "подобного" сделайте отдельной. По мере уточнения алгоритмов (типов сходства) будете ее дописывать (перестановки слов, букв (та же транслитерация), и т.п.), не меняя всего остального. 4. И естественно нужна процедура ручного сведения дублей - та же подмена всех вторичных ключей. Хотя есть еще и метод не удалять "дубли" (и не замещать вторичные ключи) а хранить их как "представления" (поставив в них ссылки на "главное" или "корневое" представление) некой сущности. (тут важно организовать данные без кольцевых самоссылок. Например можно запретить узлам, на которые ссылаются представления, ссылаться на кого-либо (быть может кроме себя) - т.е. разрешить глубину ссылок не более 1. Как это сделать - вопрос к хранилищу данных. Если есть триггеры - то не триггерах, если нет - придется возложить контроль логической целостности на приложение.). И в _сводных_ отчетах по клиентам возвращать не "текущие представления клиентов" по записям, а всюду подставлять "корневые" представления. (запрос на замещение id при уровне ссылок не более 1 (т.е. 0|1) написать несложно на том же IIF(). Никакой рекурсии тут не будет). При этом вы получаете возможность оставлять в документах то представление (тот набор реквизитов клиента), который был при вводе документа, не перегружая базу необходимостью хранить в самих документах данные о клиенте в том виде, в каком они были на момент создания|редактирования документа, а создавая набор защищенных от редактирования (в случае ссылающихся на него существования документов) представлений одного и того же клиента. Тут потребуется при "сведении" ранее независимых сущностей в одну определить, кто из них будет "корнем", а кто - представлением - т.е. кому переписать вторичный ключ (то ли Null, то ли себя самое - как вам удобнее) на значение этого корня. Никаких иных правок вторичных ключей (в других таблицах) при "сведении" таких сущностей в одну, но имеющую разные представления не потребуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2004, 16:33:39 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32770649&tid=1670519]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 338ms |

| 0 / 0 |
