[ТЕМА ЗАКРЫТА]
08.04.2009 14:24
dimaFedorov
 
Добрый день!
Такой вопрос - есть запрос к Оракл в него попадают данные по приходным накладным, есть ли человек который поможет написать запрос чтобы в него попадали ПКО? ну либо переделать этот.
|SELECT
|SMDOCUMENTS.ID,
|SMDOCUMENTS.CREATEDAT AS DATEDOC,
|SMDOCUMENTS.CLIENTINDEX AS CLIENTID,
|SMDOCUMENTS.LOCATIONTO AS MXID,
|SMWAYBILLSIN.SUPPLIERDOC AS NNAKL,
|SMSPECTAX.TAXRATE AS NDSINFO,
|SMCLIENTINFO.INN,
|Sum(SMSPEC.QUANTITY) AS QUANTITY,
|Sum(SMSPEC.TOTALPRICE) AS SUMPRICE,
|Sum(SMSPEC.TOTALPRICENOTAX)AS SUMPRICENONDS,
|SMWAYBILLSIN.SUPPLIERINVOICE,
|SMWAYBILLSIN.SUPPLINVOICECREATE
| FROM
|SUPERMAG.SMDOCUMENTS,
|SUPERMAG.SMCLIENTINFO,
|SUPERMAG.SMSPEC,
|SUPERMAG.SMSPECTAX,
|SUPERMAG.SMWAYBILLSIN
|WHERE
|SUPERMAG.SMDOCUMENTS.CLIENTINDEX = SUPERMAG.SMCLIENTINFO.ID AND
|SUPERMAG.SMSPECTAX.SPECITEM = SUPERMAG.SMSPEC.SPECITEM AND
|SUPERMAG.SMDOCUMENTS.ID = SUPERMAG.SMWAYBILLSIN.ID AND
|SUPERMAG.SMDOCUMENTS.DOCTYPE = SUPERMAG.SMWAYBILLSIN.DOCTYPE AND
|SUPERMAG.SMWAYBILLSIN.ID = SUPERMAG.SMSPECTAX.DOCID AND
|SUPERMAG.SMWAYBILLSIN.DOCTYPE = SUPERMAG.SMSPECTAX.DOCTYPE AND
|SUPERMAG.SMWAYBILLSIN.ID = SUPERMAG.SMSPEC.DOCID AND
|SUPERMAG.SMWAYBILLSIN.DOCTYPE = SUPERMAG.SMSPEC.DOCTYPE
|AND (
| SUPERMAG.SMDOCUMENTS.DOCTYPE = 'WI' AND
|SUPERMAG.SMDOCUMENTS.DOCSTATE = 3 AND
|SUPERMAG.SMDOCUMENTS.OPCODE= 0 AND
|SUPERMAG.SMDOCUMENTS.USEROP IS NULL
|)
|AND SMDOCUMENTS.CREATEDAT>='" + Лев(НачПериода, 10) + "'
|AND SMDOCUMENTS.CREATEDAT<='" + Лев(КонПериода, 10) + "'
|GROUP BY
|SMDOCUMENTS.ID,
|SMDOCUMENTS.CREATEDAT,
|SMWAYBILLSIN.SUPPLIERINVOICE,
|SMWAYBILLSIN.SUPPLINVOICECREATE,
|SMDOCUMENTS.CLIENTINDEX,
|SMDOCUMENTS.LOCATIONTO,
|SMWAYBILLSIN.SUPPLIERDOC,
|SMSPECTAX.TAXRATE,
|SMCLIENTINFO.INN
|ORDER BY SMDOCUMENTS.CREATEDAT";

И еще вопрос если можно. Спасибо всем кто откликнется, очень благодарен.. где можно взять информацию по таблицам, какая к какому виду дока относится, и расшифровку полей, если это возможно? Спасибо, заранее, благодарен за ответ.
08.04.2009 14:58
Mtirt
 
Интересно, что такое ПКО. В Супермаге я не знаю документа с таким названием.
Информация по таблицам есть в документации к Супермагу. Том09. Структура БД ТС СМ-2000.pdf. Если не лежит на FTP, то имеет смысл обратиться в С+, они вышлют.
Типы документов и справочников можно посмотреть в интерфейсе - Разделы - Настройка - Справочники. Типы документов, типы объектов, типы справочников.
08.04.2009 15:56
dimaFedorov
 
