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 * авто в подчиненную.
Олег я не понял а зачем в черновик и обратно? чтобы дополнительные таблицы заполнились которые по проведению срабатывают что ли?
Часовой пояс GMT +3, время: 10:39.

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