Создание временной таблицы, ее наполнение, высветка таблицы и выбор записей из этой таблицы с помощью 50 строк кода — различия между версиями
Материал из Фабиус wiki
Alexey.v (обсуждение | вклад) (Новая страница: «// пример кода написан для того, чтобы не искать его в фабиусе // задача - для модернизации …») |
Hisava (обсуждение | вклад) м |
||
(не показано 13 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | local fld, _, sql, sr, tbl, keys, blk | |
− | + | fld := ' _1,C,12; _2,N,5; _3,C,40; _4,N,14,4; _5,N,14,4; ' | |
− | + | try | |
+ | _ := [[CreateTmpFile]]( fld, '_', ~IsFreeDel := true ) | ||
− | |||
− | |||
− | |||
− | |||
sql := [ Select BKACNT, KOD, EAMNT, EDSUM ; | sql := [ Select BKACNT, KOD, EAMNT, EDSUM ; | ||
From MTUN] + Ret_f_ext() + [ ; | From MTUN] + Ret_f_ext() + [ ; | ||
Строка 13: | Строка 10: | ||
SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _1, _2, _4, _5 ) ] + sql, OpdataPath ) | SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _1, _2, _4, _5 ) ] + sql, OpdataPath ) | ||
− | + | // r143 | |
− | + | sql := [ Update _ Set _3 = Left( PNAME, 40 ) From ] + TmpFilePath( _ ) + [ _ left outer join R143 ON _2 = KOD ] | |
− | + | SimpleSql( sql, ReflisPath ) | |
− | + | ||
− | + | ||
− | + | ||
( _ )->( DbGoTop() ) | ( _ )->( DbGoTop() ) | ||
− | tbl := { | + | tbl := { { 'Title', 'Выберите основное средство' }, { 'ShowType', 2 }, { 'ResultExpr', "GrpRecord( '_2' )" } } |
− | + | ||
− | + | ||
− | + | fld := { ; | |
− | + | { { 'FldName', '_1' }, { 'FldTitl', 'Счет' }, { 'PreBlk', false } }, ; | |
− | + | { { 'Fldname', '_2' }, { 'FldTitl', 'Код' }, { 'PreBlk', false } }, ; | |
− | + | { { 'Fldname', '_3' }, { 'FldTitl', 'Наименование' }, { 'PreBlk', false } }, ; | |
− | + | { { 'Fldname', '_4' }, { 'FldTitl', 'Количество' }, { 'PreBlk', false } }, ; | |
− | + | { { 'Fldname', '_5' }, { 'FldTitl', 'Сумма' }, { 'PreBlk', false } } ; | |
− | + | } | |
blk := 'CloseForm( GetForm(), false ), SetProperty( "ModalResult", 1, GetForm() ) ' | blk := 'CloseForm( GetForm(), false ), SetProperty( "ModalResult", 1, GetForm() ) ' | ||
− | |||
− | |||
keys := { { { 'KeyName', 'F6' } }, ; | keys := { { { 'KeyName', 'F6' } }, ; | ||
{ { 'KeyName', 'Enter' }, { 'Text', 'Нажатие на кнопку ENTER' }, { 'BLK', blk } } } | { { 'KeyName', 'Enter' }, { 'Text', 'Нажатие на кнопку ENTER' }, { 'BLK', blk } } } | ||
− | sr := MyGrid( _, tbl, fld, keys, ~Modal := true ) | + | sr := [[MyGrid]]( _, tbl, fld, keys, ~Modal := true ) |
+ | |||
+ | finally | ||
+ | CloseTable( _ ) | ||
+ | end | ||
+ | |||
+ | // _1 - счет | ||
+ | // _2 - основное средство, код | ||
+ | // _3 - основное средство, наименование | ||
+ | // _4 - количество | ||
+ | // _5 - сумма | ||
− | + | // пример кода написан для того, чтобы не искать его в фабиусе | |
+ | // задача - для модернизации основного средства необходимо выбрать его из оборотной ведомости | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | = Смотрите также = | |
− | + | [[Шаблоны программ на внутреннем языке фабиуса для повторного использования]] | |
− | + | ||
− | + | ||
− | + |
Текущая версия на 07:23, 15 сентября 2021
local fld, _, sql, sr, tbl, keys, blk fld := ' _1,C,12; _2,N,5; _3,C,40; _4,N,14,4; _5,N,14,4; '
try _ := CreateTmpFile( fld, '_', ~IsFreeDel := true )
sql := [ Select BKACNT, KOD, EAMNT, EDSUM ; From MTUN] + Ret_f_ext() + [ ; Where Left( BKACNT, 2 ) = '01' and REFL = 'R143' and KOD > 0 and EAMNT > 0 ] SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _1, _2, _4, _5 ) ] + sql, OpdataPath )
// r143 sql := [ Update _ Set _3 = Left( PNAME, 40 ) From ] + TmpFilePath( _ ) + [ _ left outer join R143 ON _2 = KOD ] SimpleSql( sql, ReflisPath )
( _ )->( DbGoTop() )
tbl := { { 'Title', 'Выберите основное средство' }, { 'ShowType', 2 }, { 'ResultExpr', "GrpRecord( '_2' )" } }
fld := { ; { { 'FldName', '_1' }, { 'FldTitl', 'Счет' }, { 'PreBlk', false } }, ; { { 'Fldname', '_2' }, { 'FldTitl', 'Код' }, { 'PreBlk', false } }, ; { { 'Fldname', '_3' }, { 'FldTitl', 'Наименование' }, { 'PreBlk', false } }, ; { { 'Fldname', '_4' }, { 'FldTitl', 'Количество' }, { 'PreBlk', false } }, ; { { 'Fldname', '_5' }, { 'FldTitl', 'Сумма' }, { 'PreBlk', false } } ; }
blk := 'CloseForm( GetForm(), false ), SetProperty( "ModalResult", 1, GetForm() ) '
keys := { { { 'KeyName', 'F6' } }, ; { { 'KeyName', 'Enter' }, { 'Text', 'Нажатие на кнопку ENTER' }, { 'BLK', blk } } }
sr := MyGrid( _, tbl, fld, keys, ~Modal := true )
finally CloseTable( _ ) end
// _1 - счет // _2 - основное средство, код // _3 - основное средство, наименование // _4 - количество // _5 - сумма
// пример кода написан для того, чтобы не искать его в фабиусе // задача - для модернизации основного средства необходимо выбрать его из оборотной ведомости
Смотрите также
Шаблоны программ на внутреннем языке фабиуса для повторного использования