powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нумерация счетов
21 сообщений из 21, страница 1 из 1
Нумерация счетов
    #33011348
Фотография Easygoing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые коллеги, поделитесь опытом, как увас организована нумерация выставляемых счетов. У меня возникла необходимость возможности выставления счетов с уникальными номерами с нубуков торговых представителей которые 80% времени оффлайн. Пока есть толко одна идея, в каждой копии бд хранить некий уникальный идентификатор, который будет кодироваться в номер счета. Если вы уже решали подобные задачи, буду признателен за информацию.
Заранее спасибо.
...
Рейтинг: 0 / 0
Нумерация счетов
    #33011403
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, в общем, совершенно универсальная задача.

- Если можно использовать id продавца как часть номера - делайте именно так; наиболее простой и надежный путь. Сделайте нумерацию вида NNNN/XX, где NNNN - номер по порядку, XX - продавец; всем будет удобно.

- Если не лень - можно выделять пулы номеров продавцам. Если продавец выставляет за день максимум десять счетов - пусть центральный сервер резервирует за ним сто номеров, а раз в неделю-две при синхронизации выделяет следующий пул.

- Чередование, то есть первому продавцу секвенсор настраивается как start with 1 increment by 100, второму - start with 2 increment by 100 и так далее. Собственно то же самое, что и первый путь, вид сбоку.

- Какая-нибудь жуть типа GUID, в качестве номера счета.
...
Рейтинг: 0 / 0
Нумерация счетов
    #33011479
Фотография Easygoing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор- Если можно использовать id продавца как часть номера - делайте именно так; наиболее простой и надежный путь. Сделайте нумерацию вида NNNN/XX, где NNNN - номер по порядку, XX - продавец; всем будет удобно.

Скорее не продавца, а копии скуля, т.к. продавец может заводить счета на разных рабочих местах, работающих с разными серверами.
...
Рейтинг: 0 / 0
Нумерация счетов
    #33011705
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EasygoingСкорее не продавца, а копии скуля, т.к. продавец может заводить счета на разных рабочих местах, работающих с разными серверами.
Согласен. Просто для меня неожиданна идея системы, в которой у продавцов есть ноутбуки, но они при этом активно ими меняются.
...
Рейтинг: 0 / 0
Нумерация счетов
    #33012118
кхе-кхе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer EasygoingСкорее не продавца, а копии скуля, т.к. продавец может заводить счета на разных рабочих местах, работающих с разными серверами.
Согласен. Просто для меня неожиданна идея системы, в которой у продавцов есть ноутбуки, но они при этом активно ими меняются.

а если и меняются - пусть логинятся в систему под своими ID которые им будут выдаваться админом БД вместе с паролем и логином
...
Рейтинг: 0 / 0
Нумерация счетов
    #33012345
Фотография Easygoing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кхе-кхе softwarer EasygoingСкорее не продавца, а копии скуля, т.к. продавец может заводить счета на разных рабочих местах, работающих с разными серверами.
Согласен. Просто для меня неожиданна идея системы, в которой у продавцов есть ноутбуки, но они при этом активно ими меняются.

а если и меняются - пусть логинятся в систему под своими ID которые им будут выдаваться админом БД вместе с паролем и логином

ну да...... представь себе такую ситуацию:

у него на нубуке порядковый номер счета 1000 и ID 'AO'
потом он оказывается в центральном офисе где счетчик 1000 и пи................
...
Рейтинг: 0 / 0
Нумерация счетов
    #33012402
eriwerwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я о другом говорил

номера счетов пусть иду как идут у каждого на его ноутбуке в его системе

номер счета формировать как стринг <код сотрудника & код типа документа & код счета>

так вот имеется в виду, что коды сотрудникам нужно присваивать централизовано - админ БД выдает его вместе с паролем в систему и логином

например с ноутбука RSSU-MOS-567 в систему зашел пользователь с логином USER и паролем DEDEMAN при этом он опознается как пользователь Василий Петров и его ID VPTRV

в системе все номера счета (и прочих документов) формируются по этому упомянутому правилу как VPTRV_26_00001

