KLS 171208
Материал из Фабиус wiki
Версия от 09:24, 31 мая 2018; Hisava (обсуждение | вклад) (Новая страница: «KLS_171208 - это свод из справочника R238 Среднее количество продаж в рознице = Условие = loca…»)
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 дата