ORL 999 — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) |
(нет различий)
|
Версия 08:47, 2 апреля 2018
ORL_999 - это программа из справочника R266
Удалить товары из таблицы
ORL_999( _, r20_kod )
_ - таблица с товарами
r20_kod - код магазина
Текст
parameters _, r20_kod local m, fld, sql, m2, data data := DATE() fld := ' m1,N,5; ' try m := CREATETMPFILE( fld, 'm', ~IsFreeDel := true ) m2 := CREATETMPFILE( fld, 'm2', ~IsFreeDel := true ) // текущий месяц sql := [ Select KOD From MTUN] + RET_F_EXT( data ) + [ Where BKACNT = '41.2 ' and REFLANAL = 'R20 ' and ; ANAL = ] + r20_kod + [ and REFL = 'R08 ' and KOD > 0 ] SimpleSql( [ Insert into ] + TmpFilePath( m2 ) + [( m1 ) ] + sql, OpdataPath ) data := BOM( data ) - 1 // прошлый месяц sql := [ Select KOD From MTUN] + RET_F_EXT( data ) + [ Where BKACNT = '41.2 ' and REFLANAL = 'R20 ' and ; ANAL = ] + r20_kod + [ and REFL = 'R08 ' and KOD > 0 ] SimpleSql( [ Insert into ] + TmpFilePath( m2 ) + [( m1 ) ] + sql, OpdataPath ) // m2 -> m sql := [ Select DISTINCT m1 From ] + TmpFilePath( m2 ) SimpleSql( [ Insert into ] + TmpFilePath( m ) + [( m1 ) ] + sql, TempPath ) // _45 sql := [ Update _ Set _45 = 1 From ] + TmpFilePath( _ ) + [ _ left outer join ] + TmpFilePath( m ) + [ ON _2 = m1 ; Where _1 = 'R08 ' and m1 is not null ] SimpleSql( sql, TempPath ) sql := [ Delete From ] + TmpFilePath( _ ) + [ Where _1 = 'R08 ' and _45 is null ] SimpleSql( sql, TempPath ) finally CLOSETABLE( m2 ) CLOSETABLE( m ) end // проверяем наличие товара в оборотной ведомости за текущий и прошлый месяц // 41.2 // REFLANAL R20 // ANAL r20_kod // _0 - имя // _1 - справочник // _2 - код // m1 код товара // _45 Номер сообщения в весах с ПЭ