06.03.2014 18:33
Ситуация такая.
Восстанавливал базу в магазине с очень древнего бэкапа. Пришлось отправлять документы с центра за полгода. Карточки соответственно тоже. Не все сразу дошло. Что-то без цен. Полный хаос.
Но за пару дней до падения сервера, проводилась ревизия. Закрыть её не успели. Теперь хотят. По сличительным у них вышло большой кол-во карточек без цен. Соответственно и остатки, и .... в общем, всё не устраивает. Нормально синхронизировать базу не дали. Надо работать, видите ли! Пришлось всё делать, так сказать в боевом режиме. На те карточки без цен создал общий акт переоценки. Цены появились, но не везде :l_upset:
Но главная проблема не в этом. Ревизию надо закрывать. Сличительную создать за тот день. А в истории цен - совсем другая история. Простите за тавтологию. Мне бы акт переоценки задним числом. Создал. Затем использовал вот это:

-- сначала правил шапку
update smacts
set execdate = to_date('11.02.2014 1:46:44','DD.MM.YYYY HH:MI:SS' ),
exectime = to_date('11.02.2014 1:46:44','DD.MM.YYYY HH:MI:SS' )
where doctype = 'AC' and id = 'АП0РЦ001845'

--затем правил историю цен
update smpricehistory
set eventtime = to_date('11.02.2014 1:46:44','DD.MM.YYYY HH:MI:SS' )
where doctype = 'AC' and docid = 'АП0РЦ001845'

И помогло, кстати. Только вот запускал я и на центральной базе и на магазине, перед рассылкой/после, до поднятия статуса/после. Да вот беда! Не разумел - что именно помогло.
Остатки выровнялись, но не совсем. Остались еще где-то 60 позиций без цен. Пробую еще раз - не получается. Не знаю, какой алгоритм правильный. Перепробовал по-всякому. А может что-то упустил. Знать бы наверняка.

Помнится, было что-то подобное на форуме. Но что-то в упор не вижу. Не могу найти.
Может кто помнит/знает - как надо. Посоветуйте пожалуйста. А то что-то я запутался .Взгляд со стороны - он всегда полезен. Тем более, от опытных людей. Ну или хотя бы ссылкой в меня киньте.
Заранее спасибо.
Да и.... SM 1.028.2 SP14
06.03.2014 19:22
В ЦО эти цены есть? Цены где не появились? Вообще-то править цены таким образом - наживать себе смертельных врагов среди бухов, если они как-то используют цены магазина.
Зачем в магазине история цен?
06.03.2014 20:17
С центра документы все скопом пересылали?
Сначала надо-бы разослать карточки, убедиться что все дошло, потом акты переоценки - опять проверить, а уж потом все остальное
06.03.2014 21:18
сейчас уже когда все случилось есть два варианта...
"Простой" и "сложный"

Простой.
Создать в ЦО АКТ переоценки один на все товары с текущими ценами по магазину и отправить в магазин...
цены должны будут встать на место...

Сложный
Скриптом в базе магазина "опустить" до черновикак акты и проводить по очереди от самого раннего до самого последнего... акты исполняться все равно текущим числом но цены тануть "правильными" на текущий момент...
06.03.2014 22:03
Я, видимо, не правильно объяснил.
Карточки все дошли. Цены в ЦО есть. По ним и выставляю. Бух-ам без разницы, всё равно новую историю цен уже начал. Просто единичный случай, т.к. проблему надо решить.
Я же ка раз и пишу, что сделал общий акт переоценки на все эти товары. Цены то я выставил. Мне надо чтобы они были "наценены", как буд-то бы до 12 февраля. Т.е. сработавший акт до падения базы. Средствами Супермага так сделать нельзя, как я понял. При любом поднятии статуса, выставляется текущая дата.
Вот если в истории цен этих карточек появится данный акт, сработавший 11 февраля, например - то было бы то что нужно.
Цитата:
baggio Скриптом в базе магазина "опустить" до черновикак акты и проводить по очереди от самого раннего до самого последнего... акты исполняться все равно текущим числом но цены тануть "правильными" на текущий момент...
Вот именно, что сразу ставит текущую дату. А цены у меня правильные. История у них - неподходящая.
Тот способ, к-ый я описал, работает. Вот только в какой последовательности - загадка. *122
06.03.2014 22:09
ну так поставь на сервере да 11.02... рестартани базу + сервер см... пришли акт из ЦО(новый) в черновике..
исполни...
в чем сложность то?
07.03.2014 09:17
в сличительной ведомости при заполнении ценами поставь галку "искать цену на ближайшую дату", цены будут тогда искаться "вперед"
07.03.2014 19:14
Все разобрался. Сделал в 2 этапа.
1. Создал новый акт переоценки с измененными ценами. Отправил в черновике в магазин. Там поднял до красного статуса. Цены применились, акт появился в истории. Затем

update smacts
set execdate = to_date('11.02.2014 1:46:44','DD.MM.YYYY HH:MI:SS' ),
exectime = to_date('11.02.2014 1:46:44','DD.MM.YYYY HH:MI:SS' )
where doctype = 'AC' and id = 'АП0РЦ001845'

update smpricehistory
set eventtime = to_date('11.02.2014 1:46:44','DD.MM.YYYY HH:MI:SS' )
where doctype = 'AC' and docid = 'АП0РЦ001845'
Отправил акт в центр.

2. Создал новый акт с правильными ценами. И все по тому же методу.

Просто так лучше этого не делать. Но вся-кое бывает. Выкладываю здесь - вдруг ком-то пригодится.
07.03.2014 19:24
Цитата:
Dim в сличительной ведомости при заполнении ценами поставь галку "искать цену на ближайшую дату", цены будут тогда искаться "вперед"
Ну это же не гарантирует того , что цены уже могут поменяться. Как у меня, например под конец февраля уже по 1-2 актам на каждом товаре. В итоге в искомую дату могут попасть не правильные цены. Что не есть - good!

Да и... Я не думаю, что менять дату на сервере, а потом и на центральном, либо отключать синхронизацию, в тяжелых случаях - выезжать в магазин и т.п - это все легкий способ. Главное, что все проходит в боевом режиме. Магазин работает. Причем очень загружены с приемкой товара.
08.03.2014 02:21
добавь записи с нужными ценами в нужных жатах в smpricehistory и всего делов
Часовой пояс GMT +3, время: 07:28.

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