|
Работа в 1С 39
<Фильтр> – идентификатор переменной, в которую данный метод вернет строковое значение – фильтр индекса. НомерПоля(<НазваниеПоля>) предназначен для определения номера поля по его названию. Параметры: <HaзвaниeПoля> – строковое выражение с названием поля. Возвращаемое значение: числовое значение номера поля. Пример: НомП = ДБФ.НомерПоля("CODE"); ДобавитьПоле(<Название>, <Тип>, <Длина>, <Точность>) – добавляет поле в описание структуры базы. Данный метод можно использовать только перед созданием новой базы. Параметры: <Название> – имя создаваемого поля. <Тип> – строковое или числовое выражение – тип создаваемого поля. Допустимые значения: 1 или"N" – число; 2 или "S" – строка; 3 или "D" – дата; 4 или "L" – логическое; 5 или "F" – то же, что и 1, т. е. число; 6 или "М" – memo (не поддерживается). <Длина> – общая длина создаваемого поля. <Точность> – длина создаваемого поля после десятичной точки (только для числовых полей). Пример: ДБФ = СоздатьОбъект("XBase"); ДБФ.ДобавитьПоле("CODE", 1, 19, 3); ДБФ.ДобавитьПоле("NAME", 2, 25, 0); ДБФ.СоздатьФайл("mydb.dbf"); ДобавитьИндекс(<Название>, <Выражение>, <Уникальность>, <Убывание>, <Фильтр>) – индекс в описание структуры базы. Параметры: <Название> – имя создаваемого индекса. <Выражение> – индексное выражение. <Уникальность> признак уникальности индекса. 1 – уникальный. 0 – не уникальный. <Убывание> – флаг направления убывания индекса: 1 – индекс по убыванию значения ключа. 0 – по возрастанию значения ключа. <Фильтр> – фильтр индекса. Пример: ДБФ = СоздатьОбъект("XBase"); ДБФ.ДобавитьПоле("CODE", 1, 19, 3); ДБФ.ДобавитьПоле("NAME", 2, 25, 0); ДБФ.ДобавитьИндекс("IDXCODE", "CODE", 1, 0, ""); ДБФ.ДобавитьИндекс("IDXNAME", "NAME", 0, 0, ""); ДБФ.СоздатьФайл("mydb.dbf", "mydb.cdx"); СоздатьИндексныйФайл(<ИмяФайла>) – создает индексный файл. Создаваемый индексный файл будет содержать все индексы, которые были созданы на текущий момент методом ДобавитьИндекс. Параметры: <ИмяФайла> – имя индексного файла. Пример: ДБФ.ДобавитьИндекс("IDXCODE", "CODE", 1, 0, ""); ДБФ.ДобавитьИндекс("IDXROOM", "ROOM+FIO", 0, 0, ""); ДБФ.СоздатьИндексныйФайл("idxcnew.cdx"); КодоваяСтраница(<Режим>) – позволяет установить режим кодировки для чтения и записи значений строковых полей в файл базы данных. После открытия, XBase–объект всегда находится в режиме DOS–кодировки. Параметры: <Режим> – необязательный параметр. 0 – Windows–кодировка; 1 – DOS–кодировка. Если параметр не задан, то режим кодировки не меняется (используется для определения текущего режима кодировки без его смены). Возвращаемое значение: текущее числовое значение режима кодировки (на момент до исполнения метода). Пример: ДБФ.КодоваяСтраница(1); КодОшибки() – возвращает код завершения последней выполненной операции. Возвращаемое значение: код последней ошибки. Пример: КО = ДБФ.КодОшибки(); Возвращаемые коды ошибок: Код ошибки Причина ошибки –10 Ошибка закрытия файла –20 Ошибка создания файла –30 Ошибка определения длины файла –40 Ошибка установки длины файла –50 Ошибка при попытке заблокировать файл –60 Ошибка при открытии файла –70 Ошибка чтения файла –80 Ошибка удаления файла –90 Ошибка переименования файла –100 Ошибка позиционирования в файле –110 Ошибка снятия блокировки с файла –120 Ошибка записи в файл –200 Файл не является базой данных DBF–формата –210 Неопознанное имя поля –220 Неопознанный тип поля –230 Запись слишком длинная –300 Индексный файл не содержит информации о записи –310 Нарушение структуры индексного файла –330 Указанное имя индекса недоступно –340 Ошибка уникальности индекса –400 Ожидается запятая или скобка –410 Выражение не завершено –422 IIF() требует параметров одинаковой длины –430 Неверное число параметров –440 Слишком сложное выражение –450 Пропущена правая скобка –460 Неверный тип подвыражения –470 Неопознанная функция –480 Неопознанный оператор –490 Неопознанное значение –500 Выражение не завершено символом двойной кавычки –920 Недостаточно памяти 12.2 Запись данных в DBF–файл Рассмотрим пример выгрузки данных в DBF–файл. Пусть информацию из справочника сотрудники необходимо выгрузить в текстовый файл и создать индексы по ФИО и дате приема. Создаваемый файл будет иметь следующую структуру (тип поля указан в терминах БД):
В Конфигураторе откройте справочник Сотрудники и кнопкой Формы списка откройте форму ФормаСписка. Поместите на форму кнопку Выгрузить в DBF (рисунок 12.2.1). Рисунок 12.2.1 В окне свойств кнопки укажите в качестве формулы процедуру Выгрузка(). В программном модуле формы запрограммируйте указанную процедуру: Процедура Выгрузка()
КонецПроцедуры Сохраните конфигурацию и запустите 1С в режиме Предприятие. Выполните выгрузку данных в DBF–файл и закройте 1С: Предприятие. Проверьте, что на диске в каталоге, где расположена создаваемая конфигурация, появились файлы sotr.dbf, sort.cdx. Откройте файл sotr.dbf с помощью какой–либо СУБД, например, FoxPro илиVisual FoxPro, и просмотрите данные, подключите по очереди индексы. 12.3 Чтение данных из DBF–файла Теперь рассмотрим чтение данных из DBF–файла. Допустим, имеется файл org.dbf, содержащий сведения об организациях–клиентах, со следующей структурой:
Необходимо создать справочник соответствующей структуры и загрузить туда данные из файла org.dbf. Сначала создадим сам файл org.dbf. Для этого воспользуемся FoxPro или Visual FoxPro. Созданную базу сохраните в тот, каталог, где находится конфигурация. После создания структуры базы занесите туда 8–10 записей, и файл, который необходимо загрузить, готов. Далее в режиме конфигуратора создаем справочник Клиенты (длина наименования –100) со следующими реквизитами:
Включите в меню Справочники пункт Организации–клиенты. Создайте форму списка для данного справочника и разместите на форме кнопку Загрузить из DBF (рисунок 12.3.1), указав в качестве формулы процедуру Загрузка(). Рисунок 12.3.1 В программном модуле запрограммируем процедуру Загрузка(): Процедура Загрузка()
КонецПроцедуры Сохраните конфигурацию и загрузите 1С в режиме Предприятие. Откройте справочник Клиент и убедитесь, что он пуст. Затем нажмите кнопку Загрузить из DBF и убедитесь, что в справочнике появились элементы из базы org.dbf. Задания: В конфигурациях, созданных на прошлых занятиях, сделайте следующие изменения и дополнения: Вариант 1
Вариант 2
Вариант 3
Вариант 4
Вариант 5
Вариант 6
Вариант 7
Вариант 8
Вариант 9
Вариант 10
Вариант 11
Вариант 12
Вариант 13
Вариант 14
Вариант 15
Контрольные вопросы:
|
Loading
|