Имя: Пароль:
1C
1С v8
Логическая задачка по обмену. Возможные способы решения.
🠗 (Sammo 20.02.2013 12:06)
,
0 Vasilisk
 
20.02.13
11:27
Есть нетрафиальная задача, организовать постоянный обмен информации с тысячи информационных баз(самописных) с одной центральной, при этом условия обмена такого что вся первичка вводиться на тысячи баз в центральной возможны только изменения и дополнения к полученой информации ну и отчеты разумееться. Технические требования такого что жизненно необходимо(для центрального сервера) обмениваться только изменениями, для этих целей использую планы обмена и регистрацию изменений, все бы хорошо, за исключением того что при первом же тесте обнаружилась вот такое: в одной и в другой базе создали одно и тот же элемент скажем степень родства мать при загрузке в центральную элемент продублировался ну это и понятно так как внутренний код разный, если ограничить по наименованию то битые ссылочки появляються. И тут вопрос как организовать анализ одинаковых элементов по определенным реквизитам(Наименования, номер паспорта и т.д.) когда они создаються независимо друг от друга, имеються ли способы при формировании XML выгрузки сереализатором вместо ссылки проставить наименование и при загрузки искать по наименованию? Какие еще могут быть методы решения данной задачи? Обработку по выгрузки загрузке(типовую) не предлагать на клиентских ИБД сидять узбеки , распределенка не подходит, каждая клиентская база содержит только свою информацию, центральная всю. Как варианты решения вижу только: создать рег. сведений с уидами и объектами для сопоставлений, но это не надежно и криво со стороны быстродействия, второй вариант создать свой обменщик тоесть самостоятельно регистрировать изменения и ручками прописывать каждое поле для выгрузки и загрузки что долго геморойно и не айс.
1 Aleksey
 
20.02.13
11:28
никак
2 Aleksey
 
20.02.13
11:29
информация должна вводиться в одном месте и точка. А как ты это технически реализуешь - это уже нюансы
3 Галахад
 
гуру
20.02.13
11:31
Млин. Вроде и по русски написано. Но читать невозможно.
4 Vasilisk
 
20.02.13
11:32
Она и вводиться в одном месте но может совпадать и эти данные являются разрезами некоторой статистики, план обмена нельзя перенастроить так что бы вместо ссылок на элементы были данные определенных реквизитов
5 Vasilisk
 
20.02.13
11:34
Я собственно и спрашиваю об оптимальном техническом решении, не код программы(Упаси великий алгоритм), а лишь методология.
6 Classic
 
20.02.13
11:36
(0)
Управленческая проблема.
Решать только руководителям. Программное решение в любом случае выдаст фигню
7 Vasilisk
 
20.02.13
11:40
Classic поясни. Фигню не выдаст если определения будут не ссылками а определенными реквизитами(коды, наименования и т.д.)но для этого что было без боли и слез необходимо это воткнуть на месте ссылки именно в механизме сериализации.
8 hhhh
 
20.02.13
11:41
(7) вам надо написать правила обмена, в которых вы и зададите как искать и сопоставлять объекты.
9 Fragster
 
