View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000795 | Общие вопросы | General | public | 2015-03-10 15:15 | 2015-05-14 11:45 |
| Reporter | ruslan | Assigned To | barry | ||
| Priority | urgent | Severity | feature | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Summary | 0000795: +БД-Добавить поцедуру WORKLINK_PRICE в БД | ||||
| Description | create or alter procedure WORKLINK_PRICE ( GID integer) returns ( GDSKEY integer, QUANT double precision) as declare variable WMID integer; declare variable QNT double precision; BEGIN qnt=0.0; for select wl.godsid, wl.quant --,lp.price, lp.nds ,(select wm.id from workmain wm where wm.godsid=wl.godsid) --,g.kprice from worklink wl join workmain w on w.id=wl.owner --join goods g on wl.godsid=g.id --left join GOODS_LASTINPPRICE(:CURORGNID,null,wl.godsid) lp on 0=0 where w.godsid=:GID into :gdskey, :quant, --:lst_price, :lst_nds, :wmid --, :nprice do begin qnt= :quant; if (:wmid is null) then suspend; -- только конечные состовляющие без ПФ for select wp.gdskey, wp.quant*:qnt --,lp.price, lp.nds, g.kprice from worklink_price(:gdskey) wp -- join goods g on wp.gdskey = g.id -- left join GOODS_LASTINPPRICE(:CURORGNID,null,wp.gdskey) lp on 0=0 into :gdskey, :quant --, :lst_price, lst_nds, :nprice do begin suspend; end end END^ SET TERM ; ^ COMMENT ON PROCEDURE WORKLINK_PRICE IS 'Процедура извлекает количество комплектующих в изделии, с учетом всех комплектующих в ПФ(комплектующие в ПФ расчитываются как Кол-во ПФ* Кол-во комплектующего)в ПФ'; | ||||
| Additional Information | Сначала хотел ее сделать с извлечением последних цен по закупке, для формирования плановой себестоимости, однако это серьезно отяжеляет запрос, эффективнее джойнить в самом запросе в отчете для плановой себестоимости, а процедера извлечения комплектующих из ПФ, очень нужна. | ||||
| Tags | No tags attached. | ||||
|
|
Добавь в базу, а то хочу сделать обновление, а там я ее в отчете юзаю... |
|
|
Еще одна служебная процедура: Описание: Получение списка убыточных позиций по месяцам периода по группе складов create or alter procedure GDDDT_LOSSPOS ( BPERIOD timestamp, EPERIOD timestamp, GRPSTORID integer) returns ( BCDATE timestamp, ECDATE timestamp, GNAME varchar(80), DELTA double precision, KNK double precision) as declare variable KSUMMA double precision; declare variable DSUMMA double precision; declare variable GID integer; begin for select edate, bdate from f_months_dataset(:bperiod, :eperiod) into :ECDATE, :BCDATE do begin -- suspend ; for select sum((gk.price-gk.nds)*gd.quant), sum((gd.price-gd.nds)*gd.quant), g.id, g.name, sum((gk.price-gk.nds)*gd.quant)-sum((gd.price-gd.nds)*gd.quant), w.knk from dgvdt d join storlist s on s.id=d.stor and d.stor in (select sg.storid from storgrpref sg where sg.grpid = :grpstorid) join gdddt gd on gd.dgvkey=d.id join gddkt gk on gd.gddkey = gk.id join goods g on g.id = gk.gdskey join workmain w on g.id = w.godsid where d.out_date >=:bcdate and d.out_date<=:ecdate and d.typ in(0,10) group by g.id, g.name, w.knk having sum((gk.price-gk.nds)*gd.quant)-sum((gd.price-gd.nds)*gd.quant) > 0.0 into :ksumma, :dsumma, :gid, :gname, :delta, :knk do begin suspend; end end end |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2015-03-10 15:15 | ruslan | New Issue | |
| 2015-04-02 12:56 | ruslan | Priority | normal => urgent |
| 2015-04-02 12:58 | ruslan | Note Added: 0001973 | |
| 2015-04-24 12:36 | ruslan | Note Added: 0001989 | |
| 2015-04-29 18:26 | barry | Status | new => resolved |
| 2015-04-29 18:26 | barry | Resolution | open => fixed |
| 2015-04-29 18:26 | barry | Assigned To | => barry |
| 2015-05-14 11:45 | ruslan | Status | resolved => closed |