[ОТВЕТИТЬ]
24.08.2009 09:19
mighty
 
Привет всем..СМ+ 1026.5 sp5, oracle 9.2.0.8, удалены все приходные и расходные накладные через интерфейс супермага, архива базы нет, как то можно восстановить их? может средствами оракла?
Вот только заметил..остался бекап таблицы себестоимости...FFMAPREP..из неё можно? есть варианты? может скрипт кто нибудь писал?
24.08.2009 09:26
OlegON
 
А я предлагал сопровождать базу... Говорил, что труп принесете... Если в архивлоге, то путем геморроя, большего, чем перенабивание этих накладных, если нет - аминь.
24.08.2009 09:28
OlegON
 
Подумал, если совсем нет бекапа, то и архивлоги ковырять нет смысла..
24.08.2009 09:31
mighty
 
Цитата:
OlegON Подумал, если совсем нет бекапа, то и архивлоги ковырять нет смысла..
Да Олег нет..я думаю из FFMAPREP восстановить, сейчас копаю..
24.08.2009 09:33
mighty
 
В офисе удалили документы за полгода работы магазина, но они удалились и в магазине, хотя в магазине период редактирования документов был закрыт по 08.08.2009 - это косяки супермага..
24.08.2009 09:35
Mtirt
 
А почтовые пакеты не бэкапятся, случайно?
24.08.2009 09:46
Mtirt
 
Бэкап магазинной базы?

Если есть, поднять базу рядом, не затирая существующей.
Настроить почтовик.
Переслать недостающие документы в офис.
А потом из офиса - в нормальную магазинную.
24.08.2009 10:01
OlegON
 
Отвлекся я на оракловый способ... Не туда думать начал, тогда не FFMAPREP, а FFDOCUMENTS и FFSPEC (могу не точно написать - пишу по памяти)
24.08.2009 10:02
mighty
 
Цитата:
Mtirt Бэкап магазинной базы?
Бекапа базы нет, но есть бекап таблицы себестоимости на 22.08.2009..пытаюсь из неё восстановить...
24.08.2009 10:07
mighty
 
Цитата:
OlegON Отвлекся я на оракловый способ... Не туда думать начал, тогда не FFMAPREP, а FFDOCUMENTS и FFSPEC (могу не точно написать - пишу по памяти)
Нет это таблицы документов и спецификаций, они уже затерты новым расчетом себестоимости а вот FFMAPREP есть, вот из неё и пытаюсь..кто разбирался подскажите в таблице FFMAPREP записи брать только с RECTYPE=1?
24.08.2009 10:12
Mtirt
 
Думаю, что все...
24.08.2009 11:37
mighty
 
Восстановил шапки документов(WO,WI), потом восстанавлявил спецификации..Это таблицы SMDOCUMENTS,SMSPEC..
Напомните еще в каких таблицах находится важная информация для товародвижения?
24.08.2009 11:59
mighty
 
Цитата:
Mtirt SMSPECTAX
восстановил..может еще есть какие - то таблицы? SMWAYBILLIN,SMWAYBILLOUT не восстановить из FFMAPREP...вроде еще SMCOMMONBASES осталась..
24.08.2009 12:21
Mtirt
 
В принципе, без SMCOMMONBASES можно обойтись.
Себестоимость чуть-чуть поменяется.
24.08.2009 12:34
mighty
 
Цитата:
Mtirt В принципе, без SMCOMMONBASES можно обойтись.
Себестоимость чуть-чуть поменяется.
ага я понял спасибо, не стал её восстанавливать..сейчас бухи сверку делают, надеюсь все будет хорошо...вообщем скрипт получился такой..
Код:
--восстанавливаем шапки приходных накладных

insert into supermag.smdocuments
(doctype,id,bornin,createdat,docstate,isclosed,opcode,userop,clientindex,locationfrom,locationto,
currencytype,currencyrate,currencymultorder,totalsum,totalsumcur,priceroundmode,isroubles
)
select f.saletype,f.saleid,'2FB029D83DE04A45A2F82A8B724BAC1C',f.saledate, 3,0,f.saleop,
decode(f.saleop,0,f.saleuserop,''),f.saleclientindex,'',f.salelocationto,1,1,0,sum(f.salesum),sum(f.salesum),3,1
from maximizator.backup_ffmaprep f,supermag.smdocuments h
where f.saleid=h.id(+)  and f.saletype=h.doctype(+)
and h.id is null
group by f.rectype,f.saletype,f.saleid,f.saledate,f.saleop,
f.saleuserop,f.saleclientindex,f.salelocationto
having f.rectype=1 and f.saletype='WI' 
order by f.saledate,f.saleid;

commit;

--восстанавливаем шапки расходных накладных

insert into supermag.smdocuments
(doctype,id,bornin,createdat,docstate,isclosed,opcode,userop,clientindex,locationfrom,locationto,
currencytype,currencyrate,currencymultorder,totalsum,totalsumcur,priceroundmode,isroubles
)
select f.saletype,f.saleid,'2FB029D83DE04A45A2F82A8B724BAC1C',f.saledate, 3,0,f.saleop,
decode(decode(f.saleop,8,'',f.saleuserop),-2,107),f.saleclientindex,f.salelocationfrom,'',1,1,0,sum(f.salesum),sum(f.salesum),3,1
from maximizator.backup_ffmaprep f,supermag.smdocuments h
where f.saleid=h.id(+)  and f.saletype=h.doctype(+)
and h.id is null
group by f.rectype,f.saletype,f.saleid,f.saledate,f.saleop,
f.saleuserop,f.saleclientindex,f.salelocationfrom
having f.rectype=1 and f.saletype='WO' 
order by f.saledate,f.saleid;

commit;