спасибо огромное
08.04.2009 16:00
Mtirt
 
А что такое ПКО???
08.04.2009 16:11
deucel
 
Цитата:
dimaFedorov Добрый день!
Такой вопрос - есть запрос к Оракл в него попадают данные по приходным накладным...
Немного подправил тебе запрос для удобочитаемости и правильности.

Код:
|SELECT   /*+ INDEX (D SMDOCUMENTS_CREATEDAT) */
|         d.ID, d.createdat datedoc, d.clientindex clientid, d.locationto mxid, w.supplierdoc nnakl, t.taxrate ndsinfo, (SELECT i.inn
|                                                                                                                          FROM supermag.smclientinfo i
|                                                                                                                         WHERE i.ID = d.clientindex) inn,
|         SUM (s.quantity) quantity, SUM (s.totalprice) sumprice, SUM (s.totalpricenotax) sumpricenonds, w.supplierinvoice, w.supplinvoicecreate
|    FROM supermag.smdocuments d, supermag.smwaybillsin w, supermag.smspec s, supermag.smspectax t
|   WHERE d.doctype = 'WI'
|     AND d.docstate = 3
|     AND d.opcode = 0
|     AND d.userop IS NULL
|     AND d.createdat BETWEEN '" + Лев(НачПериода, 10) + "' AND '" + Лев(КонПериода, 10) + "'
|     AND w.doctype = d.doctype
|     AND w.ID = d.ID
|     AND s.doctype = d.doctype
|     AND s.docid = d.ID
|     AND t.doctype = s.doctype
|     AND t.docid = s.docid
|     AND t.specitem = s.specitem
|GROUP BY d.ID, d.createdat, w.supplierinvoice, w.supplinvoicecreate, d.clientindex, d.locationto, w.supplierdoc, t.taxrate
|ORDER BY d.createdat
08.04.2009 16:12
akonev
 
Цитата:
Mtirt А что такое ПКО???
действительно, интересно...
мне вот только приходный кассовый ордер придумался.
08.04.2009 16:24
dimaFedorov
 
прошу прощения за неправильную инфу необходимо загрузить документ Z-отчет, очень прошу помочь
08.04.2009 16:27
dimaFedorov
 
Цитата:
deucel Немного подправил тебе запрос для удобочитаемости и правильности.

Код:
|SELECT   /*+ INDEX (D SMDOCUMENTS_CREATEDAT) */
|         d.ID, d.createdat datedoc, d.clientindex clientid, d.locationto mxid, w.supplierdoc nnakl, t.taxrate ndsinfo, (SELECT i.inn
|                                                                                                                          FROM supermag.smclientinfo i
|                                                                                                                         WHERE i.ID = d.clientindex) inn,
|         SUM (s.quantity) quantity, SUM (s.totalprice) sumprice, SUM (s.totalpricenotax) sumpricenonds, w.supplierinvoice, w.supplinvoicecreate
|    FROM supermag.smdocuments d, supermag.smwaybillsin w, supermag.smspec s, supermag.smspectax t
|   WHERE d.doctype = 'WI'
|     AND d.docstate = 3
|     AND d.opcode = 0
|     AND d.userop IS NULL
|     AND d.createdat BETWEEN '" + Лев(НачПериода, 10) + "' AND '" + Лев(КонПериода, 10) + "'
|     AND w.doctype = d.doctype
|     AND w.ID = d.ID
|     AND s.doctype = d.doctype
|     AND s.docid = d.ID
|     AND t.doctype = s.doctype
|     AND t.docid = s.docid
|     AND t.specitem = s.specitem
|GROUP BY d.ID, d.createdat, w.supplierinvoice, w.supplinvoicecreate, d.clientindex, d.locationto, w.supplierdoc, t.taxrate
|ORDER BY d.createdat

Спасибо огромное, теперь огромная просьба помочь вытащить Z-отчеты из Супермага, очень прошу помощи.
т.е. нужно создать в 1с, 2 ПКО один с НДС 10% другой с 18%.
08.04.2009 16:50
akonev
 
