OPENCHILDDOC — различия между версиями
Hisava (обсуждение | вклад) м |
Hisava (обсуждение | вклад) м (→Смотрите также) |
||
Строка 80: | Строка 80: | ||
= Смотрите также = | = Смотрите также = | ||
− | + | [[Полезные функции]] | |
− | [[ | + | |
[[Функции Delphi]] | [[Функции Delphi]] | ||
− | [[ | + | [[Corrupt index]] |
− | [[ | + | [[AddAll]] |
Версия 14:54, 1 июня 2017
Функция открывает этаж документа
OpenChildDoc( 1.kinddoc, 2.lvlnum, 3.parent, 4.SaveStatus, 5.ParentForm, 6.mModFilter, 7.IsCondition, 8.Month, 9.Year, 10.Day, 11.TableToReplace, 12.DisFormEvent, 13.OpenPrevLvl, 14.IsNewForm, 15.OpPath, 16.RefPath, 17.closefrm, 18.CurLevel, 19.FormClass, 20.Access )
Примеры
OpenChildDoc( 'EOR', '2', DOCS1->RGNUM )
uth2 := OpenChildDoc( 'UTH', '2', ( uth1 )->RGNUM,, ( uth1 )->( GetForm( GetArea() ) ) )
// документ YTM, уровень 1 ytm1 := OpenChildDoc( 'YTM', '1', ~ParentForm := "", ~IsCondition := false, ~Month := Month( data ), ~Year := Year( data ) ) flt := [ KINDDOC = 'YTM' and LVLNUM = '1' ] ( ytm1 )->( SetFilter( flt ) ) ( ytm1 )->( Refresh() )
// открыть уровень PAZ2 ( работает, если курсор установлен на уровне PAZ1 ) paz2 := OpenChildDoc( 'PAZ', '2', RGNUM )
OpenChildDoc( 'U_N', '1', ~ParentForm := "", ~IsCondition := false, ~Month := Month( data ), ~Year := Year( data ) )
Использование
Ошибки
Если файл на диске был поврежден, то эта функция вам может вернуть ошибку
В этом случае смотрите статью Как восстановить разрушенные данные
Предположим, adtfix не нашел ошибок
Читаем лог
Advantage Table Repair Utility ver 1.6 Started on 25.12.2015 at 17:57:22
*** Begin ADT Check on: f:\FABIUS\Temp\1\DOCP1115.ADT *** Memo file check on: f:\FABIUS\Temp\1\DOCP1115.ADM
Memo blocks exist without a corresponding record. This is not corruption, i.e. not an error. You can use Advantage Data Architect or AdsPackTable to pack the table and release these blocks. These blocks account for 27.69% of the total file size.
DOCP1115.ADM passed ADM check. DOCP1115.ADT passed ADT check.
Упаковываем таблицу
Advantage Table Repair Utility ver 1.6 Started on 25.12.2015 at 18:09:53
*** Begin ADT Check on: f:\FABIUS\Temp\2\DOCP1115.ADT *** Memo file check on: f:\FABIUS\Temp\2\DOCP1115.ADM DOCP1115.ADM passed ADM check. DOCP1115.ADT passed ADT check.
Сервис - Восстановление - Разрушенных баз - Документов
Исправление некорректных значений
я Администратор - Данные - Восстановление - Разрушенных баз данных - Исправление некорректных значений
7038 Invalid record number
Problem: Attempted to read a record and the record number is greater than the number of records in the file. This error often results from using an index that contains more keys than the table has records. This can occur if a Pack or Zap is performed on the table when the index file(s) was closed.
Solution: Reposition to a valid record number. Reindex the index(es) that contain more keys than the table has records.
Удаляем индекс
После этого ошибка исчезает