CREATE PLAN NHC 2 — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «CREATE_PLAN_NHC_2 - это функция из справочника R266 = Полный текст функции = parameters kod local fld, sql, t, …») |
(нет различий)
|
Версия 10:32, 21 апреля 2016
CREATE_PLAN_NHC_2 - это функция из справочника R266
Полный текст функции
parameters kod
local fld, sql, t, aa, r, msg, i
fld := ' t_KOD,N,5; t_NAME,C,60; t_1,N,14,4; t_2,N,14,8; '
try
msg := WaitMsg( RealName( 'R11', kod, true ) )
sql := [ Delete From R71 Where KODPROD = ] + kod + [ and VAR_NUM = 10 ]
SimpleSql( sql, ReflisPath )
t := CreateTmpFile( fld, 't', ~IsFreeDel := true )
r := Div_z( 1000, R11Wght( kod ), 4 )
aa := CREATE_PLAN_NHC_3( kod )
if !IsEmpty( aa )
for i := 1 to len( aa )
( t )->( DbAppend() )
( t )->t_KOD := aa[i,1]
( t )->t_1 := aa[i,2]
( t )->t_2 := Div_z( aa[i,2], r, 8 )
next
endif
// плановая рецептура - рецептура номер 10
// --- R264 ---
sql := [ Select KOD ;
From R264 ;
Where KOD = ] + str( kod ) + '00010'
aa := SqlToArr( sql, {'KOD'}, ReflisPath )
if IsEmpty( aa )
sql := [ Insert into R264( KOD, KODPROD, VAR_NUM, PNAME ) ;
Values ( ] + str( kod ) + '00010' + [, ] + kod + [, 10, 'рецептура 10' ) ]
SimpleSql( sql, ReflisPath )
endif
// *** R264 ***
fld := 'r_KODPROD,N,5; r_R264KOD,N,10; r_VAR_NUM,N,5; r_REFL,C,4;;
r_KOD,N,5; r_TON_AMNT,N,11,4; r_UNIT_AMNT,N,14,8; '
r := CreateTmpFile( fld, 'r', ~IsFreeDel := true )
( t )->( DbGoTop() )
while !( t )->( eof() )
( r )->( DbAppend() )
( r )->r_KODPROD := kod
( r )->r_R264KOD := val( str( kod ) + '00010' )
( r )->r_VAR_NUM := 10
( r )->r_REFL := 'R08 '
( r )->r_KOD := ( t )->t_KOD
( r )->r_TON_AMNT := ( t )->t_1
( r )->r_UNIT_AMNT := ( t )->t_2
( t )->( DbSkip() )
end
sql := [ Select r_KODPROD, r_R264KOD, r_VAR_NUM, r_REFL, r_KOD, r_TON_AMNT, ;
r_UNIT_AMNT ;
From ] + TmpFilePath( r )
SimpleSql( [ Insert into R71( KODPROD, R264KOD, VAR_NUM, REFL, KOD, ;
TON_AMNT, UNIT_AMNT ) ] + sql, ReflisPath )
finally
CloseTable( r )
CloseTable( t )
HideMsg( msg )
end
// t
// t_KOD - код сырья или материала
// t_NAME - наименование
// t_1 - количество на тонну
// t_2 - количество на единицу
// r
// r_KODPROD -
// t_R264KOD -
// r_VAR_NUM -
// r_REFL -
// r_KOD -
// r_TON_AMNT -
// r_UNIT_AMNT -