PHC 170602
Материал из Фабиус wiki
PHC_170602 - это свод из справочника R238
Розничная торговля - Сведения - П Р О Д А Ж И
Условие отбора
local ip, my, end_data, fld, _, sql, _2 fld := ' _1,N,5; _2,C,60; _3,N,14,4; _4,N,14,4; _0,C,4; _5,N,5; _6,C,9; ' _ := CreateTmpFile( fld, '_', ~IsFreeDel := true, ~Own := Self ) _2 := CreateTmpFile( fld, '_2', ~IsFreeDel := true, ~Own := Self ) 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 while my <> end_data sql := [ Select KSHIFT, KANAL1, KREFL2, KANAL2, AMNT, "SUM" From DOCP] + Ret_f_ext( my ) + [ Where KINDDOC = 'FRO' and LVLNUM = '2' and DATDOC = '] + SqlDate( my ) + [' ] SimpleSql( [ Insert into ] + TmpFilePath( _2 ) + [( _6, _5, _0, _1, _3, _4 ) ] + sql, OpdataPath ) my := my + 1 end // _2 -> _ sql := [ Select _6, _5, _0, _1, Sum( _3 ), Sum( _4 ) From ] + TmpFilePath( _2 ) + [ Group by _6, _5, _0, _1 ] SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _6, _5, _0, _1, _3, _4 ) ] + sql, OpdataPath ) ( _ )->( DbGoTop() ) while !( _ )->( eof() ) ( _ )->_2 := Left( RealName( ( _ )->_0, ( _ )->_1 ), 60 ) ( _ )->( DbSkip() ) end ( _ )->( DbGoTop() ) result := _ // _1 код // _2 имя // _3 количество // _4 сумма // _5 магазин // _6 KSHIFT // _7 // _8 // _9 // _0 справочник