Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Переиндексацию DBF

v7: Переиндексацию DBF
Я
   Work1
 
21.09.18 - 12:59
Всем привет. Может к подскажет как решить проблему
Есть  ДБФ файл и к нему индексный файл вношу изменения в ДБФ и нужно сделать переиндексацию файла
 
 
   Cool_Profi
 
1 - 21.09.18 - 13:00
Он сам должен в теории
   Work1
 
2 - 21.09.18 - 13:03
1.DBF
1.CDX
Переиндексировать нужно 1.CDX
   Kigo_Kigo
 
3 - 21.09.18 - 13:03
ДБФ не из структуры базы?
   Work1
 
4 - 21.09.18 - 13:04
Точнее 1.DBF но и чтобы  менялись 1.CDX
   Work1
 
5 - 21.09.18 - 13:04
Да вне структуры
   Kigo_Kigo
 
6 - 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);
            КонецЕсли;
            
        КонецЕсли;
   Peltik
 
7 - 21.09.18 - 14:18
(1) ну да, если ДБФ открыт с индексом, то индекс должен перестраиваться сразу по ходу изменения ДБФа, единственный вариант если вдруг его надо перестроить принудительно, тогда Переиндексировать()
   AliAksA
 
8 - 24.09.18 - 09:38
(0) как вариант: через Foxpro - там и почистить его можно ... всего пару строк набрать

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует