1с создать файл dbf
Что мы знаем о файлах DBF? Те, кто только начали изучать 1С, могут не знать всех удобств этого файла. Но те, кто знает, часто им пользуются и многое знают о нем. Здесь поделюсь своими знаниями про работу с этим типом файлов.
В первую очередь хочу сказать, что файл DBF – это один из видов текстового файла. Использовать его можно для разных целей. Например, как:
· классификатор какой-то базы данных;
· файл обмена данными между несколькими информационными системами;
· выписку банка в 1С.
Насколько я знаю, это наиболее используемые цели для применения данного типа файлов 1С 8.3.
1С может легко обрабатывать эти файлы при помощи одного из объектов конфигурации, а именно файла XBase. Мы можем как записать данные в файл, так и получить данные из файла.
Итак, начнем с чтения файла. Это самое простое, на мой взгляд.
Для начала необходимо выбрать файл, который хотим загрузить. Для этого достаточно создать текстовый реквизит, в который мы запишем полный адрес файла.
Это пример того, как должен выглядеть адрес нахождения файла. Следующий скриншот – это пример кода, как необходимо читать DBF. Такое небольшое число строк кода помогут Вам прочитать файл без особых усилий.
После этого необходимо объявить одну из библиотек конфигураций. Это может быть массив, таблица значений 1С, список значений или дерево значений. Все зависит от того, какая структура данных хранится в файле и в какую библиотеку необходимо их записать.
Так как у файла есть начало и конец, то логично, что конец файла так и именуется «ВКонце()». Это дает возможность понять, что с файла уже ничего не считать, так как строки закончились.
Для того чтобы обойти весь файл, нам необходим цикл, который обойдет все строки текстового файла до его окончания и запишет данные в выбранную ранее нами таблицу в нужном формате.
Важно! При получении данных из DBF необходимо помнить, что это текстовый файл и все числовые данные и даты хранятся в текстовом формате. Для преобразования необходимо пользоваться функциями БСП или самому создать такую функцию.
В конце, когда работы с файлом данных завершены, необходимо закрыть открытый файл. Это можно сделать при помощи стандартного метода «ЗакрытьФайл()».
2. Создание нового файла
Итак, с чтением файла мы закончили. Теперь перейдем к созданию нового файла данного формата.
Здесь тоже все просто и легко. Главное лишь знать, как все сделать.
Вот и весь код, который можно использовать для создания файла DBF. Кодировок файла может быть несколько. Все зависит от того, какую нам необходимо использовать. Колонок у файла может быть неограниченное количество, но главное не запутаться в них.
Полный путь к файлу мы можем прописать в коде или сделать через выбор каталога для хранения файла данных.
После того как запишем файл, можно его заполнять. Для этого нам необходим цикл, библиотека конфигурации с данными и сам файл, в который будем записывать данные.
Вот и все. Все основные принципы работы с такими файлами описаны. Вы можете пробовать работать с ними и повышать свою квалификацию как специалиста-разработчика.
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
Протестируйте качество нашей работы - получите первую консультацию в подарок.
Одним из самых распространенных форматов баз данных до сих пор остается формат DBF. И неумение работать с ним из 1С – серьезное ограничение профессиональных навыков для любого специалиста. Тем более изучение теории и практика по этому вопросу потребует совсем немного времени. К тому же работа с DBF файлом никаких дополнительных библиотек не требует – все инструменты встроены в платформу 1С 8.3.
Чтение, создание DBF и запись в данный формат
Вся работа с DBF в 1С происходит с помощью специального объекта – xBase. Рассмотрим основные действия с файлами, начав с чтения из конкретного DBF. В первую очередь необходимо расположить файл базы данных в каталоге, куда есть доступ у пользователя. Код для считывания данных в 1С достаточно прост:
- Указываем путь к базе в формате DBF;
- Создаем объект для взаимодействия с файлом, открываем его и устанавливаем указатель на первую строку с данными;
- В цикле обходим всю базу и производим действия с элементами. В данном случае просто отражаем их на экране пользователя;
- Закрываем файл.
Вторая часто встречающаяся задача по взаимодействию с объектом – выгрузка DBF из 1С 8.3. Здесь намного легче создать конечный файл нужного формата программно, чем использовать дополнительно программное обеспечение. Этот алгоритм в 1С тоже достаточно прост и состоит из нескольких строк кода:
- Создаем объект XBase;
- Определяем кодировку нового файла. Существует кодировка для Windows – ANSI и OEM предназначенная для DOS;
- Необходимо описать все колонки будущего файла DBF, указав их тип;
- Укажем каталог, в котором будет происходить создание DBF и запишем итоговый файл.
Рис.1 Расположение файлов DBF
После того как мы создали файл нужного формата, потребуется выгрузка в DBF данных. Программируя этот процесс, помните о том, что данные ИБ находятся на сервере. Чтобы записать имеющиеся данные из 1С необходимо к предыдущему коду добавить следующий алгоритм:
- Получаем информацию из справочника;
- В цикле последовательно добавляем по 1строчке и записываем;
- Закрываем файл и проверяем, что запись прошла удачно.
Это основы работы с данным форматом. Существуют и другие способы открыть из 1С DBF, но xBase остается самым простым по синтаксису и пониманию. Поняв, как осуществляется простейшая выгрузка и загрузка из DBF, можно приступать к более сложным элементам, например, использованию индексов для поиска, удалению или изменению конкретных записей в DBF, а также применению технологии ADO.
Например, создадим файл, идентичный по структуре исходному.
//При этом применяется метод ОписаниеПоля, который возвращает характеристики поля с указанным номером
//синтаксис: ОписаниеПоля(,,,,)
Для работы с файлом DBF неизвестной структуры часто применяются следующие методы:
ПолучитьЗначениеПоля();
УстановитьЗначениеПоля(,);
Работа с удаленными записями
Файлы DBF устроены таким образом, что удаление записи не приводит к физическому удалению записи из файла. Запись просто помечается на удаление и пропускается при переборе. Таким образом размер файла остается прежним. Чтобы физически удалить все помеченные на удаление записи нужно применить метод Сжать. Средства встроенного языка позволяют работать с такими записями, перебирать их и даже отменять пометку на удаление.
Можно удалить все записи в файле одним движением. При этом они физически удаляются и не могут быть восстановлены.
Стоит еще отметить про метод Очистить(), что он очищает все поля текущей записи. Атрибуты, соответствующие полям типа "строковый" приобретают значение «пустая строка», числовой — 0, логический — 0, дата — «пустая дата».
Работа с индексами
Для организации упорядочивания содержимого файла БД и поиска в ней по значению одного или нескольких полей применяется механизм индексов. Его применение можно сравнить с сортировкой картотеки по определенному признаку (совокупности признаков). Однако, в отличие от картотеки, файл БД может иметь сразу несколько индексов, и, соответственно, являться упорядоченным одновременно по нескольким признакам. Индексы хранятся в индексном файле. Индексный файл может содержать информацию более чем об одном индексе. Рекомендуется для одного файла DBF иметь один индексный файл, в котором хранятся все индексы для этого файла.
Каждый индекс имеет наименование, признак уникальности, выражение индекса и фильтр. Наименование индекса используется для идентификации индекса. Выражение индекса и фильтр представляют собой написанные на специальном языке выражения, вычисление значения которых для каждой записи позволяет определить ее место при упорядочивании и необходимость помещения ее в упорядоченный список (индекс может содержать упоминание не обо всех записях таблицы, а только об удовлетворяющих выражению фильтра). Уникальный индекс (имеющий установленным признак уникальности) позволяет иметь в индексе ссылки на записи только с различным значением индексного выражения.
Основное правило: индекс нужен, чтобы быстро искать нужную запись.
Нужно быстро найти Комаров. В неупорядоченном исходном файле искать его можно только последовательным перебором всех записей, что будет очень долго при большом числе записей. В индексе найти Комарова можно очень быстро, поскольку индекс отсортирован по полю Фамилия. При этом мы узнаем физический номер записи в файле DBF и производим прямое позиционирование на нужную запись.
После создания структуры базы данных можно добавить индексы следующим образом:
//Синтаксис: ДобавитьИндекс(, , , , )
После сбоя рекомендуется заново переформировать все индексы
В 1С существует специальный язык для задания выражений и фильтра индекса. Подробнее о нем, смотрите в документации на встроенный язык.
Отбор по значению поля
Часто возникают вопросы по фильтрации файла БД по значению
определенного поля.
Предположим , что в предыдущем примере сотрудники работают в разных
подразделениях «Офис» и «Филиал» ,
и нужно вывести всех сотрудников работающих в офисе.
Нетрудно увидеть, что в языке нет явных способов получить записи
по фильтру, но имея индекс тем не менее, данную операцию
можно эффективно (без перебора всех записей) осуществить.
1. Создадим файл индекса, если он ранее не был создан
2. Откроем Файл базы с индексом
3.Прейдем на первую запись
4. И так как все записи упорядочены по индексу - достаточно пройтись
по записям, пока не встретится запись с другим значением поля "Otdel" :
Сегодня рассмотрим работу с одним из самых популярных форматов для обмена данными с 1С.
Этот формат обмена данными с 1С представляет собой подобие таблицы Excel и используется для хранения данных в различных СУБД. Также есть его модификации, всех их называют xBase.
В 1С для работы с таким форматом предусмотрен объект xBase. С его помощью можно создавать, читать и редактировать файлы dbf в 1С.
Важно чтобы имя файла соответствовало критериям 1С. Его длина не может превышать восемь символов.
Теперь разберем, как работать с xBase.
1. Создание файла dbf в 1С
Обращаю внимание, что запись нужно производить после каждой введенной строки.
Файл можно открыть специализированным приложением типа DBFView или с помощью MS Excel.
2. Редактирование и чтение dbf
После выполнения кода в 1С суммы в файле изменятся на отрицательные:
3. Поиск и удаление строк в файле dbf 1С
Видим, что работать с файлами формата dbf достаточно просто. И работать с xBase можно как на сервере, так и на клиенте – это очень удобно.
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
Программирование в 1С [1] => 1С:Бухгалтерия [2] => 1С:Управление производственным предприятием [3] => 1С: Розница [4] => 1С: CRM [5] => 1С: Управление торговлей [6] => Бюджетирование [7] => СКД [8] => 1С: Конвертация данных [9] => Администрирование 1С [10] => Конвертация данных [11] => Лицензии 1С [12] => Оптимизация [13] => 1С: Документооборот [14] => 1С: ERP [15] => Транспортная логистика [16] => Техническое задание [17] => Продажи [18] => Ценообразование [19] => Планирование [20] => MS SQL Server [21] => Полезные обработки [22] => МСФО [23] => Отчеты в 1С [24] => XML [25] => Внедрение ERP [26] => Перенос данных [27] => Торговое оборудование [28] => РСБУ [29] => 1С:Управление корпоративными финансами [30] => 1С: Колледж [31] => 1С: Аренда и управление недвижимостью [32] => Финансовый учет ) -->
Что мы знаем о файлах DBF? Те, кто только начали изучать 1С, могут не знать всех удобств этого файла. Но те, кто знает, часто им пользуются и многое знают о нем. Здесь поделюсь своими знаниями про работу с этим типом файлов.
В первую очередь хочу сказать, что файл DBF – это один из видов текстового файла. Использовать его можно для разных целей. Например, как:
· классификатор какой-то базы данных;
· файл обмена данными между несколькими информационными системами;
· выписку банка в 1С.
Насколько я знаю, это наиболее используемые цели для применения данного типа файлов 1С 8.3.
1С может легко обрабатывать эти файлы при помощи одного из объектов конфигурации, а именно файла XBase. Мы можем как записать данные в файл, так и получить данные из файла.
Итак, начнем с чтения файла. Это самое простое, на мой взгляд.
Для начала необходимо выбрать файл, который хотим загрузить. Для этого достаточно создать текстовый реквизит, в который мы запишем полный адрес файла.
Это пример того, как должен выглядеть адрес нахождения файла. Следующий скриншот – это пример кода, как необходимо читать DBF. Такое небольшое число строк кода помогут Вам прочитать файл без особых усилий.
После этого необходимо объявить одну из библиотек конфигураций. Это может быть массив, таблица значений 1С, список значений или дерево значений. Все зависит от того, какая структура данных хранится в файле и в какую библиотеку необходимо их записать.
Так как у файла есть начало и конец, то логично, что конец файла так и именуется «ВКонце()». Это дает возможность понять, что с файла уже ничего не считать, так как строки закончились.
Для того чтобы обойти весь файл, нам необходим цикл, который обойдет все строки текстового файла до его окончания и запишет данные в выбранную ранее нами таблицу в нужном формате.
Важно! При получении данных из DBF необходимо помнить, что это текстовый файл и все числовые данные и даты хранятся в текстовом формате. Для преобразования необходимо пользоваться функциями БСП или самому создать такую функцию.
В конце, когда работы с файлом данных завершены, необходимо закрыть открытый файл. Это можно сделать при помощи стандартного метода «ЗакрытьФайл()».
2. Создание нового файла
Итак, с чтением файла мы закончили. Теперь перейдем к созданию нового файла данного формата.
Здесь тоже все просто и легко. Главное лишь знать, как все сделать.
Вот и весь код, который можно использовать для создания файла DBF. Кодировок файла может быть несколько. Все зависит от того, какую нам необходимо использовать. Колонок у файла может быть неограниченное количество, но главное не запутаться в них.
Полный путь к файлу мы можем прописать в коде или сделать через выбор каталога для хранения файла данных.
После того как запишем файл, можно его заполнять. Для этого нам необходим цикл, библиотека конфигурации с данными и сам файл, в который будем записывать данные.
Вот и все. Все основные принципы работы с такими файлами описаны. Вы можете пробовать работать с ними и повышать свою квалификацию как специалиста-разработчика.
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
Читайте также: