Имя: Пароль:
1C
1С v8
Периодический сбой обмена данными
0 VKS
 
15.01.13
08:57
Есть обмен между УТ 10.3 и Розница, платформа 8.1

Иногда случается такая нехорошая ситуация:
В УТ создают две номенклатуры: Товар1 и Товар2, при выгрузки в Розницу Товар2 переходит в Товар1, соответственно во всех документах вместо Товара2 стоит Товар1.

Смотришь регист "Соответ.объектов для обмена" в УТ там для Товара1 и Товара2 один и тот же УД из Розницы.

Номенклатуры у нас много, больше 200т позиций, за месяц несколько тысяч всяко создается, но 2-3 позиции в месяц вот таким образом глючат. В чем может быть касяк?
1 DrShad
 
15.01.13
09:06
посмотри то же самое в Рознице и почисти оба регистра
2 DrShad
 
15.01.13
09:07
кроме того в обработке регистрации изменений для обмена есть механизм проверки сопоставления объектов и исправления коллизий
3 Xsander
 
15.01.13
09:08
Как в обмене сравниваются номенклатуры, а точнее, - как происходит соответствие элементов - возможно, если поиск происходит по коду, - проблема в представлении кода (число<>строке) или кодИсточника<>кодПриемника, если коды разной длинны.

     Лучше всего привяжи не только к коду но и артикулу или наименованию
4 DrShad
 
15.01.13
09:09
и просмотри поля поиска - скорее всего они у тебя сходятся
5 Serg_1960
 
15.01.13
09:10
"В чем может быть касяк?" - "Номенклатуры у нас много, больше 200т позиций, за месяц несколько тысяч всяко создается".
6 VKS
 
15.01.13
09:21
(1,2) Как исправить проблему я знаю, но вот как сделать чтоб она больше не возникала, пока не понятно

(3)По коду и принадлежности группе, и в обеих базах код строка(13), артикулы у нас такие же как и код, но попробую привязаться еще и к наименованию

(4) а как лучше что бы было?

(5) в регистре порядка 7млн записей соответствий. Коды точно все уникальные, наименование на 99%, думаешь системный сбой?
7 DrShad
 
15.01.13
09:24
(6) чукча не читатель? чукча писатель?
расписали уже все, иди делай
8 Xsander
 
15.01.13
09:37
(6): лучше всего поймать этот глюк, т.е. скопировать базу источника и приемника, до переноса информации, при условии что в процессе переноса появляются дубли. А затем поишрать с правилами добавляя поля сравнивания/соответсвия, но если у вас наименования не совпадают это будет сложно сделать.

Добавлю, что нужно именно добавлять параметры соответствия/сравнивания, если глюк все таки происходит - значит что то не учитывается.

Можно пойти фанатским но правильным методом - добавить новые реквизиты: создать в источнике реквизит в номенклатуре - "код для сравнения", - присвоить ему обработкой тотже код, при создании номенклатуры прописать присвоение реквизиту кода и контроль уникальности, также проверить уникальность полученных-заполненных реквизитов (обычно на этой стадии становится понятно в чем ошибка, если есть дубли кодов)., далее в приемнике сделать аналогичные коды, выгрузить коды и загрузить коды в базу приемника, создав аналогичный реквизит, загружая при этом проверить еще раз уникальность (при загрузке проверять - осуществлять поиск по коду и в случае дублей сообщать - на этом этапе также выявятся ошибки, если они есть)., а дальше по этому реквизиту прописать обмен
9 dmpl
 
15.01.13
09:42
(0) Уверены, что создается, а не правится тупыми пользователями? У нас пользователи злоупотребляли копированием объектов и иногда забывались и правили копируемый объект вместо копирования.
10 dmpl
 
15.01.13
09:47
(8) Чем "код для сравнения" лучше уникального идентификатора?
11 Xsander
 
15.01.13
09:56
(9) (0) - очень хорошая идея - возможно сами пользователи правят наименование, в этом случае, если сравнивается и наименование в том числе - также будет такая ошибка вылетать, очень может быть, что это как раз этот случай!

(9) (8) - если они в базах разные по типу или величине, можно привезти к общему знаменателю, лучше сравнивать заведомо равные по типу и величине вещи, кроме этого при их формировании можно дополнительно проверить уникальность данных реквизитов, хотя и у меня ни разу не было, чтобы при установленной уникальности, были не уникальные коды, - но лучше перестраховаться :)
12 DrShad
 
15.01.13
10:11
(8) господи, нахрена все эти извращения!? зная поля поиска разве нельзя запросом найти дубли?
13 prog0101
 
15.01.13
10:16
(0)трассируйте, пишите лог, ловите событие
а лучше ловите на тестовых базах при многократных повторах ситуации

скорее всего какая-то функция иногда отрабатывает не так как вы думаете как например бывает при поиске по реквизиту если он не определенной длины, вместо того чтобы вообще не работать функция работает как попало практически
14 DrShad
 
15.01.13
10:17
(13) учи матчасть и не нужно домыслов - уже сотни раз все обкатано
15 Serg_1960
 
15.01.13
10:21
(6) "думаешь системный сбой" - да, не исключено. Если в обеих базах разрешено вводить новые позиции в справочник - вероятно. Если пользователям разрешено изменять реквизиты поиска соответствия - весьма вероятно.
Программист всегда исправляет последнюю ошибку.