Цитата:
dimaFedorov Спасибо огромное, теперь огромная просьба помочь вытащить Z-отчеты из Супермага, очень прошу помощи.
т.е. нужно создать в 1с, 2 ПКО один с НДС 10% другой с 18%.
тогда, наверное, проще будет тянуть не Z-ы, сами по себе, а кассовые документы и цеплять к ним налоги из SMDocTax
08.04.2009 17:29
deucel
 
Цитата:
dimaFedorov Спасибо огромное, теперь огромная просьба помочь вытащить Z-отчеты из Супермага, очень прошу помощи.
т.е. нужно создать в 1с, 2 ПКО один с НДС 10% другой с 18%.
Если по аналогии с предыдущим - то

Код:
|SELECT   /*+ INDEX (D SMDOCUMENTS_CREATEDAT) */
|         d.ID, d.createdat datedoc, d.locationfrom mxid, t.taxrate ndsinfo, SUM (s.quantity) quantity, SUM (s.totalprice) sumprice, SUM (s.totalpricenotax) sumpricenonds
|    FROM supermag.smdocuments d, supermag.smspec s, supermag.smspectax t
|   WHERE d.doctype = 'CS'
|     AND d.docstate = 3
|     AND d.createdat BETWEEN '" + Лев(НачПериода, 10) + "' AND '" + Лев(КонПериода, 10) + "'
|     AND s.doctype = d.doctype
|     AND s.docid = d.ID
|     AND t.doctype(+) = s.doctype
|     AND t.docid(+) = s.docid
|     AND t.specitem(+) = s.specitem
|GROUP BY d.createdat, d.ID, d.clientindex, d.locationfrom, t.taxrate
|ORDER BY d.createdat
но учти, что налоги должны рассчитываться для кассовых документов
(Адм. модуль - БД _ Касса - Статистика _ Налоги)
08.04.2009 18:18
dimaFedorov
 
Спасибо попробую этим отчетиком вытянуть из Сумермага.
14.04.2009 23:04
dimaFedorov
 
Цитата:
deucel Если по аналогии с предыдущим - то

Код:
|SELECT   /*+ INDEX (D SMDOCUMENTS_CREATEDAT) */
|         d.ID, d.createdat datedoc, d.locationfrom mxid, t.taxrate ndsinfo, SUM (s.quantity) quantity, SUM (s.totalprice) sumprice, SUM (s.totalpricenotax) sumpricenonds
|    FROM supermag.smdocuments d, supermag.smspec s, supermag.smspectax t
|   WHERE d.doctype = 'CS'
|     AND d.docstate = 3
|     AND d.createdat BETWEEN '" + Лев(НачПериода, 10) + "' AND '" + Лев(КонПериода, 10) + "'
|     AND s.doctype = d.doctype
|     AND s.docid = d.ID
|     AND t.doctype(+) = s.doctype
|     AND t.docid(+) = s.docid
|     AND t.specitem(+) = s.specitem
|GROUP BY d.createdat, d.ID, d.clientindex, d.locationfrom, t.taxrate
|ORDER BY d.createdat
но учти, что налоги должны рассчитываться для кассовых документов
(Адм. модуль - БД _ Касса - Статистика _ Налоги)

Спасибо огромное, за помощь, запросик рабтает!!! Только вот еще вопросик. Как учесть кассовые чеки в которых стоит признак операция "возврат от покупателя". Чтобы они тоже выгребались?
14.04.2009 23:42
OlegON
 
Разбавь, вместо
d.doctype = 'CS'
впиши
d.doctype = 'CS' and d.doctype = 'CR'

только обрати внимание, что d.locationfrom поменяется на d.locationto при CR, case или decode тебе в помощь
15.04.2009 09:17
deucel
 
Цитата:
dimaFedorov Как учесть кассовые чеки в которых стоит признак операция "возврат от покупателя".
Резюмируем:
заменяем d.doctype = 'CS' на d.doctype in ('CS', 'CR')
заменяем d.locationfrom mxid на NVL(d.locationfrom, d.locationto) mxid

но лучше на decode (d.doctype, 'CS', d.locationfrom, d.locationto)
если суммы возвратов будут отрицательными (для однообразности)
типа SUM(decode (d.doctype, 'CS', s.quantity, -s.quantity)) quantity
21.04.2009 11:44
dimaFedorov
 
Ребята спасибо!!! все заработало.. Очень благодарен за помощь!!!
Опции темы


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

 

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