powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как лучше сделать?
12 сообщений из 12, страница 1 из 1
Как лучше сделать?
    #32265309
Pohipodium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть БД в главном офисе
есть БД в филиалах
между ними нет сети, модема, ничего нет.
синхронизация происходит по данным: № филиала, № записи в филиале.
все замечательно, но в филиалах тоже работают на компах, которые не в сети или на дому.

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

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

посовейтуйте, pls.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32265636
Фотография Tung
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изменяются ли записи в главном оффисе? + Изменяются и данные в последующем в филиалах?
Какие связи между таблицами ? В какие таблицы в основном вставляются записи?
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32265772
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как часто происходит синхронизация?
К № записи можно добавить UserName или что-то вроде этого.
Хороший вариант с диапозоном, но реализация ... зависит от критериев задачи
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32266022
Pohipodium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
записи, подгруженные из филиалов могут быть изменены в главном офисе.
в филиалах после подтверждения отправки в офис, записи не меняются
Синхронизация может происходить так часто как это необходимо с точки зрения пользователей.
UserName в таком случае кто-то должен присваивать, а на практике они все под одним именем ходят.

а вот такая мысль: если при инсталяции сохранять номер запуска и от него генерить диапазон, допустим по 1000000 на машину...
не очень красиво наверное :-(
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32266359
Фотография Tung
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
честно говоря, что-то не понял про диапазоны,

попробуйте сделать поле в бд, в которое заносится информация на синхронизаию, наприменр при инсерте и апдейте заноситься значение TRUE, после того как данные были экспортированы на синхронизацию, постаить FALSE, во всех записях
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32266374
Pohipodium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да нет, как отмечать синхронизированные записи понятно,
вопрос в том, как сделать код, доступный и в филиале и в офисе, по которому филиал может видеть свои записи.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32266403
Фотография Luchkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
синхронизация происходит по данным: № филиала, № записи в филиале.
все замечательно, но в филиалах тоже работают на компах, которые не в сети или на дому.
...
Так ведь в таком случае комп вне сети филиала - так сказать подфилиал (филиал в филиале), так что у вас практически один выход.
сделать так, чтобы было: № филиала, № подсети(компьютера), № записи в подсети.
Т.о., дабы узнать что лежит в конкретной записи, нужно знать все три циферки...
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32266845
Фотография viman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/29782\r
возможно идея со сдвигами поможет
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32266896
Pohipodium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
 
START WITH        1                        3                         5 
INCREMENT BY      10                       10                        10 
Range Example     1 ,  11 ,  21 ,  31 , ...      3 ,  13 ,  23 ,  33 ,...        5 ,  15 ,  25 ,  35 ,  45 ,...


красивое решение.
а если филиалов больше 10 :-(
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32266906
Pohipodium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
увеличить шаг... торможу :-)
но тогда можно сделать проще
для 100 филиалов
№ филиала - всегда 2-х значное число 00, 01, 02, 03, 04, 05...99
в филиале генериться последовательность 1,2,3...

и составной код, для 09 филиала:
109
209
309
..
для 91
191
291
391

во... спасибо, что подтолкнули :-)
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32266925
Pohipodium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
шаг 100 короче :-)))
все, уже вечер, пиво-глюки и пр.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32267179
Фотография viman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шаг хорошо конечно, но мы в итоге остановились на диапазоне значений. Предпологаем что в филиале больше 10000000 записей быть не может (реально 100000 будет не скоро) и стартуем с шагом 1 первый филиал с 10000000, второй с 20000000 и т.д. По крайней мере можно сделать селект бетвин 10000000 и 20000000, чтобы посмотреть записи одного филиала.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как лучше сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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