гуру
20.02.13
11:43
у меня глаза вытекли :(

по сабжу - при коллизиях верхний узел прав.
10 Fragster
 
гуру
20.02.13
11:43
или все данные в независимых РС и при обмене сливать наборы. Но это тормозит :(
11 Aleksey
 
20.02.13
11:45
(9) У него нет колизии, у него как раз обратная ситуация.

Типа есть клиента. В одной точки завели договор и в другой точке завели точно такой же договор. Вот он и хочет чтобы в централку загрузился один договор без дублей
12 Aleksey
 
20.02.13
11:46
(4)
1. Вводятся в разных местах
2. Можно менять как хочешь. Как по твоему сделаны обмены между УТ и БП. Ведь это тоже разные конфиги
13 Fragster
 
гуру
20.02.13
11:48
при загрузке в ЦУ проверять, есть ли оно такое, и, если есть - отправлять обратно удаление (+ ссылку на аналог). При загрузке в ПУ - смотреть удаления, если есть ссылка на аналог - то через поиск по ссылкам - заменяем в документах.
14 Fragster
 
гуру
20.02.13
11:48
(13)+ можно даже при загрузке в ЦУ менять, а обратно отправлять измененные документы
15 Fragster
 
гуру
20.02.13
11:49
(11) это из-за того, что глаза вытекли
16 Fragster
 
гуру
20.02.13
11:49
ну и да, 1000 перифериек - это серьезно.
17 Classic
 
20.02.13
11:50
(7)
Ну вы знает как решать вопрос коллизий?
Ведь в одной базе могут завести сына Саша, в другую дочь Саша. Попадет только один ребенок. А как должно быть? Может ведь быть два ребенка.
В одной базе завели ребенка с одной датой рождения, в другой его же - с другой. Как потом разгребать будете, почему дата не та?
Та вообще куча нюансов возможна
18 Serg_1960
 
20.02.13
11:58
(0) сначало я пытался внимательно всё прочитать не абращая внимания на твая ашибки и пропуски щнаков препинания, потом стал читать вдоль... потом - попёрёк... и потерял смысл вопроса.

Где для (0) аннотация?
19 Classic
 
20.02.13
11:59
(18)
Плюсто
(0)
Открой для себя абзацы
20 Vasilisk
 
20.02.13
11:59
Classic. Коллизий не будет мне необходимо только избавиться от дублирования разрезов аналитики(категории) типа сестра брат мать отец, паспорт военник ИНН, пьянь нарик и т.д.
21 Wobland
 
20.02.13
12:00
(16) 1С:Управление миром
22 Fragster
 
гуру
20.02.13
12:00
(20)->(13)(14)

ну и вот еще запятых пачка: ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
23 Vasilisk
 
20.02.13
12:01
(18) Моя не знать руский моя знать одноэс
24 Fragster
 
гуру
20.02.13
12:01
(21) да не. 1 нас около 100 перифериек - пришлось 1 промежуточный агрегирующий слой вводить, типа 1-10-100
25 Aleksey
 
20.02.13
12:02
(20) РС спасет тебя. Он сам за этим будет следить
26 Fragster
 
гуру
20.02.13
12:03
(25) не совсем. при совпадении основного отбора  все, что не в основном отборе потрется при получении данных. оно не надо.
27 Vasilisk
 
20.02.13
12:03
Как вариант есть и то что можно загружать все а потом проводить анализ, но тут беды идут с использованием уже внесенных классификаций в этом случае передаеться просто ссылка котороя хз что значит
28 Maxus43
 
20.02.13
12:05
угу, у нас УПП и 16 узлов, обмены полные 2 раза в день уже тяжело, промежуточные центры необходимы при таком количестве. Топология не Звезда будет
29 Maxus43
 
20.02.13
12:06
Автора спасут облака) пусть эта тыща зверей сидит на одном серваке
30 Vasilisk
 
20.02.13
12:07
(28) Промежутки то не проблема, проблема механизм обмена. Какой механизм для данной задачи оптимален будет?
31 Sammo
 
модератор
20.02.13
12:07
Ветку топлю, т.к. подбная рууская языка тянет на правилу 5 - вандализма.
32 Vasilisk
 
20.02.13
12:08
В каком случае в базе на все элементы уид может поменяться?
33 Maxus43
 
20.02.13
12:08
(30) правила обмена писать, где сопоставление элементов по наименованию и т.д. легче таки (29). Вводить в одном месте всё
34 Maxus43
 
20.02.13
12:09
(32) ни в каком, если специально не будете менять. Уид статичен
35 Vasilisk
 
20.02.13
12:09
(31) Не знал что сайт патриотический
36 Vasilisk
 
20.02.13
12:10
(34) Если базу выгрузить и загрузить уид не поменяется?
37 Maxus43
 
20.02.13
12:10
(35) надо меру знать. Опечатка - нормально, а постоянное коверканье - неприятно читать
38 Maxus43
 
20.02.13
12:11
(36) уид чего не поменяется? справочников, документов и т.д. - нет
39 Vasilisk
 
20.02.13
12:11
Можно ссылочку по составу уида и алгоритму построения? Пожалуйста.
40 Maxus43
 
20.02.13
12:11
(39) это только в 1с скажут.
41 Vasilisk
 
20.02.13
12:12
(38) Элементов БД справочники документы и т.д.
42 Maxus43
 
20.02.13
12:13
(41) норм всё, уид для того и нужен чтоб не менятся
43 Vasilisk
 
20.02.13
12:13
Может ли помочь объект XTDO?
44 Maxus43
 
20.02.13
12:14
(43) нет, если не разбирать его руками
45 Fragster
 
гуру
20.02.13
12:15
может помочь проверка, изменение данных при загрузке в ЦУ, отправка измененных данных и удаленных элементов обратно в ПУ. только коллизии все равно могут быть - когда после обмена в ПУ продолжили вбивать неправильные данные. т.е. в ЦУ надо куда-то таблицу подстановки складывать
46 Fragster
 
гуру
20.02.13
12:16
(45)+ и продолжать при загрузке менять по таблице.
47 Fragster
 
гуру
20.02.13
12:16
из таблицы подставноки можно удалять при подтверждении доставки удаления
48 Vasilisk
 
20.02.13
12:18
В общем из всего этого можно заключить что: либо сопоставления по уидам при загрузке  по логике типа если по наименованию или другому реквизиту в ЦБД элемент есть то записать новый уид и связать с элементом для дальнейшей загрузки из этой точки либо  строить и парсить файл выгрузки ручками с разработкой формата, либо пнуть заказчика что бы все классификации были внесены в центральную а затем выгружены в клиенты
49 Vasilisk
 
20.02.13
12:20
(45) Все данные внесенные за день на следующий день блокируются без возможности исправления, все для узбеков
50 Maxus43
 
20.02.13
12:22
>>либо пнуть заказчика что бы все классификации были внесены в центральную а затем выгружены в клиенты
именно так. И новые заводить в центре. Не надо изобретать...
51 Vasilisk
 
20.02.13
12:23
Насколько быстро сработает запрос по поиску элемента в рег. сведений в котором 10000000 записей?
52 Vasilisk
 
20.02.13
12:24
(50) Надо футболиста найти
53 Maxus43
 
20.02.13
12:25
(52) нарисуй ему на бумажке что будет если воодить не в центре. Это не относится к 1с даже, просто логика
54 Vasilisk
 
20.02.13
12:28
Я то понимаю, но тут есть такой момент что не все можно в центральную вбить(контрагенты(физ лица)) единственное их уникальное это номер паспорта, а это в центре вводить не получиться
55 Maxus43
 
20.02.13
12:31
(54) почему не получится? база в интернет, веб-морда или тонкий клиент и пусть когда понадобится - вбивают, там контроль сделать легче. А дубли физлиц и контриков - это ад будет у вас, отчетность кривая
56 Vasilisk
 
20.02.13
12:39
(55) Ты гений, веб клиент и не надо много баз данных. Ты злой гений мне надо перефигачить всю клиентскую часть.
57 Maxus43
 
20.02.13
13:06
(56) > (29). Не обязательно веб морда, тонкий клиент тоже в браузере работает