1с как очистить dbf файл

Обновлено: 30.06.2024

Внимание!

При работе с файлами DBF следует помнить, что имя файла должно удовлетворять ограничению 8.3.

Внимание!

Объект xBase доступен как на стороне клиента, так и на стороне сервера. Следует продумывать клиент-серверное взаимодействие при решении каждой конкретной задачи.

Чтение файла DBF

Чтение данных из файла DBF производится за несколько последовательных этапов:

  1. Создание объекта XBase;
  2. Открытие файла;
  3. Последовательный перебор всех строк файла и считывание значений полей;
  4. Закрытие файла.

Рассмотрим этот процесс на примере:

Можно использовать несколько измененный алгоритм перебора строк файла:

Выгрузка в файл DBF

Этапы выгрузки в файл DBF:

  1. Создание объекта XBase;
  2. Указание кодировки (если не указать, то будет использоваться кодировка ANSI);
  3. Описание полей;
  4. Создание файла;
  5. Цикл с добавлением и заполнением строк;
  6. Закрытие файла.

Рассмотрим этот процесс на примере:

При указании кодировки используется тип КодировкаXBase , который может принимать два значения:

Добавление нового поля при описании структуры имеет синтаксис

Доступны следующие типы:

Работа с индексами

Совместно с файлом DBF может использоваться индексный файл, в котором может содержаться информация об одном или более индексе. Наличие индексов делает возможным использование поиска, а не только последовательного перебора всех строк файла.

При создании индексного файла следует задать:

  • Перечень индексов;
  • Путь сохранения индексного файла (на этапе 4 выгрузки).

Пример создания индексного файла:

Процедура добавления нового индекса имеет синтаксис:

Для использования индексов при чтении из файла DBF следует:

  • Указать путь к индексному файлу (на этапе 2 загрузки);
  • Задать текущий индекс.

Пример открытия файла DBF с использованием индексного файла:

Внимание!

При открытии файла DBF позиционирование происходит на первой записи в файле. Первая запись в файле не соответствует первой записи в индексе. В связи с этим при использовании индексов перед тем, как последовательно обходить строки, необходимо спозиционироваться на первой строке индекса. Это можно сделать методом Первая () , например:

Для поиска может использоваться одна из двух функций:

  • Найти (< Ключ >, < Режим >) ;
  • НайтиПоКлючу (< Режим >) .

В результате работы обоих функций возвращается значение с типом булево (найдена запись с указанными условиями или нет). В случае успешного поиска текущий указатель устанавливается на найденной строке. В качестве режима поиска может использоваться одно из значений:

Рассмотрим поиск в файле DBF на примерах:

Удаление записей в файле DBF

Удаление записи производится методом Удалить () :

Но при использовании этого метода запись не удаляется из файла безвозвратно, ей присваивается пометка удаления. При переборе строк помеченные на удаление записи пропускаются. Если необходимо обойти весь файл, включая помеченные на удаление записи, необходимо присвоить значение Истина свойству ОтображатьУдаленные объекта xBase. Узнать помечена запись на удаление или нет можно с помощью функции ЗаписьУдалена () . Для снятия пометки удаления используется метод Восстановить () .

Для непосредственного удаления помеченных записей используется метод Сжать () :

Если необходимо удалить все записи в файле непосредственно, то можно использовать метод ОчиститьФайл () :

Загрузка из DBF при помощи ADO

Для работы с файлами DBF может использоваться технология ADO. Драйверы ADO входят в состав операционной системы Windows и дополнительно их устанавливать не надо.

Рассмотрим пример кода для чтения из файла DBF по технологии ADO:

  • Provider – это используемый драйвер;
  • Data Source – путь, где находится файл DBF. Путь указывается с точностью до каталога. Имя файла используется в качестве имени таблицы в запросах;
  • Extended Properties – в случае обращения к файлам DBF является обязательным параметром. Можно указать формат файла

Внимание!

Остались вопросы?
Спросите в комментариях к статье.

