[ОТВЕТИТЬ]
Опции темы
15.08.2012 12:51  
Dim
отсюда

Цитата:
Сообщение от OlegON
Как получить остатки на дату –

begin
Supermag.Remains.Calс ('13/09/2008',FALSE,23, 0, FALSE);
End;

Далее во временно табличке SUPERMAG.TTREMAINS получаем все артикулы с остатками на конец 13/09/2008
что передается в параметрах?
1-е понятно - дата... а дальше? можно ли по конкретному артикулу получить остатки? где задается МХ?
 
15.08.2012 13:01  
Mtirt
Если честно, остается только гадать...
Код:
remains.calc(i_date => :i_date,
               i_isaddingdata => i_isaddingdata,
               i_docstatemode => :i_docstatemode,
               i_calcmode => :i_calcmode,
               i_isallremains => i_isallremains)
Цитата:
где задается МХ?
Нигде, насколько я понимаю.
 
15.08.2012 13:07  
Dim
а как правильно запустить? в SQL+ не работает... пишет --

Код:
SQL> begin
  2  Supermag.Remains.Calс('10/08/2012',FALSE,23, 0, FALSE);
  3  End;
  4  /
Supermag.Remains.Calс('10/08/2012',FALSE,23, 0, FALSE);
                 *
ошибка в строке 2:
ORA-06550: Строка 2, столбец 18:
PLS-00302: компонента 'CALС' должна быть объявлена
ORA-06550: Строка 2, столбец 1:
PL/SQL: Statement ignored
 
15.08.2012 13:12  
Mtirt
Под кем запускаешь?
 
15.08.2012 13:14  
Dim
и под supermag'ом и под sys'ом
 
15.08.2012 13:31  
MirProd
Код:
execute supermag.remains.calc(to_date('31.03.2012', 'dd.mm.yyyy'), false, 23, 0, false);
Таблица SUPERMAG.TTREMAINS содержит поле МХ - STORELOC.
 
"Спасибо" MirProd от:
15.08.2012 13:35  
Dim
заработало... все дело было в копи-пасте... перебил руками - все заработало...
 
15.08.2012 18:40  
Dim
экспериментирую.... если последним параметром поставить TRUE, то выдает и нулевые остатки
 
15.08.2012 18:45  
Dim
от предпоследнего параметра ничего не зависит...
 
15.08.2012 20:38  
vdm
Вообще эта функция была описана
https://olegon.ru/showpost.php?p=34774&postcount=8

и фильтр по классификатору тут
https://olegon.ru/showpost.php?p=118205&postcount=13

В целом, немного подробнее
Код:
PROCEDURE Remains.Calc( I_DATE IN DATE, I_ISADDINGDATA IN BOOLEAN := FALSE, I_DOCSTATEMODE IN NUMBER := 23,
                        I_CALCMODE IN NUMBER := 0, I_ISALLREMAINS IN BOOLEAN := FALSE )

I_DATE - дата, на конец которой идет расчет

I_ISADDINGDATA - будет ли расчет добавляться к уже существующему.
Иначе предварительно чистится таблица TTRemains.

I_DOCSTATEMODE:
0 - DocState = 0
2 - DocState = 2
23 - DocState >= 2

I_CALCMODE:
0 - автоматически выбрать режим расчета (1/2/3)
1 - считать по всем документам, от закрытого периода до I_DATE
2 - считать от текущих остатков из smgoods -приходы+расходы с датой больше I_DATE
3 - считать от заранее рассчитанных остатков (задание в административном модуле)

I_ISALLREMAINS - все остатки, в том числе и нулевые.


-- для ограниченного набора артикулов предварительно вызвать
-- фильтр по классификатору
supermag.RepTools.LoadClassMatrix(:P_MatrixLoc, :P_Group_All, :P_BGroup, :P_Group_Tree);
-- фильтр по МХ
supermag.RepTools.LoadLoc(:P_Stored_All, :P_Stored_Name, :P_Partner, :P_RgnId, :P_FirstDate);
-- загрузить назначенные фильтры
supermag.RepTools.LoadSQLFilter;
-- (параметры из описания подключения пользовательских отчетов)

-- в SUPERMAG.TTREMAINS артикулы с остатками на конец 13/09/2008
Supermag.Remains.Calc ('13/09/2008', FALSE, 23, 0, FALSE);

-- Для производства 
-- в SUPERMAG.TTREMAINSPROD артикулы с остатками на конец 13/09/2008
Supermag.Remains.Calcprod ('13/09/2008', FALSE, 23, 0, FALSE);
Там еще упоминается FixRemIncome.Calc --> ttRemIncome
Код:
   PROCEDURE FixRemIncome.Calc( I_DATE IN DATE, I_REUSE IN BOOLEAN := TRUE, I_ISADDINGDATA IN BOOLEAN := FALSE, I_ISALLREMAINS IN BOOLEAN := FALSE )
но чем оно отличается от Remains.Calc - не разбирался.
 
"Спасибо" vdm от:
 


Опции темы



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

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