Всем привет.
Используется самописная база на основе БСП. В ней организован РИБ на 300+ узлов (раз в неделю, обычно, добавляется еще по узлу). На каждом узле работает один человек.
Во время работы, пользователь создает документ, указывает разнообразные фильтры и заполняет документ номенклатурой. Номенклатура тянется из ДРУГОЙ БАЗЫ (база не на 1С). Если номенклатуры на узле нет, то создается новый элемент справочника. Далее, при синхронизации с ЦБ, она переносится в ЦБ (т.е. там также создается данная номенклатура).
Проблема в том, что одна и та же номенклатура может быть создана на разных узлах и, соответственно, при синхронизации с ЦБ в ЦБ возникают дубли.
Вариант с созданием номенклатуры только в ЦБ не подходит, т.к. новая номенклатура изначально появляется в другой базе, появиться она там может в любой момент и оперативно отправить новые номенклатуры на узлы не получится.
Какие есть еще варианты для решения данной проблемы?
Используется самописная база на основе БСП. В ней организован РИБ на 300+ узлов (раз в неделю, обычно, добавляется еще по узлу). На каждом узле работает один человек.
Во время работы, пользователь создает документ, указывает разнообразные фильтры и заполняет документ номенклатурой. Номенклатура тянется из ДРУГОЙ БАЗЫ (база не на 1С). Если номенклатуры на узле нет, то создается новый элемент справочника. Далее, при синхронизации с ЦБ, она переносится в ЦБ (т.е. там также создается данная номенклатура).
Проблема в том, что одна и та же номенклатура может быть создана на разных узлах и, соответственно, при синхронизации с ЦБ в ЦБ возникают дубли.
Вариант с созданием номенклатуры только в ЦБ не подходит, т.к. новая номенклатура изначально появляется в другой базе, появиться она там может в любой момент и оперативно отправить новые номенклатуры на узлы не получится.
Какие есть еще варианты для решения данной проблемы?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) Если бы не РИБ, можно было бы правила обмена сделать, чтобы поиск осуществлялся не только по ссылке, но и по полю поиска
Как на узлах с оперативным доступом к интернету? Можно конечно сделать вундервафлю на веб-сервисах, как предлагают выше, но если интернет по карточкам, то только костылями типа замены дублей
Как на узлах с оперативным доступом к интернету? Можно конечно сделать вундервафлю на веб-сервисах, как предлагают выше, но если интернет по карточкам, то только костылями типа замены дублей
(9) по идее, можно и к РИБ привязать правила обмена, только придется немного изменить код. На создание узлов, регистрацию изменений и пр. это не должно повлиять, а передача данных будет идти по правилам.
Но тут возникнет проблема передачи обновлений на узлы, в случае изменения ЦБ (например, изменение какого-то текста запроса или куска кода в ЦБ), т.к. по правилам обмена, насколько я понимаю, обновления им не передать.
Но тут возникнет проблема передачи обновлений на узлы, в случае изменения ЦБ (например, изменение какого-то текста запроса или куска кода в ЦБ), т.к. по правилам обмена, насколько я понимаю, обновления им не передать.
(17) наверно я просто ход мысли потерял.
вообщем как вариант - можно еще сделать отдельный план обмена для номенклатуры и обмениваться только ей. правила обмена не нужны. просто записываете элемент в хмл при отдаче и достаете из хмл и записываете при приеме.
Мы так делали, когда УПП обменивалась с 20 узлами раз в час, а номенлатура бегала каждые 5 мин.
вообщем как вариант - можно еще сделать отдельный план обмена для номенклатуры и обмениваться только ей. правила обмена не нужны. просто записываете элемент в хмл при отдаче и достаете из хмл и записываете при приеме.
Мы так делали, когда УПП обменивалась с 20 узлами раз в час, а номенлатура бегала каждые 5 мин.
Без централизации никуда. Попробуйте такой вариант.
Сделайте в ЦБ хттп-сервис, который отвечает за общение с ДРУГОЙ БАЗОЙ:
1. ПБ обращается к ЦБ со списоком кодов (или артикулов, или любым другим набором, по которому однозначно определяется номенклатура) к этому хттп-сервису.
2. ЦБ получив список кодов номенклатуры, смотрит у себя в базе. Все что не найдено - запрашивается из ДРУГОЙ БАЗЫ и создаются новые элементы в ЦБ.
3. ЦБ возвращает в ПБ 2 набора ссылок. В первом наборе - которые уже были в базе, во втором - вновь созданные (+ доп инф: наименование, цена и прочее).
4. ПБ получив от хттп-сервиса наборы ссылок - использует их по назанчению. А для второго набора проводит еще создание новых элементов (используя ссылки из второго набора).
Сделайте в ЦБ хттп-сервис, который отвечает за общение с ДРУГОЙ БАЗОЙ:
1. ПБ обращается к ЦБ со списоком кодов (или артикулов, или любым другим набором, по которому однозначно определяется номенклатура) к этому хттп-сервису.
2. ЦБ получив список кодов номенклатуры, смотрит у себя в базе. Все что не найдено - запрашивается из ДРУГОЙ БАЗЫ и создаются новые элементы в ЦБ.
3. ЦБ возвращает в ПБ 2 набора ссылок. В первом наборе - которые уже были в базе, во втором - вновь созданные (+ доп инф: наименование, цена и прочее).
4. ПБ получив от хттп-сервиса наборы ссылок - использует их по назанчению. А для второго набора проводит еще создание новых элементов (используя ссылки из второго набора).
Как уже заметили - требуется единая точка ввода и контроля. Это у вас ЦБ.
Для ввода новой позиции - отдельная форма, которая лезет с параметрами в ЦБ любым доступным способом.
в ЦБ проверка. Если такой элемент есть - возврат Структуры данных из ЦБ, включая ГУИД,
с ним создание и запись из этой формы в ПБ с полученным ГУИД
Если элемент отсутствует - в ЦБ создание элемента и возврат все той же структуры параметров включая ГУИД,
далее на ПБ действия те же.
Для ввода новой позиции - отдельная форма, которая лезет с параметрами в ЦБ любым доступным способом.
в ЦБ проверка. Если такой элемент есть - возврат Структуры данных из ЦБ, включая ГУИД,
с ним создание и запись из этой формы в ПБ с полученным ГУИД
Если элемент отсутствует - в ЦБ создание элемента и возврат все той же структуры параметров включая ГУИД,
далее на ПБ действия те же.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот