01.02.2008 16:46
creosote
 
После рабочего понедельника решил поднять бэкап за субботу. В результате в магазинных базах оказались карточки(созданные в понедельник) которых небыло в центральной базе(база за субботу). При создании в центральной базе новых карточек, их номера совпали с теми карточками, что есть в базе магазина, при этом карточки разные.
Подскажите, как правильно выбраться из этой ситуации?
01.02.2008 16:56
Mtirt
 
Еще раз, для меня, непонятливой:
у тебя в ЦО, например, 1012 - Сок яблочный, 1013 - Водка финляндия
А в магазине 1013 - Водка Финляндия, 1012 - Сок яблочный.
Я правильно поняла?
02.02.2008 04:47
akonev
 
эк вас угораздило-то...

самый первый и основной вопрос: почтовик после этого работал?
если "да" и он уже прослал документы из магазина в офис и/или карточки из офиса в магазин - это вы попали. концов уже не найти и надо тупо перебивать все руками.

сколько карточек пересеклось по номерам? и как много документов, их содержащих (в офисе и магазинах по отдельности).
порядок инересует. типа, 10-20 или 300-400?
если мало - возможно проще окажется перебить карточки в офисе по данным маговских баз.

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

еще вариант, если магазинов не слишком много: для пересекшихся номеров в подчиненных базах прибить глобальные артикулы и базу-отправителя; базу создателя поправить на локальную.
Дальше по стандартной процедуре синхронизации.
Но если магазинов много - замучаетесь синхронизировать.

PS. тема пока нифига не оракловая. надо было в см2000 ее.
03.02.2008 18:17
creosote
 
Цитата:
Mtirt Еще раз, для меня, непонятливой:
у тебя в ЦО, например, 1012 - Сок яблочный, 1013 - Водка финляндия
А в магазине 1013 - Водка Финляндия, 1012 - Сок яблочный.
Я правильно поняла?
В понедельник завели 1012 - Сок яблочный, карточка ушла в магазин. Во вторник поднимается база за субботу, заводится карточка 1012 - Водка Финляндия(номер карточки был выбран автоматически), карточка ушла в магазин, совпала с 1012 - Сок яблочный в магазинах и не записалась в магазинную базу.
03.02.2008 21:49
akonev
 
Цитата:
creosote В понедельник завели 1012 - Сок яблочный, карточка ушла в магазин. Во вторник поднимается база за субботу, заводится карточка 1012 - Водка Финляндия(номер карточки был выбран автоматически), карточка ушла в магазин, совпала с 1012 - Сок яблочный в магазинах и не записалась в магазинную базу.
Вот это место самое мутное. Могли ведь не совпасть некоторые и приняться: опечатка или ошибка формирования наименования или совсем новый, которого в маге еще не было...
Если принялись - подменили наименования товаров в маговских документах.
Надо перепроверять все подозрительные артикулы по журналу приема или журналу изменений. Если изменения подтвердятся - сверять по первичке, что там раньше было на самом деле под этими артикулами.
04.02.2008 03:42
isi
 
рекомендую прилинковать сервер магазина (для начала одного) и выбрать не совпадающие например по наименованиям карточки, дальше можно оценить масштабы проблемы, можно сделать так например:

create database link "DBAMIK07"
connect to supermag
identified by "пароль"
using 'DBAMIK07';

select article, name from smcard
minus
select article, name from smcard@DBAMIK07

Потом посмотреть документы (плохо если продажи пройдут) с этими артикулами, ну а дальше уже все вроде было сказано
04.02.2008 09:32
creosote
 
В магазинных базах, на основе несоответствующих центральной базе артикулов, уже созданы приходные накладные. Можно ли использовать инструмент
Синхронизация – замена всех локальных артикулов в подчиненных базах данных на соответствующие глобальные артикулы. При этом локальные артикулы блокируются, но оста-ются в ТС;
К чему это приведёт?
04.02.2008 09:35
Dim
 
Сталкивались с этим... по совету Олега объявили базу ЦС как подчиненную базу магазину и разослали из магазина все отсутствующие в базе ЦС карточки, потом вертанули подчиненность назад и разослали из магазина документы.
04.02.2008 09:37
Mtirt
 
Цитата:
creosote В магазинных базах, на основе несоответствующих центральной базе артикулов, уже созданы приходные накладные. Можно ли использовать инструмент
Синхронизация – замена всех локальных артикулов в подчиненных базах данных на соответствующие глобальные артикулы. При этом локальные артикулы блокируются, но оста-ются в ТС;
К чему это приведёт?
Их у тебя Супермаг не посчитает локальными, они хоть и другие. но созданы в ЦО.

Конев выше правильный путь написал.
04.02.2008 09:48
akonev
 
это приведет к тому, что появятся "двойные карточки". локальный будет служить ссылкой на глобальный артикул. все и везде обрабатываться и считаться будет правильно.

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

есть небольшая сложность: эти ошибочные карточки в магазинной базе считаются глобальными. чтобы заработала синхронизация, их надо сделать локальными: базу отправки выставить в null, базу создания поправить на локальную, штрихкода пересадить в другую таблицу.
Часовой пояс GMT +3, время: 19:25.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.