Создание временной таблицы, ее наполнение, высветка таблицы и выбор записей из этой таблицы с помощью 50 строк кода — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
(Новая страница: «// пример кода написан для того, чтобы не искать его в фабиусе // задача - для модернизации …»)
 
м
 
(не показано 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; '
  
local fld, _, sql, sr, tbl, keys, blk
+
try
 +
  _ := [[CreateTmpFile]]( fld, '_', ~IsFreeDel := true )
  
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
+
  // r143
  sql := [ Update _ ;
+
  sql := [ Update _ Set _3 = Left( PNAME, 40 ) From ] + TmpFilePath( _ ) + [ _ left outer join R143 ON _2 = KOD ]
    Set _3 = Left( PNAME, 40 ) ;
+
  SimpleSql( sql, ReflisPath )
    From ] + TmpFilePath( _ ) + [ _ ;
+
      left outer join R143 ON _2 = KOD ]
+
  SimpleSql( sql, ReflisPath )
+
  
 
   ( _ )->( DbGoTop() )
 
   ( _ )->( DbGoTop() )
  
   tbl := { ;
+
   tbl := { { 'Title', 'Выберите основное средство' }, { 'ShowType', 2 }, { 'ResultExpr', "GrpRecord( '_2' )" } }
    { 'Title', 'Выберите основное средство' }, { 'ShowType', 2 }, { 'ResultExpr', "GrpRecord( '_2' )" } ;
+
  }
+
  
  fld := { ;
+
  fld := { ;
    { { 'FldName', '_1' }, { 'FldTitl', 'Счет' }, { 'PreBlk', false } }, ;
+
    { { 'FldName', '_1' }, { 'FldTitl', 'Счет' }, { 'PreBlk', false } }, ;
    { { 'Fldname', '_2' }, { 'FldTitl', 'Код' }, { 'PreBlk', false } }, ;
+
    { { 'Fldname', '_2' }, { 'FldTitl', 'Код' }, { 'PreBlk', false } }, ;
    { { 'Fldname', '_3' }, { 'FldTitl', 'Наименование' }, { 'PreBlk', false } }, ;
+
    { { 'Fldname', '_3' }, { 'FldTitl', 'Наименование' }, { 'PreBlk', false } }, ;
    { { 'Fldname', '_4' }, { 'FldTitl', 'Количество' }, { 'PreBlk', false } }, ;
+
    { { 'Fldname', '_4' }, { 'FldTitl', 'Количество' }, { 'PreBlk', false } }, ;
    { { 'Fldname', '_5' }, { 'FldTitl', 'Сумма' }, { 'PreBlk', false } } ;
+
    { { 'Fldname', '_5' }, { 'FldTitl', 'Сумма' }, { 'PreBlk', false } } ;
  }
+
  }
  
 
   blk := 'CloseForm( GetForm(), false ), SetProperty( "ModalResult", 1, GetForm() ) '
 
   blk := 'CloseForm( GetForm(), false ), SetProperty( "ModalResult", 1, GetForm() ) '
 
  // blk := ''
 
  
 
   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 - сумма
  
@
+
// пример кода написан для того, чтобы не искать его в фабиусе
 +
// задача - для модернизации основного средства необходимо выбрать его из оборотной ведомости
  
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 - сумма
// пример кода написан для того, чтобы не искать его в фабиусе
// задача - для модернизации основного средства необходимо выбрать его из оборотной ведомости


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

Шаблоны программ на внутреннем языке фабиуса для повторного использования