22.04.2009 21:40
7zEro
 
необходимо выгрузить сумму реализации товара по магазину в бухгалтерию... только не в розничных ценах а в ценах последнего прихода *22 в каком документе может храниться данная инфа в кассовых документах только розница... на сколько я понимаю в том же товарном отчете в колонке реализация "в закупе" берется из документов последнего прихода по проданному товару... а еще где ее можно хапнуть что бы в доверительную базу вылить.. желательно просчитанную сумму за смену (товара который был продан и содержится в кассовом документе или чеках)
22.04.2009 22:07
MirProd
 
А результаты расчета товародвижения из таблицы FFMAPREP не подойдут?
22.04.2009 22:08
Dim
 
в товарном отчете суммы берутся не по последнему приходу, а по расчету товародвижения, так как настроено в модуле администратора в разделе "Себестоимость". результаты расчета хранятся в таблицах FF*
23.04.2009 07:17
OlegON
 
Вряд ли "хапнешь". Придется самому считать. На крайний случай сделай расходку на нужный товар и заполни ценами последнего прихода. С датами не напутай.
23.04.2009 07:38
Mtirt
 
В Экспорте можно и себестоимость выгрузить. Посчитанную.
Этот путь чем не подходит?
23.04.2009 08:32
isi
 
Цитата:
OlegON Вряд ли "хапнешь". Придется самому считать. На крайний случай сделай расходку на нужный товар и заполни ценами последнего прихода. С датами не напутай.
только если будешь это делать в ЦО то получишь вот это
23.04.2009 09:06
7zEro
 
хм... будем думать. а на счет ЦО я стараюсь все данные из баз магазинов выгружать в бухню на прямую... а то всякое бывает не заметил что доки не все в ЦО ушли и т.д.
23.04.2009 09:16
Mtirt
 
А еще считать в магазинах себестоимость?
И сколько раз за день ты отвечаешь на вопрос: а почему у нас цифры не идут?
23.04.2009 10:47
deucel
 
попробуй скриптик, подправь под свои нужды
только он находит по возможности себестоимость или тип цены ЦПП

Код:
SELECT   (SELECT l.rgnid
            FROM smstorelocations l
           WHERE l.ID = s2.LOCATION) rgn, s2.LOCATION, (SELECT l.NAME
                                                          FROM smstorelocations l
                                                         WHERE l.ID = s2.LOCATION) locname, TRUNC (SUM (s2.quantity * s2.itemprice), 2) totalsum,
         TRUNC (SUM (s2.quantity * s2.itemprice_out), 2) totalsum_out
    FROM (SELECT s.LOCATION,
                 CASE
                    WHEN COUNT (ROWNUM) OVER (PARTITION BY s.LOCATION, s.article) = 1
                       THEN s.goods - s.goods_in
                    WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.quantity >= s.goods
                       THEN NULL
                    WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) <= s.goods_in
                    AND ROW_NUMBER () OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) <
                                                                                                                   COUNT (ROWNUM) OVER (PARTITION BY s.LOCATION, s.article)
                       THEN NULL
                    WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) = s.goods
                       THEN CASE
                              WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.quantity >= s.goods_in
                                 THEN s.quantity
                              ELSE s.goods - s.goods_in
                           END
                    WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) =
                                                                                                                 SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article)
                    AND SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) < s.goods
                       THEN CASE
                              WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.quantity >= s.goods_in
                                 THEN s.quantity + (s.goods - SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex))
                              ELSE s.goods - s.goods_in
                           END
                    WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) =
                                                                                                                 SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article)
                    AND SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) > s.goods
                       THEN CASE
                              WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.quantity >= s.goods_in
                                 THEN s.quantity - (SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.goods)
                              ELSE s.goods - s.goods_in
                           END
                    WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) < s.goods
                       THEN CASE
                              WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.quantity >= s.goods_in
                                 THEN s.quantity
                              ELSE SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.goods_in
                           END
                    WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) > s.goods
                       THEN CASE
                              WHEN SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.quantity >= s.goods_in
                                 THEN s.quantity - (SUM (s.quantity) OVER (PARTITION BY s.LOCATION, s.article ORDER BY s.createdat DESC, s.clientindex) - s.goods)
                              ELSE s.goods - s.goods_in
                           END
                    ELSE s.quantity
                 END quantity,
                 NVL (s.totalprice / DECODE (s.quantity, 0, NULL, s.quantity),
                      NVL ((SELECT p.price
                              FROM smprices p
                             WHERE p.storeloc = s.LOCATION AND p.article = s.article AND p.pricetype = 6), 0)
                     ) itemprice,
                 itemprice_out
            FROM (SELECT s.LOCATION, s.article, d.clientindex, d.createdat, NVL (d.quantity, 0) quantity, s.goods_out + NVL (g.quantity, 0) goods,
                         NVL (g.quantity, 0) goods_in, NVL (d.totalprice, 0) totalprice, (s.totalprice_out / s.goods_out) itemprice_out
                    FROM (SELECT   /*+ INDEX(D) INDEX(S)*/
                                   d.locationfrom LOCATION, s.article, SUM (s.quantity) goods_out, SUM (s.totalprice) totalprice_out
                              FROM smspec s, smdocuments d
                             WHERE s.doctype = d.doctype
                               AND s.docid = d.ID
                               AND d.doctype = 'CS'
                               AND d.createdat BETWEEN TRUNC (ADD_MONTHS (TO_DATE (SYSDATE), -1), 'MON') AND LAST_DAY (ADD_MONTHS (TO_DATE (SYSDATE), -1))
                          GROUP BY d.locationfrom, s.article) s,
                         (SELECT   storeloc, article, SUM (quantity) quantity
                              FROM (SELECT /*+ INDEX(D) INDEX(S)*/
                                           NVL (d.locationfrom, d.locationto) storeloc, s.article,
                                           DECODE (d.doctype, 'WI', -s.quantity, 'CR', -s.quantity, s.quantity) quantity
                                      FROM smspec s, smdocuments d
                                     WHERE s.doctype = d.doctype
                                       AND s.docid = d.ID
                                       AND d.doctype IN ('WI', 'WO', 'CS', 'CR')
                                       AND d.createdat BETWEEN TRUNC (ADD_MONTHS (TO_DATE (SYSDATE), 0), 'MON') AND SYSDATE
                                    UNION ALL
                                    SELECT storeloc, article, quantity
                                      FROM smgoods)
                             WHERE quantity > 0
                          GROUP BY storeloc, article) g,
                         (SELECT   /*+ INDEX(D) INDEX(S)*/
                                   d.locationto LOCATION, d.clientindex, d.createdat, s.article, SUM (s.quantity) quantity, SUM (s.totalprice) totalprice
                              FROM smdocuments d, smspec s
                             WHERE d.doctype = 'WI'
                               AND d.createdat BETWEEN TRUNC (SYSDATE - (90 + (TRUNC (SYSDATE) - TRUNC (ADD_MONTHS (TO_DATE (SYSDATE), -1), 'MON'))))
                                                   AND LAST_DAY (ADD_MONTHS (TO_DATE (SYSDATE), -1))
                               AND d.docstate = 3
                               AND d.opcode != 9
                               AND s.doctype = d.doctype
                               AND s.docid = d.ID
                          GROUP BY d.locationto, d.clientindex, d.createdat, s.article) d
                   WHERE s.LOCATION = g.storeloc(+) AND s.article = g.article(+) AND s.LOCATION = d.LOCATION(+) AND s.article = d.article(+)) s) s2
   WHERE s2.quantity IS NOT NULL
GROUP BY s2.LOCATION
Часовой пояс GMT +3, время: 18:23.

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