если на этом же компьютере в систему зашел (залогинился) Сергей Пупкин его документы (в пределах таблиц этой же БД) формируются по аналогичным правилам, но выглядят как SPPKN_26_00002

чес гря даже жалко времени на объяснялки таких простых вещей
...
Рейтинг: 0 / 0
Нумерация счетов
    #33012429
Фотография Easygoing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы наверное не вникли в то о чем я говорю. Речь идет о том, что счета сливаются в центральную БД + можно заводить счета непосредственно в центральной БД. Торгаши могут работать на разных компутерах (проверено практикой) либо с центральной БД либо с desctop engine, т.е. есть потенциальная возможность забить 2 счета с одинаковыми номерами типа nnnn id. При переливе их в центральную БД получаем пи......................
...
Рейтинг: 0 / 0
Нумерация счетов
    #33013324
к3цуцуе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EasygoingВы наверное не вникли в то о чем я говорю. Речь идет о том, что счета сливаются в центральную БД + можно заводить счета непосредственно в центральной БД. Торгаши могут работать на разных компутерах (проверено практикой) либо с центральной БД либо с desctop engine, т.е. есть потенциальная возможность забить 2 счета с одинаковыми номерами типа nnnn id. При переливе их в центральную БД получаем пи......................

да, согласен, это чтот я лопухнулся - не додумал - поротопился


можно на каждый ком забивать диапазон в котором должны нумероваться счета на этом компьютере

200000001 - 2999999999
300000001 - 3999999999
400000001 - и т.п.
...
Рейтинг: 0 / 0
Нумерация счетов
    #33013432
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не проще GUID использовать?
...
Рейтинг: 0 / 0
Нумерация счетов
    #33013579
Фотография Easygoing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опупительно удобный номер счета получится......................
...
Рейтинг: 0 / 0
Нумерация счетов
    #33015527
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что весело - не сказано ничего нового по сравнению с моим первым ответом. Так и будет пережевываться еще пару месяцев :)
...
Рейтинг: 0 / 0
Нумерация счетов
    #33015565
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зато уникальный :-)
...
Рейтинг: 0 / 0
Нумерация счетов
    #33015754
YBW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
YBW
Гость
softwarerЧто весело - не сказано ничего нового по сравнению с моим первым ответом. Так и будет пережевываться еще пару месяцев :)

желаете орден Кутузова на груть? с награждением лично Кутузовым

со всем своим уважением, отмечу, однако, что считаю дискусиию не "пережевыванием" а обсуждением...

субуго ИМХО использование GUID в контексте общей задачи не может рассматриваться как методологически верное решение - это своего рода "подпорка"... кроме того, что она ничего, по сути, на 100% не гарантирует...

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

в любом случае задача формирования уникального признака должна ложиться на центральную БД-сервер...

ИМХО при каждом "сливании" данных с клиентских лэптопов, они должны получать уникальный идентификатор (пул номеров) на следующую сессию, до следующего подключения БД-клиента к БД-серверу...

таким образом номер счета будет формироваться как последовательность

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

Идентификатор обеспечивающий уникальность записи в пределах локальной БД (Autoincrement или иной уникальный ключ)

уникальность идентификаторов или будет полностью контролироваться центральной БД (приложением)

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

это будет минимально удовлетворять предъявленным требованиям, кроме того, можно дополнительно включать в сгенерированный номер счета ID пользователя

REM рекомендую рассмотреть вариант

вариант "Ч"- снабдитьь ноутбуки GPS устройствами и использовать GPS для точного определения координат пользователя... и на основе этих данных формировать ключ как коннактенацию точного времени и данных о географическом положении ноутбука...

дополнительно снабдить ноутбуки БлюТус устроиствами, которые блокировали ввод новых данных в приложении при установлении связи с другим ноутбуком, на котором в этот момент ведется работа с таким приложением,
это для того, чтобы избежать вероятных конфликтов, если система GPS определит одинаковые географические данные для двух пользователей, работающих рядом на разных ноутбуках...
...
Рейтинг: 0 / 0
Нумерация счетов
    #33015843
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YBWжелаете орден Кутузова на груть? с награждением лично Кутузовым
Спасибо, у меня уже есть :)

