|
Контроль уникальности кодов в справочнике в РИБ | ☑ | ||
---|---|---|---|---|
0
serg-lom89
17.07.18
✎
11:00
|
добрый день
не могу понять как уйти от одной проблемы... УТ,10...риб проблема: иногда появляются дубли кодов справочников(контрагенты в основном),а в вмс возникают проблемы при загрузке данных из 1с. получается что в какой то из баз возникает дубль кода справочника контрагенты. и вот не могу понять как реализовать что бы быстренько проверяло на уникальность кода в заданном справочнике на заданном узле? P.S. Думал сделать план обмена ,на который будут регистрироваться изменения,и потом какое нить фоновое будет бегать через веб сервис ,и шуршать по базам и искать дубли в заданном справочнике...Ну а потом выводить каким нить отчета. это не очень быстрая проверка и актуальная,а хотелось бы что бы актуальная проверка была.. контроль уникальности стоит в справочнике Веб сервис который проверяет проверяет константу "ПрефиксУзлаРаспределеннойИнформационнойБазы" я сделал прошу подкинуть идей |
|||
1
xxTANATORxx
17.07.18
✎
11:04
|
поставь префикс
|
|||
2
xxTANATORxx
17.07.18
✎
11:05
|
(1)для кода справочника ессно
|
|||
3
serg-lom89
17.07.18
✎
11:19
|
(1) для сравочников и констант я проверку поставил...а как вот проверять на то что бы в других базах не было дублей?
|
|||
4
serg-lom89
17.07.18
✎
11:20
|
(3) справочника организации)
|
|||
5
Eiffil123
17.07.18
✎
11:32
|
(3) у тебя в каждой базе должен быть свой префикс для кодов новых элементов. тогда и пересечения кодов не будет
|
|||
6
serg-lom89
17.07.18
✎
11:36
|
(5) так префикс задается в константе
|
|||
7
МихаилМ
17.07.18
✎
11:37
|
или префикс или уникальное значение или разрешение вводить только в одной базе .
|
|||
8
serg-lom89
17.07.18
✎
11:54
|
(7) вводить в одной базе не получиться (контрагентов точно)
потому что с клиентами работают новыми. префикс,какая то настройка ? |
|||
9
lodger
17.07.18
✎
11:58
|
(6) у каждой базы в рибе надо сделать еще одну константу, которая не участвует в обмене. в нее писать префикс этой базы.
современные префиксы обычно уже состоят из 2х частей. например, УТРТ (управление торговлей в розничной точке), УТОФ (управление торговлей в офисе), УТДС (управление торговлей в далёком складе). но может лучше сделать Настоящий ВебСервис? который поможет вести оперативный контроль справочников? да и других фишек навешать можно будет. например: во вторичной базе юзер хочет выбрать контрагента, которого не нашел в своем справочнике. жмякает "создать", вводит поля. вторичная база стучится httpзапросом в первичную, первичная ищет у себя такого контрагента по ключам уникальности (ИНН, КПП, Полное наименование) и в ответ отдает структуру. в структуре есть флаги ("есть точное совпадение", "создан новый контрагент" для диагностики и записи в ЖР), строка с УникальныйИдентификатор, строка с кодом. вторичная база, приняв ответ, делает УстановитьСсылкуНового и пихает туда указанный УИ. если первичная не нашла, тогда она пишет пустую заготовку с ключевыми полями у себя, получает код, отправляет в ответ получившуюся ссылку и код. если вторичная база не смогла выйти на связь с первичной, то спрашивает у юзера и дальше сам придумаешь как жыть. |
|||
10
serg-lom89
17.07.18
✎
14:33
|
(9)
ПрефиксУзлаРаспределеннойИнформационнойБазы и так не обменивается я вот думал что бы оно стучало во все базы,а их штук 15...((( и пока все оббежит долго будет |
|||
11
serg-lom89
17.07.18
✎
14:34
|
и кол-во баз будет расти
|
|||
12
Вафель
17.07.18
✎
14:36
|
(10) В таких случаюх задумываются о базах с мастер данными
|
|||
13
lodger
17.07.18
✎
14:44
|
(10) зачем стучать во все, когда данные можно аккумулировать в одной МастерБазе?
|
|||
14
dezss
17.07.18
✎
14:47
|
ИМХО, в узлах риба только доки...справочники должны заполняться в центральной базе
|
|||
15
serg-lom89
17.07.18
✎
14:51
|
(14) не получиться так...точка работает удаленно,магазин,и получается пришел клиент,его не будут заводить в своей ,а центральной только,ждать пока придет обмен,долго...
|
|||
16
Nikoss
17.07.18
✎
14:54
|
(12)(13) что такое мастер база?
|
|||
17
dezss
17.07.18
✎
14:58
|
(15) ну тогда только префиксация
|
|||
18
lodger
17.07.18
✎
15:11
|
(16) в картинках это вот как в тут https://курсы-по-1с.рф/articles/дисконтный-сервер-в-1с-розница-2-1/
но не продажи по дисконту, а НСИ. |
|||
19
serg-lom89
17.07.18
✎
15:25
|
(18) ну вот что то такое я и планировал..просто получается надо что бы все в одной базе проверяло ,т.е. на филиалах (удаленных магазинах) через веб сервис выполнялось подключение к Центральной и выполнялся какой то запрос...вот только возникает вопрос,а что если в этот момент базеN создался такой же код(вероятность маленькая но все таки) и придет уже с обменом позже(мин через 10)
|
|||
20
Nikoss
17.07.18
✎
20:12
|
(19) как вариант:
Константа - ПоследнийКодСправочника. При создании элемента в филиале, ПередЗаписью (или при установке нового номера или еще где) обращение к веб-сервису центра, получаем ПоследнийКодСправочника, тут же её же +1. Элементу присваиваем код полученный от веб-сервиса. Тут может получится пропуск каких-то кодов по порядку, в случае отказа на запись после получения ПоследнийКодСправочника, но уникальность будет гарантирована. Если такие пропуски недопустимы, надо будет еще усложнять систему с проверкой после записи. По мне так из-за какого-то кода лепить это все не очень та и целесообразно. Проще префикс. Ну и в случае каких-либо веб-сервисов, стоит учесть варианты падения интернета на филиале, когда до центра не достучаться будет. |
|||
21
serg-lom89
18.07.18
✎
08:30
|
(20)
насчет интернета да...потому что разные точки в разное время открываются и получается ,могут не все доступны быть...ну и проблемы со связью исключать нельзя. |
|||
22
serg-lom89
18.07.18
✎
08:31
|
(21) это мелких точек касается
|
|||
23
Сияющий в темноте
18.07.18
✎
09:19
|
Обычная нерешаемая проблема риб,если в двух узлах создают элементы с одними и теми же данными.Всякое шаманство с подключением к опрелеленной базе,это уже не риб,здесь сразу повод задуматься о переходе в единую базу,т.к.это проще,удобнее и исключает многин проблемы
а если есть проблемы со связью,то будет два элемента в любом случае,если,конечно,в удаленном филиале будут работать с программой,а не выключат ее,если же выключат,то смысл риб теряется. |
|||
24
serg-lom89
18.07.18
✎
09:23
|
(23) "Обычная нерешаемая проблема риб"
-прокляетие риб?)))(,как проклятие Черной жемчужины в пиратах кар. моря?) |
|||
25
Eiffil123
18.07.18
✎
09:47
|
Так а в чем проблема то? префиксация кода должна помочь, зачем какие-то велосипеды.
|
|||
26
lodger
18.07.18
✎
11:28
|
(19) "если в этот момент базеN создался такой же код" - вероятность нулевая, т.к. базеN в то же самое время сходила к тому же вебсервису, а он отдает только последовательные номера\ссылки.
|
|||
27
dezss
18.07.18
✎
15:36
|
(26) нет инета - нет мультиков)
|
|||
28
lodger
18.07.18
✎
15:42
|
(27) легко, делаем пул резервных мультиков. юзаем его в периоды засухи, восполняем когда интернет приходит в дом.
но появляется проблема дублирования - это уже более вопрос теоретический чем практический. где вы видели контрагентов, которые мечутся из одного офиса в другой и формируют закупку там и сям в обозримый промежуток времени? |
|||
29
Serg_1960
18.07.18
✎
15:46
|
Интуиция мне подсказывает, что если автор озвучит примеры дублирования, то разбор полётов пойдёт более плодотворно.
И может быть даже выяснится, например, что один из префиксов является подмножеством другого (намекаю на единое пространство автонумерации). |
|||
30
olegves
18.07.18
✎
15:48
|
(0) НСИ надо всегда вводит в одном месте. Можно разные Справочники в разных местах, но всегда 1 справочник - одно место ввода. В остальных базах данные появляются с обменами.
|
|||
31
Serg_1960
18.07.18
✎
15:59
|
(30) Не обязательно ограничивать ввод НСИ одним местом (двусмысленная фраза получилась, вы не находите? :)
Достаточно чётко определить в бизнес-процессах кто/когда/чего/куда. У нас, например, наиболее ходовые справочники, типа контрагенты и номенклатура, вводятся в нескольких узлах. Тоже самое относится к документам. Дублированием не страдаем :) |
|||
32
xxTANATORxx
18.07.18
✎
16:11
|
автор, а чем не устраивает уникальный префикс кода для каждого узла?
|
|||
33
Serg_1960
18.07.18
✎
16:27
|
(32) Автор утверждает, что он использует префиксы узлов, но дублирование всё равно (периодически) происходит. Более детальную информацию он не предоставил. Как по мне, так журнал регистрации действий - вполне достаточно, чтобы установить "кто есть кто".
|
|||
34
dezss
18.07.18
✎
17:16
|
(28) ну про пул до этого не было ничего...
|
|||
35
dezss
18.07.18
✎
17:16
|
(34) + а с пулом да, должно взлететь...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |