[ТЕМА ЗАКРЫТА]
Опции темы
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
 
23.04.2009 13:08  
7zEro
ок спасибо!
 
 
Опции темы



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

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