Когда нужна чистая база 1с 77, со всеми справочниками и настройками, но без документов, особенно если рабочая база велась много лет и документов там много, то очистка базы занимает достаточно длительное время (до 2-3 дней). Эта маленькая программка быстро и удобно удаляет все документы за выбранный период. За счет использования транзакций и периодического сохранения производимой работы в несколько раз ускоряется очистка базы и в любой момент можно прервать операцию без потери результатов. Наглядно показывает процесс выполнения очистки в процентах и прогресс-бар (шкала, показывающая степень завершения процесса).

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Внешний отчет для 1С Предприятия 7.7, удаляющий все документы за выбранный период, с транзакциями и процентом выполнения.

(1)
Kill_doc.rar, насколько я помню, удаляет *.dbf файлы с содержимым документов, причем полностью. Предлагаемая обработка, судя по описанию и скриншоту, удаляет доки за выбранный период, и, кроме того, думаю, подойдет для sql. Пусть автор поправит, если я ошибаюсь. (2)Да, все. А случае (0) - стандартная "обработка документов" (меню-сервис)и удалить помеченные. Когда нужна чистая база 1с 77, со всеми справочниками и настройками, но без документов
Если автор хочет работать с периодом, то на ИС есть отличные, многофункциональные обработки.
SQL базы проще выгрузить, загрузить в DBF, почистить Kill_doc (2-3 мин)и положить обратно (4) [QUOTESQL базы проще выгрузить, загрузить в DBF[/IS-QUOTE]
Боюсь, что при средне-обычном размере SQL базы пересчет итогов при загрузке может сделать операцию слишком длительной. Если вообще SQL-база загрузится в DBF по своим размерам.
Если уж говорить про прямое удаление *.dbf, почему бы не удалить/почистить нужные таблицы в SQL базе? Хоть вручную, хоть sql-скриптом.

Просмотры 13007

Загрузки 113

Рейтинг 7

Создание 25.01.12 12:26

Обновление 25.01.12 17:56

№ Публикации 105887

Конфигурация Конфигурации 1cv7

Операционная система Не имеет значения

Страна Россия

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Не указано


См. также

Универсальное удаление документов, проводок, остатков, движения. Удалятор V2011.1 Free. (bat файл) Промо

Бухгалтера постоянно просят создать им новую базу, но со справочниками и константами, которые у них уже есть… Мои действия раньше были такими: создаю пустую папку, копирую туда нужные файлы (*.ert,*.dll,*.spl и т.п.) . Через конфигуратор загружаю файл 1Cv7.md. Запускаю базу монопольно – индексирую… С помощью обработок синхронизирую с заполненной базой и загружаю справочники и константы. И всё. Полдня рабочего времени «УБИЛ». В итоге написал данный bat-файл. Который удаляет документы, проводки, остатки и движения в любой DBF базе 1С 7.7.

1 стартмани

20.09.2011 81263 190 1v7 54

Удаление элементов справочника в 1С 7.7

Эта обработка позволяет удалить созданные системой элементы справочников. Например, когда элементы создаются при тестировании и исправлении базы с наименованиями, включающими строку "ФС". Обработка тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

1 стартмани

26.03.2021 2856 2 softmaker 0

Поиск и исправление дублей штрихкодов для номенклатурных единиц измерения

Простая и удобная обработка предназначена для поиска и исправления задублированных (повторяющихся) номенклатурных штрихкодов справочника Единицы. Также она даёт возможность посмотреть номенклатурные остатки. Полезна в случаях, когда номенклатура сопоставляется по штрихкоду с другими внешними источниками, а именно с модулем "Обмент ГИСМТ".

1 стартмани

19.11.2020 3285 1 Kuzya_brаtsk 4

Удаление нулевых значений в промежуточных итогах регистров (файловая версия)

Обработка удаляет промежуточные нулевые итоги регистров. Для файловой версии!

1 стартмани

09.01.2019 7397 13 DanDy 2

Обработка "Партионное удаление объектов" для 1С:Предприятие-7.7 Промо

Обработка выполняет в цикле удаление объектов частями (партиями), установленного размера. Предназначена для тех случаев, когда число удаляемых объектов велико (десятки-сотни тысяч) и их затруднительно удалить за раз имеющимся средствами. Обработка также удобна для организации регламентных сервисов очистки базы от мусора по расписанию. Имеется возможность запустить обработку на исполнение в указанном интервале времени и закрыть сеанс 1С по истечению времени завершения.

1 стартмани

30.01.2012 31207 86 yuraos 5

Сжатие DBF-файлов для 1С:Предприятие 7.7

Когда удаляются документы и элементы справочников в 1С 7.7 через удаление помеченных на удаление объектов, запись из dbf файла не удаляется, она помечается как удаленная, но физически остается в файле. Если эти помеченные на удаление записи удалить физически, то размер файлов значительно уменьшится.

1 стартмани

18.10.2018 10712 24 evg520750 5

Удаление документов в 1Cv7 в не монопольном режиме

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

1 стартмани

19.05.2017 14054 11 BorisBelov 13

Удаление операций и проводок у помеченных на удаление документов прямыми запросами

Обработка предназначена для быстрого удаления операций и проводок у помеченных на удаление документов прямыми запросами в базах данных SQL на компоненте "Бухгалтерский учет". Будет полезна при свертке больших баз, когда для удаления стандартной операцией "Удаление помеченных объектов" не хватает оперативной памяти

1 стартмани

06.12.2016 14196 6 Belomor 0

Обработка ObjectsCleaner ("Поиск ссылок и удаление объектов") для 1С:Предприятие-7.7 Промо

Обработка совмещает в себе возможности двух системных обработок: “Поиск ссылок на объекты” и “Удаление помеченных объектов”. Имеет улучшенные инструменты для редактирования списка объектов для поиска ссылок: выбор в поле выбора из формы списка, подбор в обработках “Консоль1CQA” и “ПодборUChoice”. Результат поиска ОТОБРАЖАЕТСЯ В ДИАЛОГЕ В ВИДЕ ДЕРЕВА ОБЪЕКТОВ, подчинённых друг другу по ссылкам. Обработка позволяет из контекстного меню при клике мышью выполнять с объектом различные действия. Есть различные режимы контроля возможности удаления объекта в зависимости от его статуса (помечен на удаление или нет, проведён или нет). Имеется «пакетный» режим исполнения: поиск ссылок + контроль + удаление. Для других модулей предоставляется сервис автоматического выполнения (без открытия окна, с передачей списка объектов через параметр формы).

1 стартмани

03.12.2011 103532 393 yuraos 52

Обработка для удаления из базы сотрудника, и всех его следов

Данная обработка находит все документы и подчиненные справочники, в которых задействован выбранный сотрудник, и позволяет удалить. Особенностью является то, что если искомый сотрудник находится в табличной части документа, то удаляется только его строка, после чего документ пересохраняется и при необходимости перепроводится.

Использование DBF/CDX-файлов построено таким образом, что при удалении объекта базы производится только пометка объекта как удаленного, физически же запись об этом объекте остается в базе. В принципе уменьшить размер базы можно производить в конфигураторе через выгрузку-загрузку данных, но выполнение данной процедуры может требовать значительных временных затрат. В тоже время встроенный язык программ "1С: Предприятия 7.7" содержит методы для работы с DBF файлами.

Обработка удаляет удаленные записи из файла DBF, Это позволяет Сжать базу, физически убрав удаленные записи.

Запускать обработку следует не из той базы которую сжимают, а из любой другой базы 1С 7.7

Перед использованием обработки сделать Архивную копию базы.

После выполнения обработки базу надо проиндексировать.

Внешняя обработка для 1С:Предприятие 7.7 для сжатия DBF-файлов:

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Зачем этой нужно, если галка "Упаковка таблиц информационной базы" в "Тестировании и исправлении ИБ" дает точно такой же результат? Эта обработка сжимает файлы выборочно. Это позволяет быстро сжать самые большие файлы. Зачем такое нужно?
Если не хотите стандартными средствами 1С сжимать, попробуйте программу DBFNavigator. В ней есть опция сжатия DBF для очистки удаленных записей. Если количество удаленных записей сопоставимо с количеством живых записей - это значит что надо не ZAP делать, а наводить порядок в учете. Этой обработкой пользуюсь уже лет 20.
Эксперементировать с другими программами для того чтобы сжать файл 1С не было желания.
Эта обработка как раз и наводит порядок в базе после удаления ненужных элементов справочников или документов.

Просмотры 10712

Загрузки 24

Рейтинг 1

Создание 18.10.18 17:57

Обновление 18.10.18 17:57

№ Публикации 926047

Конфигурация Конфигурации 1cv7

Операционная система Windows

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Да


См. также

Универсальное удаление документов, проводок, остатков, движения. Удалятор V2011.1 Free. (bat файл) Промо

Бухгалтера постоянно просят создать им новую базу, но со справочниками и константами, которые у них уже есть… Мои действия раньше были такими: создаю пустую папку, копирую туда нужные файлы (*.ert,*.dll,*.spl и т.п.) . Через конфигуратор загружаю файл 1Cv7.md. Запускаю базу монопольно – индексирую… С помощью обработок синхронизирую с заполненной базой и загружаю справочники и константы. И всё. Полдня рабочего времени «УБИЛ». В итоге написал данный bat-файл. Который удаляет документы, проводки, остатки и движения в любой DBF базе 1С 7.7.

1 стартмани

20.09.2011 81263 190 1v7 54

Удаление элементов справочника в 1С 7.7

Эта обработка позволяет удалить созданные системой элементы справочников. Например, когда элементы создаются при тестировании и исправлении базы с наименованиями, включающими строку "ФС". Обработка тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

1 стартмани

26.03.2021 2856 2 softmaker 0

Поиск и исправление дублей штрихкодов для номенклатурных единиц измерения

Простая и удобная обработка предназначена для поиска и исправления задублированных (повторяющихся) номенклатурных штрихкодов справочника Единицы. Также она даёт возможность посмотреть номенклатурные остатки. Полезна в случаях, когда номенклатура сопоставляется по штрихкоду с другими внешними источниками, а именно с модулем "Обмент ГИСМТ".

1 стартмани

19.11.2020 3285 1 Kuzya_brаtsk 4

Удаление нулевых значений в промежуточных итогах регистров (файловая версия)

Обработка удаляет промежуточные нулевые итоги регистров. Для файловой версии!

1 стартмани

09.01.2019 7397 13 DanDy 2

Обработка "Партионное удаление объектов" для 1С:Предприятие-7.7 Промо

Обработка выполняет в цикле удаление объектов частями (партиями), установленного размера. Предназначена для тех случаев, когда число удаляемых объектов велико (десятки-сотни тысяч) и их затруднительно удалить за раз имеющимся средствами. Обработка также удобна для организации регламентных сервисов очистки базы от мусора по расписанию. Имеется возможность запустить обработку на исполнение в указанном интервале времени и закрыть сеанс 1С по истечению времени завершения.

1 стартмани

30.01.2012 31207 86 yuraos 5

Удаление документов в 1Cv7 в не монопольном режиме

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

1 стартмани

19.05.2017 14054 11 BorisBelov 13

Удаление операций и проводок у помеченных на удаление документов прямыми запросами

Обработка предназначена для быстрого удаления операций и проводок у помеченных на удаление документов прямыми запросами в базах данных SQL на компоненте "Бухгалтерский учет". Будет полезна при свертке больших баз, когда для удаления стандартной операцией "Удаление помеченных объектов" не хватает оперативной памяти

1 стартмани

06.12.2016 14196 6 Belomor 0

Обработка для удаления из базы сотрудника, и всех его следов

Данная обработка находит все документы и подчиненные справочники, в которых задействован выбранный сотрудник, и позволяет удалить. Особенностью является то, что если искомый сотрудник находится в табличной части документа, то удаляется только его строка, после чего документ пересохраняется и при необходимости перепроводится.

1 стартмани

21.03.2016 11282 5 sergei198821 1

Обработка ObjectsCleaner ("Поиск ссылок и удаление объектов") для 1С:Предприятие-7.7 Промо

Обработка совмещает в себе возможности двух системных обработок: “Поиск ссылок на объекты” и “Удаление помеченных объектов”. Имеет улучшенные инструменты для редактирования списка объектов для поиска ссылок: выбор в поле выбора из формы списка, подбор в обработках “Консоль1CQA” и “ПодборUChoice”. Результат поиска ОТОБРАЖАЕТСЯ В ДИАЛОГЕ В ВИДЕ ДЕРЕВА ОБЪЕКТОВ, подчинённых друг другу по ссылкам. Обработка позволяет из контекстного меню при клике мышью выполнять с объектом различные действия. Есть различные режимы контроля возможности удаления объекта в зависимости от его статуса (помечен на удаление или нет, проведён или нет). Имеется «пакетный» режим исполнения: поиск ссылок + контроль + удаление. Для других модулей предоставляется сервис автоматического выполнения (без открытия окна, с передачей списка объектов через параметр формы).

Теперь после создания файла дбф, нужно удалить именно этот созданый файл. Есть команда - УдалитьФайлы(<Путь>, <Маска>), не совсем пойму какую тут маску применить.

УдалитьФайлы( , НаменованиеФайла); . Принцип такой-создается фаил дбф, выгружается куда то там и после нужно его удалить. Но в папке есть и другие файлы дбф. Их трогать нельзя.

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь


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

Загрузка из дбф файла
все привет хочу номенклатуру загрузить пробовал через стандартную ексель загрузку сейчас сделал.

выбор из дбф файла
День добрый. Нужен совет, как правильно реализовать выборку и вывод данных из локального dbf файла.

Удаление строки из файла\либо удаление самого файла.
День добрый, вот функция(используемые переменные объявленны ранее): void delete_cruise() < FILE.

Решение

запоминаете № документа, № апт
и маска будет
НомерДокумента + "pa" + НомерАпт + ".dbf" я конечно не мастер своего дела, но мне кажется, что у тебя не определена переменная номердокумента

Если я правильно понял, то- функция создатьДбф создает фаил на сервере, процедура копирует его на сервер\апт.
Возможно и удалить фаил на сервер\апт и есть УдалитьФайлы(,Результат).

Добавлено через 40 минут
исправил.
Если я правильно понял, то- функция создатьДбф создает фаил на сервере, процедура копирует его на фтп сервер.
Возможно и удалить фаил на сервер\апт и есть УдалитьФайлы(,Результат).

Добавлено через 10 минут
И еще. Что это за Результат[0], Результат[1], Результат[2]

Значение второго элемента массива

Возможно и удалить фаил на сервер\апт и есть УдалитьФайлы(,Результат). Посмотри в помощнике(Ctrl+F1), там все это написано даже с примерами

1c V.7.7, кодировка, ДБФ
1C v.7.7. Подскажите, плз, как сделать нормальную кодировку загружаемых данных из DBF-файла? Делаю.

Загрузка ДБФ
День добрый. Подскажите плизз. как осуществить следующее: в базу загрузил доки РКО из другой базы. .

ДБФ выгрузка
Код выгрузки ! вроде выгружает без руганий. А при загрузке начинает ругаться.

Данные дбф в ТЗ
Добрый день. Пытаюсь сваять загрузку из дбф в таблицу значений и тут же втыкаюсь. В инете много.

Очистка таблицы ДБФ
День добрый. Такая ситуация. Работаю с таблицами ДБФ, созданными в VisualFoxPro через адо. Вылазит.

Скорость выборки из дбф-ки
Добрый день. Есть прога, собранная на фоксе, которая выводит на экран некоторые показатели работы.

Читайте также: