Использование KatOrg как таблицы в памяти Назад В начало Вперед

Данные при инициализации загружаются в память:

ВИП:

//------------------------------------------------------------
create view v1

as select
  *

from
  KatOrg(memory, autoLoad)
;

Принудительное считывание данных в таблицу в памяти:

if (mtRetrieve(#KatOrg, true))
  ...

if KatOrg.Retrieve(true) then
  ...

Переинициализация по ходу обработки в качестве таблицы в памяти, модификация с автоматическим сбросом:

create view v1

as select
  *

from
  KatOrg
;
...
// считываем содержимое в память и обрабатываем
if (ReinitTable(#KatOrg, fmMemory+fmAutoLoad+fmAutoFlush))
{
  _loop KatOrg
  {
	if (<Что-нам-нужно>)
	update current KatOrg set поле = значение ;
  }
}
...
// Делам как было, данные попадают в БД
if (ReinitTable(#KatOrg, fmNormal))
  ...

Переинициализация по ходу обработки в качестве таблицы в памяти, модификация с записью в БД по ходу алгоритма:

create view v1

as select
  *

from
  KatOrg
;
...
// считываем содержимое в память
if (ReinitTable( #KatOrg, fmMemory+fmAutoLod+fmWriteThru))
{
  if (getFirst KatOrg = tsOk)
	do
	{
	if (<Что-нам-нужно>)
		// данные попадают в БД здесь
		if (update current KatOrg set поле = значение <> tsOk)
}
	while getNext KatOrg = tsOk
}

// Делам как было
if (ReinitTable(#KatOrg, fmNormal))
  ...

Переинициализация по ходу обработки в качестве таблицы в памяти, модификация с принудительным сбросом:

create view v1

as select
  *

from
  KatOrg
;
...
// считываем содержимое в память
if (ReinitTable(#KatOrg, fmMemory+fmAutoLoad))
{
  // обрабатываем
  if (getFirst KatOrg = tsOk)
	do
	{
	if (<Что-нам-нужно>)
		update current KatOrg set <поле> = значение ;
}
	while getNext KatOrg = tsOk

  if (<все-как-нужно>)
	// сбрасываем на диск
	if (mtFlush( #KatOrg , fmTransaction) <> tsOk)
	...
}

// Делаем как было
if (ReinitTable(#KatOrg, fmNormal))
  ...