--восстанавливаем спецификации приходных накладных

insert into supermag.smspec
(doctype,docid,specitem,displayitem,article,quantity,expquantity,itemprice,totalprice,itempricenotax,
totalpricenotax,
itempricecur,totalpricecur,causetype,causeid,causespecitem
)
select f.saletype,f.saleid,f.salespecitem,f.salespecitem,f.article,f.saleq,0,
round(f.salesum/f.saleq,2),f.salesum,round(f.salesum/f.saleq,2),f.salesum,round(f.salesum/f.saleq,2),
f.salesum,'','',''
from maximizator.backup_ffmaprep f
where f.saletype='WI' and f.saleid in
(
select distinct b.id
from 
supermag.smdocuments b,
supermag.smspec n
where 
b.doctype=n.doctype(+)
and b.id=n.docid(+)
and b.doctype='WI'
and n.doctype is null
)
order by f.saleid,f.salespecitem;

commit;

--восстанавливаем спецификации расходных накладных

insert into supermag.smspec
(doctype,docid,specitem,displayitem,article,quantity,expquantity,itemprice,totalprice,itempricenotax,
totalpricenotax,
itempricecur,totalpricecur,causetype,causeid,causespecitem
)
select f.saletype,f.saleid,f.salespecitem,f.salespecitem,f.article,f.saleq,0,
round(f.salesum/f.saleq,2),f.salesum,round(f.salesum/f.saleq,2),f.salesum,round(f.salesum/f.saleq,2),
f.salesum,f.incometype,f.incomeid,f.incomespecitem

from maximizator.backup_ffmaprep f
where f.saletype='WO' and f.rectype=1 and f.saleid in
(
select distinct b.id
from 
supermag.smdocuments b,
supermag.smspec n
where 
b.doctype=n.doctype(+)
and b.id=n.docid(+)
and b.doctype='WO'
and n.doctype is null
)
order by f.saleid,f.salespecitem;

commit;

--налоги по приходам

insert into supermag.smspectax
(doctype,docid,specitem,taxid,taxrate,taxsum)
select f.saletype,f.saleid,f.salespecitem,1,0,0
from maximizator.backup_ffmaprep f
where f.saletype='WI' and f.rectype=1 and f.saleid in
(
select distinct b.id
from 
supermag.smdocuments b,
supermag.smspectax n
where 
b.doctype=n.doctype(+)
and b.id=n.docid(+)
and b.doctype='WI'
and n.doctype is null
)
order by f.saleid,f.salespecitem;
commit;

--налоги по расходам

insert into supermag.smspectax
(doctype,docid,specitem,taxid,taxrate,taxsum)
select f.saletype,f.saleid,f.salespecitem,1,0,0
from maximizator.backup_ffmaprep f
where f.saletype='WO' and f.rectype=1 and f.saleid in
(
select distinct b.id
from 
supermag.smdocuments b,
supermag.smspectax n
where 
b.doctype=n.doctype(+)
and b.id=n.docid(+)
and b.doctype='WO'
and n.doctype is null
)
order by f.saleid,f.salespecitem;

commit;
там есть маленький ньюанс - мы в СМ без налогов работаем, поэтому мне проще было..И еще там у меня искусственно пользовательская опереация проставляется, если кто будет использовать этот скрипт, замените на свою..
24.08.2009 12:36
Mtirt
 
Права на удаление документов у виновника отобрал?
В почтовом модуле в правилах рассылки приходных/расходных накладных что стоит?
24.08.2009 14:52
OlegON
 
Я бы предложил "во избежание". Дернуть все восстановленные документы в черновик и обратно.
24.08.2009 16:18
mighty
 
Цитата:
Mtirt Права на удаление документов у виновника отобрал?
В почтовом модуле в правилах рассылки приходных/расходных накладных что стоит?
Он не виноват - я виноват, я сам сказал что можно удалить документы, просто СМ у нас не удалял документы в магазине, если в ЦО удалить (я сам пробовал, тестировал полгода назад еще)...и потом С+ обещали в версии 1,025 еще сделать невозможность управления документами через почтовик если они административно запрещены к редактированию в (АдмМодуле)..Короче и мой косяк с архивом и С+ с таким жестким удалением.
В почтовике прописано правило для WI * авто в подчиненную.
Олег я не понял а зачем в черновик и обратно? чтобы дополнительные таблицы заполнились которые по проведению срабатывают что ли?
24.08.2009 16:29
OlegON
 
Цитата:
mighty Олег я не понял а зачем в черновик и обратно? чтобы дополнительные таблицы заполнились которые по проведению срабатывают что ли?
Да, конечно... Не забудь убедиться, что все констрейты и триггера включены...
24.08.2009 16:40
Mtirt
 
И может уберешь * из почтовика?
Лучше честно прописать все возможные статусы.
24.08.2009 16:43
MirProd
 
А при удалении накладных почтовиком, остатки изменяются? Если да, то накладные надо создать в "черновике" и провести, либо править остатки скриптом.
24.08.2009 16:47
Mtirt
 
Цитата:
MirProd А при удалении накладных почтовиком, остатки изменяются?
Остатки изменяются.
Цитата:
MirProd Если да, то накладные надо создать в "черновике" и провести, либо править остатки скриптом.
Можно просто запустить перерасчет остатков в адм.модуле.
24.08.2009 17:10
mighty
 
Цитата:
Mtirt Можно просто запустить перерасчет остатков в адм.модуле.
я так и сделал, когда накладные из бекапа таблицы восстановил, запустил из административного модуля перерасчет остатков..
Ага Тань, спасибо, я понял пропишу статусы в почтовике 1-2,2-3
Опции темы


Часовой пояс GMT +3, время: 17:07.

 

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