Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Контроль уникальности кодов в справочнике в РИБ

Контроль уникальности кодов в справочнике в РИБ
Я
   serg-lom89
 
17.07.18 - 11:00
добрый день
не могу понять как уйти от одной проблемы...
УТ,10...риб

проблема:  иногда появляются дубли кодов справочников(контрагенты в основном),а в вмс возникают проблемы при загрузке данных из 1с.
получается что в какой то из баз возникает дубль кода справочника контрагенты.

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

P.S.
Думал сделать план обмена ,на который будут регистрироваться изменения,и потом какое нить фоновое будет бегать через веб сервис   ,и шуршать по базам и искать дубли в заданном справочнике...Ну а потом выводить каким нить отчета.
это не очень быстрая проверка и актуальная,а хотелось бы что бы актуальная проверка была..
контроль уникальности стоит в справочнике
Веб сервис который проверяет проверяет константу "ПрефиксУзлаРаспределеннойИнформационнойБазы" я сделал

прошу  подкинуть идей
 
 
   xxTANATORxx
 
1 - 17.07.18 - 11:04
поставь префикс
   xxTANATORxx
 
2 - 17.07.18 - 11:05
(1)для кода справочника ессно
   serg-lom89
 
3 - 17.07.18 - 11:19
(1) для сравочников и констант я проверку поставил...а как вот проверять на то что бы в других базах не было дублей?
   serg-lom89
 
4 - 17.07.18 - 11:20
(3) справочника организации)
   Eiffil123
 
5 - 17.07.18 - 11:32
(3) у тебя в каждой базе должен быть свой префикс для кодов новых элементов. тогда и пересечения кодов не будет
   serg-lom89
 
6 - 17.07.18 - 11:36
(5) так префикс задается в константе
   МихаилМ
 
7 - 17.07.18 - 11:37
или префикс или уникальное значение или разрешение вводить только в одной базе .
   serg-lom89
 
8 - 17.07.18 - 11:54
(7) вводить в одной базе не получиться (контрагентов точно)
потому что с клиентами работают новыми.
префикс,какая то настройка ?
   lodger
 
9 - 17.07.18 - 11:58
(6) у каждой базы в рибе надо сделать еще одну константу, которая не участвует в обмене. в нее писать префикс этой базы.
современные префиксы обычно уже состоят из 2х частей.
например, УТРТ (управление торговлей в розничной точке), УТОФ (управление торговлей в офисе), УТДС (управление торговлей в далёком складе).

но может лучше сделать Настоящий ВебСервис? который поможет вести оперативный контроль справочников? да и других фишек навешать можно будет.
например:
во вторичной базе юзер хочет выбрать контрагента, которого не нашел в своем справочнике. жмякает "создать", вводит поля. вторичная база стучится httpзапросом в первичную, первичная ищет у себя такого контрагента по ключам уникальности (ИНН, КПП, Полное наименование) и в ответ отдает структуру.
в структуре есть флаги ("есть точное совпадение", "создан новый контрагент" для диагностики и записи в ЖР), строка с УникальныйИдентификатор, строка с кодом.
вторичная база, приняв ответ, делает УстановитьСсылкуНового и пихает туда указанный УИ.

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

если вторичная база не смогла выйти на связь с первичной, то спрашивает у юзера и дальше сам придумаешь как жыть.
   serg-lom89
 
10 - 17.07.18 - 14:33
(9)
ПрефиксУзлаРаспределеннойИнформационнойБазы и так не обменивается