YBWсо всем своим уважением, отмечу, однако, что считаю дискусиию не "пережевыванием" а обсуждением...
Признаться, именно дискуссионного обсуждения я пока не вижу. И пока что считаю тему слишком однозначной, слишком очевидной, чтобы было что всерьез обсуждать.
...
Рейтинг: 0 / 0
Нумерация счетов
    #33016251
Фотография Владимир П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YBWвариант "Ч"- снабдитьь ноутбуки GPS устройствами и использовать GPS для точного определения координат пользователя... и на основе этих данных формировать ключ как коннактенацию точного времени и данных о географическом положении ноутбука...

Придется выходить на крыльцо оформлять счет. Заодно устраивать перекур, чтоб два раза не выходить.
...
Рейтинг: 0 / 0
Нумерация счетов
    #33016442
цукеуке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer YBWжелаете орден Кутузова на груть? с награждением лично Кутузовым
Спасибо, у меня уже есть :)

YBWсо всем своим уважением, отмечу, однако, что считаю дискусиию не "пережевыванием" а обсуждением...
Признаться, именно дискуссионного обсуждения я пока не вижу. И пока что считаю тему слишком однозначной, слишком очевидной, чтобы было что всерьез обсуждать.

я вижу смысл в любом, практически, обсуждении имеющем релевантный референт и не назову его пережевыванием...

если не вижу смысла - то не вступаю в обсуждение, но все равно не назову его пережевыванием

REM>

понимаю, что это ничего не доказывает - просто нота...
...
Рейтинг: 0 / 0
Нумерация счетов
    #33019493
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eriwerwerя о другом говорил

номера счетов пусть иду как идут у каждого на его ноутбуке в его системе

номер счета формировать как стринг <код сотрудника & код типа документа & код счета>

так вот имеется в виду, что коды сотрудникам нужно присваивать централизовано - админ БД выдает его вместе с паролем в систему и логином

например с ноутбука RSSU-MOS-567 в систему зашел пользователь с логином USER и паролем DEDEMAN при этом он опознается как пользователь Василий Петров и его ID VPTRV

в системе все номера счета (и прочих документов) формируются по этому упомянутому правилу как VPTRV_26_00001

если на этом же компьютере в систему зашел (залогинился) Сергей Пупкин его документы (в пределах таблиц этой же БД) формируются по аналогичным правилам, но выглядят как SPPKN_26_00002

чес гря даже жалко времени на объяснялки таких простых вещей
Если еще добавить номер БД, с которой заводится счет, в формирование счета, то проблема с введением счетов с двух и более компов одним продавцем решена
Но вот сам номер вида DB10_SPPKN_26_00002 выглядит по меньшей мере странно...
ЗЫ все ИМХО!!!
...
Рейтинг: 0 / 0
Нумерация счетов
    #33019629
Фотография Deft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ! А почему бы не добавить в номер счета идентификатор ноутбука?
Сделать типа <код сотрудника>&<код ноутбука>&<номер счета>+ потенциально ещё что-нибудь.

Вид типа AA010001 (или AA_01_0001), где
AA - код сотрудника, их может быть примерно 676 (26*26 - количество комбинаций букв, думаю этого достаточно на первое время),
01 - код ноутбука (их тоже может быть около 100)
0001 - на первое время 9999 счетов хватит, + можно 2 циферки добавить в качестве года.

И сделать распознавание кодировки как в банковских счетах, типа 810 код валюты (6,7,8 циферки)

По моему и вид не такой страшный AA010001
...
Рейтинг: 0 / 0
Нумерация счетов
    #33019630
Фотография Deft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем адрес сервера сделать 00 (в качестве поля ноутбука)
...
Рейтинг: 0 / 0
Нумерация счетов
    #33049098
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deft AA - код сотрудника, их может быть примерно 676 (26*26 - количество комбинаций букв, думаю этого достаточно на первое время),


а если с цифрами - то 36*36 = 1296 (!)

эх.... жалко что нельзя в таком же виде нумеровать накладные и счета-фактуры
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нумерация счетов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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