[ОТВЕТИТЬ]
Опции темы
26.12.2014 00:16  
Starter
Еще один быстрый способ узнать остатки + документ последнего прихода + цену последнего прихода (или учетную):

begin
supermag.Rep_Ostatki('23.12.2014',0,0,0,2,0,0,0,0);
End;

Далее во временной табличке SUPERMAG.TTREMAINS получаем все артикулы с остатками на конец вчерашнего дня.
Во временной табличке SUPERMAG.TTOSTATKI1 получаем документ и дату последнего прихода (поля таблицы: LOCID, ARTICLE, ID, CREATEDAT)
Во временной табличке SUPERMAG.TTOSTATKI2 получаем остаток по документу последнего прихода, цену с НДС/без НДС (учетную или последнего прихода).
поля LOCID, ARTICLE, QTY, PRICE1, PRICE2, PRICEPREC
PRICE1 - цена полная, PRICE2 - без НДС. PRICEPREC- не знаю, что такое.

Входные параметры процедуры Rep_Ostatki(в зависимости от версии СМ+ их может быть 8 (1.030.4) или 9 (1.031)):

ARGUMENT_NAME DATA_TYPE SEQUENCE
------------------------------ ------------------------------ ---------
PDATE VARCHAR2 1
POST NUMBER 2
PQTYMIN NUMBER 3
PQTYMAX NUMBER 4
PVIEWSUM NUMBER 5
PVIEWSCALE NUMBER 6
PONLYACCEPTCARD NUMBER 7
PONLYNOPRICE NUMBER 8
PGROUPSTORE NUMBER 9

PDATE - дата в текстовом формате. К примеру, to_char(sysdate-1,'dd.mm.yyyy')

POST - какие остатки получить:
0: Все
1: Остатки: только отрицательные;
2: Остатки: только нулевые;
3: Остатки: только положительные;
4: Остатки: только ненулевые;
5: Остатки: в диапазон от PQTYMIN до PQTYMAX

PQTYMIN,PQTYMAX - используются, если POST=5, диапазон.

PVIEWSUM - какие суммы используются.
0: никакие (ttostatki1 и ttostatki2 пустые, только ttremains заполнена)
1: учетные цены МХ (в таком случае табличка ttostatki1 будет пустая, в ttostatki2 - учетные цены МХ)
2: если выводятся документы последних приходов (тогда в ttostatki1 ид и дата документа ПП, в ttostatki2 - цены ПП)

PVIEWSCALE - вероятно, детализация по свойствам, вероятнее всего, при этом заполняется еще и временная табличка TTREMAINSSCALE

PONLYACCEPTCARD -
0: все карточки
1: только активные

PONLYNOPRICE - только товары с неустановленной ценой

PGROUPSTORE - что означает, не знаю. Судя по названию, как то связано с группировкой по МХ. На что влияет - не проверял.

Важно: эта процедура присутствует не во всех версиях СМ+. в 1.030 ее, к примеру, нет.
 
"Спасибо" Starter от:
02.03.2015 09:45  
kadr
Цитата:
Сообщение от kadr
Код:
SELECT rep_getcardclasspath('2.1.2.',1,1) FROM dual;
возвращает полный путь группы
первый параметр - группа
второй параметр что смотреть 1- классификатор, 2-ассортимент
третий параметр - не знаю, но при 1 работает
В версии 1.031.1 изменена и теперь имеет только 1 параметр "ptree".
Все самописные отчеты с этой функцией подлежат корректировке. ((

На будущее, наверно правильнее делать свои обертки для использования стандартных функций, тогда хоть поправить надо будет только в базе, а не по всем запросам и исходникам отчетов.
 
"Спасибо" kadr от:
04.01.2016 08:45  
Crack
SQL код:
CREATE OR REPLACE FUNCTION Rep_GetCardClassPath (PTREE IN SUPERMAG.SACARDCLASS.TREE%TYPE)
                                                        RETURN 
VARCHAR2
IS
        VRES VARCHAR2
(25000);
BEGIN
        
FOR C IN (SELECT NAME FROM SACARDCLASS
                                WHERE PTREE LIKE TREE
||'%'
                                
ORDER BY TREE)
        
LOOP
                
IF NOT (VRES IS NULLTHEN VRES := VRES||'. 'END IF;
                
VRES := VRES||C.NAME;
        
END LOOP;
        RETURN 
VRES;
EXCEPTION WHEN OTHERS THEN
        
RETURN PTREE;
END;

 
 


Опции темы



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

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