KLS 171208 — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «KLS_171208 - это свод из справочника R238 Среднее количество продаж в рознице = Условие = loca…») |
(нет различий)
|
Версия 09:24, 31 мая 2018
KLS_171208 - это свод из справочника R238
Среднее количество продаж в рознице
Условие
local sql, fld, _, i, _2, r20_kods
r20_kods := CHOICEREFR( 'R20', "GRPRECORD( 'KOD' )", { 'KOD', 'PNAME' }, ;
'KODORG = ' + FACTORYkod, ~Title := 'Пожалуйста, выберите магазин ( один или несколько )' )
if EMPTY( r20_kods )
return
endif
if ValType( r20_kods ) = 'N'
r20_kods := { r20_kods }
endif
fld := ' _1,N,5; _2,N,5; _3,C,4; _4,C,40; _5,N,14,4; _6,N,14,4; _7,N,14,4; _8,N,14,4; _9,N,5; _0,D,4; '
_ := CreateTmpFile( fld, '_', ~IsFreeDel := true, ~Own := Self )
_2 := CreateTmpFile( fld, '_2', ~IsFreeDel := true, ~Own := Self )
local ip, my, end_data
ip := INPUTPERIOD( true )
if EMPTY( ip )
return
endif
M->QwrTitle := ' ( ' + StoD( ip[1] ) + ' - ' + StoD( ip[2] ) + ' )'
my := STOD( ip[1] )
end_data := STOD( ip[2] ) + 1
i := 0
while my <> end_data
i := i + 1
sql := [ Select DATDOC, KANAL1, KANAL2, KREFL2, SUM( AMNT ), SUM( "SUM" ) From DOCP] + RET_F_EXT( my ) + [ ;
Where KINDDOC = 'FRO' and LVLNUM = '2' and DATDOC = '] + SQLDATE( my ) + [' and KREFL1 = 'R20 ' and KANAL2 > 0 and ;
KANAL1 in ( ] + ARRASSTRING( r20_kods ) + [ ) ;
Group by DATDOC, KANAL1, KANAL2, KREFL2 ]
SimpleSql( [ Insert into ] + TmpFilePath( _2 ) + [( _0, _1, _2, _3, _5, _6 ) ] + sql, OpdataPath )
my := my + 1
end
sql := [ Update ] + TmpFilePath( _2 ) + [ Set _9 = 1 ]
SIMPLESQL( sql, TempPath )
sql := [ Update _2 Set _4 = LEFT( PNAME ,40 ) From ] + TmpFilePath( _2 ) + [ _2 left outer join R08 on _2 = KOD ;
Where _3 = 'R08 ' ]
SIMPLESQL( sql, ReflisPath )
sql := [ Update _2 Set _4 = LEFT( PNAME ,40 ) From ] + TmpFilePath( _2 ) + [ _2 left outer join R11 on _2 = KOD ;
Where _3 = 'R11 ' ]
SIMPLESQL( sql, ReflisPath )
( _2 )->( DBGOTOP() )
result := _2
// _1 магазин, код
// _2 товар, код
// _3 товар, справочник
// _4 товар, имя
// _5 количество
// _6 сумма
// _7 среднее количество
// _8 средняя сумма
// _9 количество дней
// _0 дата