6
Kigo_Kigo
21.09.18
✎
13:08
|
что то вроде этого?
Если БазаКлассиф.Открыта() = 0 Тогда
БазаКлассиф.ОткрытьФайл(ФайлБазы, "", 0);
Если БазаКлассиф.Открыта() = 1 Тогда
Если ОтображениеГрупп = 0 Тогда
ОтображениеГрупп = 1;
Для Индекс = 1 По БазаКлассиф.КоличествоПолей() Цикл
НаименованиеПоля = ""; ТипПоля = ""; ДлинаПоля = 0; ТочностьПоля = 0;
БазаКлассиф.ОписаниеПоля(Индекс, НаименованиеПоля, ТипПоля, ДлинаПоля, ТочностьПоля);
Если (НаименованиеПоля = "CODEGR") ИЛИ (НаименованиеПоля = "TGROUP") Тогда
ОтображениеГрупп = ОтображениеГрупп + 1;
КонецЕсли;
КонецЦикла;
ОтображениеГрупп = ?(ОтображениеГрупп = 3, 1, 2);
КонецЕсли;
БазаКлассиф.КодоваяСтраница(1);
Если ОтображениеГрупп = 1 Тогда
БазаКлассиф.ДобавитьИндекс("GROUP", "CODEGR", 0, 0, "");
КонецЕсли;
БазаКлассиф.ДобавитьИндекс("CODE", "CODE", 1, 0, "");
Состояние("Ждите... Индексируется файл - " + ФайлБазы);
БазаКлассиф.СоздатьИндексныйФайл(ФайлИндекс);
Если БазаКлассиф.Открыта() = 1 Тогда
БазаКлассиф.ЗакрытьФайл();
БазаКлассиф.ОткрытьФайл(ФайлБазы, ФайлИндекс, 0);
КонецЕсли;
КонецЕсли;
|
|
7
Peltik
21.09.18
✎
14:18
|
(1) ну да, если ДБФ открыт с индексом, то индекс должен перестраиваться сразу по ходу изменения ДБФа, единственный вариант если вдруг его надо перестроить принудительно, тогда Переиндексировать()
|
|