1С Режим Конфигуратор

       

Работа с удаленными записями


Файлы DBF устроены таким образом, что удаление записи не приводит к физическому удалению записи из файла. Запись просто помечается на удаление и пропускается при переборе. Таким образом размер файла остается прежним. Чтобы физически удалить все помеченные на удаление записи нужно применить метод Сжать. Средства встроенного языка позволяют работать с такими записями, перебирать их и даже отменять пометку на удаление.

Файл.ПоказыватьУдаленные(1);

Файл.Первая();

Пока Файл.ВКонце()=0 Цикл

......Если Файл.ЗаписьУдалена()=1 Тогда

............Файл.Восстановить();

......КонецЕсли;

......Файл.Следующая();

КонецЦикла;

Файл.Первая();

Пока Файл.ВКонце()=0 Цикл

......Если Файл.PRICE < 1000 Тогда

............Файл.Удалить();

......КонецЕсли;

......Файл.Следующая();

КонецЦикла;

Файл.Сжать(); //удалить записи физически

Можно удалить все записи в файле одним движением. При этом они физически удаляются и не могут быть восстановлены.

Файл.ОчиститьВсе();

Стоит еще отметить про метод Очистить(), что он очищает все поля текущей записи. Атрибуты, соответствующие полям типа "строковый" приобретают значение «пустая строка», числовой — 0, логический — 0, дата — «пустая дата».



Содержание раздела