• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Еще Раз Уникальность

  • Автор темы iivvnn
  • Дата начала
I

iivvnn

Есть база (40 тыс документов). Каждому вручную присваивается (произвольняа комбинация символов) серийный номер. Документы разделены между 4 юзерами ридерс-полями. Как лучше всего реализовать уникальность ввода этого серийника, так что бы он был уникальный на всю базу?
Если брать вариант вьюха с сортколонкой серийника - то реализуется уникальность только по документах определенного юзера - не катит.
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Как лучше всего реализовать уникальность ввода этого серийника
а если присваивать автоматом?

Формировать по-принципу формирования UNID документов?
например: часть текущая дата время, часть реплика ID, часть рандомных символов.

или использовать непосредственно UNID документа
 
N

nvyush

Если брать вариант вьюха с сортколонкой серийника - то реализуется уникальность только по документах определенного юзера - не катит.
Если категоризовать эту колонку и не взводить галку Don't show empty categories, то очень даже катит (на одном сервере).
 
I

iivvnn

а если присваивать автоматом?

Формировать по-принципу формирования UNID документов?
например: часть текущая дата время, часть реплика ID, часть рандомных символов.

или использовать непосредственно UNID документа
Этот номер не берется с головы - это реальный серийный номер детали, который заносится в базу.
 

Мыш

Lotus Team
12.02.2008
1 220
29
BIT
71
Этот номер не берется с головы - это реальный серийный номер детали, который заносится в базу.
Не очень понятно - т.е., он реальный (написан на детали) но не уникальный? А как тогда Вы планируете сопоставлять реальные номера с занесенными в базу, если, скажем, есть 2 детали с одинаковыми реальными номерами?
 
M

morpheus

iivvnn
нагенерируйте 40 к. документов номеров - и дёргайте, кто первый тот и застолбил номер.
после чего благополучно самоудалилться док-нумератор
 
I

iivvnn

Не очень понятно - т.е., он реальный (написан на детали) но не уникальный? А как тогда Вы планируете сопоставлять реальные номера с занесенными в базу, если, скажем, есть 2 детали с одинаковыми реальными номерами?

Номер реальный - на детали. В реальной жизни номер уникалный. По базе документ-детали бегает (ну и в жизни деталь) от одного юзера к второму, которые териториально находятся в разных регионах страны. Просто есть лабухи (число юзеров я сильно сократил) у которых деталь на руках (ну забыл что перемещал по системе), а в базе он ее не видит, т.к. она уже в системе у другого (ридерс-поля документа меняются). Так вот он смотря на СН детали берет и создает новый документ на эту деталь - теперь их 2 в базе. И так массово
 
R

RAJ

Номер реальный - на детали. В реальной жизни номер уникалный. По базе документ-детали бегает (ну и в жизни деталь) от одного юзера к второму, которые териториально находятся в разных регионах страны. Просто есть лабухи (число юзеров я сильно сократил) у которых деталь на руках (ну забыл что перемещал по системе), а в базе он ее не видит, т.к. она уже в системе у другого (ридерс-поля документа меняются). Так вот он смотря на СН детали берет и создает новый документ на эту деталь - теперь их 2 в базе. И так массово

создайте документ,
запишите в него номер,
вызовите агента через RunOnServer (NoteID)- я думаю, сервер видит все документы
результат проверки сервером запишите в этот документ и обработайте его после вызова агента

P.S.: помоему гораздо лучше завести справочник продукции, который видят все
 
M

morpheus

iivvnn
встаёт вопрос, а может пользователь должен видеть документ-деталь той детали которую держит в руках.

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

в документе-номере хранить только номер ))
 
I

iivvnn

создайте документ,
запишите в него номер,
вызовите агента через RunOnServer (NoteID)- я думаю, сервер видит все документы
результат проверки сервером запишите в этот документ и обработайте его после вызова агента

P.S.: помоему гораздо лучше завести справочник продукции, который видят все
В общедоступном справочнике хранить перечень серийников разбивая их по видам деталей? Т.е. при создании нового док смотреть туда и смотреть есть ли такой номер?

Добавлено:
iivvnn
встаёт вопрос, а может пользователь должен видеть документ-деталь той детали которую держит в руках.

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

в документе-номере хранить только номер ))
Он должен видеть док - только когда она у него - просто бывают случаи что по базе перемещают шустрее нежели физически.
Т.е. для документа детали создавать совй док номер только видымый для всех?? Получается кол-во документов в базе 40к Х 2?
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
41
В общедоступном справочнике хранить перечень серийников разбивая их по видам деталей? Т.е. при создании нового док смотреть туда и смотреть есть ли такой номер?

Добавлено:
Он должен видеть док - только когда она у него - просто бывают случаи что по базе перемещают шустрее нежели физически.
Т.е. для документа детали создавать совй док номер только видымый для всех?? Получается кол-во документов в базе 40к Х 2?

Вам же написали что нужно делать поиск от системного пользователя (от имени сервера обычно), этот пользователь видит все документы.
Сделать это можно через агент запускаемый на сервере, обмен данными с таким агентом осуществляется "промежуточным/временным" документом (который после проверки удаляется).

Сделали поиск, нашли документ, нашли что он у другого пользователя, и выдали информацию "Что этот документ Васи Пупкина, свяжись с ним чтобы в базе он тебе передал его..." и красота)
 

Мыш

Lotus Team
12.02.2008
1 220
29
BIT
71
Получается кол-во документов в базе 40к Х 2?
Да это не страшно, в общем - при условии, что база не будет сильно расти. Делаем простейшие доки-номера, скрытый вид, отбирающий только их, при проверке наличия серийника по нему делаем @Dblookup... А ведь можно вынести доки-номера и в отдельную базу...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!