KLS 171208 — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Условие)
м (Содержимое страницы заменено на «KLS_171208 - это свод из справочника R238 Среднее количество продаж в розн…»)
 
Строка 1: Строка 1:
 
[[KLS_171208]] - это свод из справочника [[R238]]
 
[[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 дата
 
 
 
= Смотрите также =
 
= Смотрите также =
 
[[R238]]
 
[[R238]]

Текущая версия на 10:26, 6 октября 2020

KLS_171208 - это свод из справочника R238

Среднее количество продаж в рознице

Смотрите также

R238