я вот думал что бы оно стучало во все базы,а их штук 15...(((
и пока все оббежит долго будет
 
 Рекламное место пустует
   serg-lom89
 
11 - 17.07.18 - 14:34
и кол-во баз будет расти
   Вафель
 
12 - 17.07.18 - 14:36
(10) В таких случаюх задумываются о базах с мастер данными
   lodger
 
13 - 17.07.18 - 14:44
(10) зачем стучать во все, когда данные можно аккумулировать в одной МастерБазе?
   dezss
 
14 - 17.07.18 - 14:47
ИМХО, в узлах риба только доки...справочники должны заполняться в центральной базе
   serg-lom89
 
15 - 17.07.18 - 14:51
(14) не получиться так...точка работает удаленно,магазин,и получается пришел клиент,его не будут заводить в своей ,а центральной только,ждать пока придет обмен,долго...
   Nikoss
 
16 - 17.07.18 - 14:54
(12)(13) что такое мастер база?
   dezss
 
17 - 17.07.18 - 14:58
(15) ну тогда только префиксация
   lodger
 
18 - 17.07.18 - 15:11
(16) в картинках это вот как в тут https://курсы-по-1с.рф/articles/дисконтный-сервер-в-1с-розница-2-1/
но не продажи по дисконту, а НСИ.
   serg-lom89
 
19 - 17.07.18 - 15:25
(18) ну вот что то такое я и планировал..просто получается надо что бы все в одной базе проверяло ,т.е. на филиалах (удаленных магазинах) через веб сервис выполнялось подключение к Центральной и выполнялся какой то запрос...вот только возникает вопрос,а что если в этот момент базеN создался такой же код(вероятность маленькая но все таки) и придет уже с обменом позже(мин через 10)
   Nikoss
 
20 - 17.07.18 - 20:12
(19) как вариант:
Константа - ПоследнийКодСправочника.
При создании элемента в филиале, ПередЗаписью (или при установке нового номера или еще где) обращение к веб-сервису центра, получаем ПоследнийКодСправочника, тут же её же +1. Элементу присваиваем код полученный от веб-сервиса.
Тут может получится пропуск каких-то кодов по порядку, в случае отказа на запись после получения ПоследнийКодСправочника, но уникальность будет гарантирована. Если такие пропуски недопустимы, надо будет еще усложнять систему с проверкой после записи.
По мне так из-за какого-то кода лепить это все не очень та и целесообразно. Проще префикс.

Ну и в случае каких-либо веб-сервисов, стоит учесть варианты падения интернета на филиале, когда до центра не достучаться будет.
   serg-lom89
 
21 - 18.07.18 - 08:30
(20)
насчет интернета да...потому что разные точки в разное время открываются и получается ,могут не все доступны быть...ну и проблемы со связью исключать нельзя.
   serg-lom89
 
22 - 18.07.18 - 08:31
(21) это мелких точек касается
   Сияющий в темноте
 
23 - 18.07.18 - 09:19
Обычная нерешаемая проблема риб,если в двух узлах создают элементы с одними и теми же данными.Всякое шаманство с подключением к опрелеленной базе,это уже не риб,здесь сразу повод задуматься о переходе в единую базу,т.к.это проще,удобнее и исключает многин проблемы
а если есть проблемы со связью,то будет два элемента в любом случае,если,конечно,в удаленном филиале будут работать с программой,а не выключат ее,если же выключат,то смысл риб теряется.
   serg-lom89
 
24 - 18.07.18 - 09:23
(23) "Обычная нерешаемая проблема риб"
-прокляетие риб?)))(,как проклятие Черной жемчужины в пиратах кар. моря?)
   Eiffil123
 
25 - 18.07.18 - 09:47
Так а в чем проблема то? префиксация кода должна помочь, зачем какие-то велосипеды.
   lodger
 
26 - 18.07.18 - 11:28
(19) "если в этот момент базеN создался такой же код" - вероятность нулевая, т.к. базеN в то же самое время сходила к тому же вебсервису, а он отдает только последовательные номера\ссылки.
   dezss
 
27 - 18.07.18 - 15:36
(26) нет инета - нет мультиков)
   lodger
 
28 - 18.07.18 - 15:42
(27) легко, делаем пул резервных мультиков. юзаем его в периоды засухи, восполняем когда интернет приходит в дом.
но появляется проблема дублирования - это уже более вопрос теоретический чем практический. где вы видели контрагентов, которые мечутся из одного офиса в другой и формируют закупку там и сям в обозримый промежуток времени?
   Serg_1960
 
29 - 18.07.18 - 15:46
Интуиция мне подсказывает, что если автор озвучит примеры дублирования, то разбор полётов пойдёт более плодотворно.

И может быть даже выяснится, например, что один из префиксов является подмножеством другого (намекаю на единое пространство автонумерации).
   olegves
 
30 - 18.07.18 - 15:48
(0) НСИ надо всегда вводит в одном месте. Можно разные Справочники в разных местах, но всегда 1 справочник - одно место ввода. В остальных базах данные появляются с обменами.
   Serg_1960
 
31 - 18.07.18 - 15:59
(30) Не обязательно ограничивать ввод НСИ одним местом (двусмысленная фраза получилась, вы не находите? :)
Достаточно чётко определить в бизнес-процессах кто/когда/чего/куда. У нас, например, наиболее ходовые справочники, типа контрагенты и номенклатура, вводятся в нескольких узлах. Тоже самое относится к документам. Дублированием не страдаем :)
   xxTANATORxx
 
32 - 18.07.18 - 16:11
автор, а чем не устраивает уникальный префикс кода для каждого узла?
   Serg_1960
 
33 - 18.07.18 - 16:27
(32) Автор утверждает, что он использует префиксы узлов, но дублирование всё равно (периодически) происходит. Более детальную информацию он не предоставил. Как по мне, так журнал регистрации действий - вполне достаточно, чтобы установить "кто есть кто".
 
 
   dezss
 
34 - 18.07.18 - 17:16
(28) ну про пул до этого не было ничего...
   dezss
 
35 - 18.07.18 - 17:16
(34) + а с пулом да, должно взлететь...


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует