Главная » 1С Предприятие » ПЕРЕДАЧА ДАННЫХ ИЗ  1С В DBF-ФАЙЛЫ – ЧАСТЬ 4

0

Метод

Описание

флаг = дбф.НайтиПоКлючу

([режим]);

Ищет,  используя текущий индекс, ключ, заданный компонентами атрибута Ключ.  Описание метода такое же, как и метода Найти. Используется  для любых индексов

значение = дбф.Получить ЗначениеПоля (имяПоля| номерПоля);

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

дбф.УстановитьЗначение Поля(имяПоля| номерПоля,  значение);

Устанавливает значение текущей записи в поле,  заданным параметром   имяПоля|номерПоля.   Дальнейшую информацию о методе см. в описании метода ПолучитьЗначениеПоля. Для

сохранения  изменений, если не задан режим автосохранения,

применяется метод  Записать

дбф.Добавить();

Добавляет пустую запись. Для ее сохранения в DBF-файле применяется, если не задан режим автосохранения, метод Записать

дбф.Скопировать();

Добавляет запись, которая является копией текущей записи. Для сохранения добавленной записи в DBF-файле применяется, если не задан режим автосохранения, метод Записать

режимТек = дбф.АвтоСохранение ([режим]);

Задает, если режим = 1, автоматическое сохранение (АС) измененных записей базы данных. В этом случае применение метода Записать избыточно. Для отмены изменений применяется метод Отменить.  Если режим = 0, АС измененных записей

не выполняется; изменения сохраняются методом Записать.

Возвращает существовавший до вызова метода режим АС

дбф.3аписать( );

Заносит изменения текущей записи в базу данных. Если метод не применен и не задано АС, смена позиции файла или его закрытие приведет к потере введенных данных

дбф.Отменить();

Отменяет запись в базу данных изменений, выполненных в режиме автосохранения. Не отменяет действие метода  Записать

дбф.Удалить();

Проставляет пометку удаления  текущей записи

флаг =  дбф.ЗаписьУдалена();

Возвращает 1, если запись имеет пометку удаления, или 0 в  противном  случае

дбф.Восстановить();

Снимает пометку удаления текущей  записи

дбф.Очистить();

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

числоЗап =

дбф.КоличествоЗаписей();

Возвращает число записей в DBF-файле

Метод

Описание

числоПолей = дбф.Количество Полей();

Возвращает число полей  DBF-файла

числоИнд =  дбф.Количество Индексов();

Возвращает число индексов открытого  индексного файла

дбф.ОписаниеПоля (номерПоля,

имяПоля,  тип, длина,

точндсть);

Возвращает для  поля, имеющего  номер, равный  параметру номерПоля,  имя, тип,  длину иточность  поля  в  соответствующие параметры метода

дбф.ОписаниеИндекса (номерИнд,  имяИнд,  выражение, уник, убыв,  фильтр);

Возвращает для  индекса, имеющего  номер, равный параметру

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

по возрастанию

номПоля =  дбф.НомерПоля (имяПоля);

Возвращает номер поля  по его имени

дбф.ДобавитьПоле(ИмяПоля, тип, длина, точность);

Добавляет  в структуру  DBF-файла поле, имя  которого определено символьным  параметром  имяПоля, а тип, длина

и  точность  задаются  соответствующими  параметрами  метода.

Параметр  точность имеет смысл только для  числового поля.

Параметр тип  равен:

•    1 или "N", если добавляется числовое поле;

•   2 или "S", если добавляется символьное поле;

•   3 или "D", если добавляется поле типа Дата;

•   4 или "L", если добавляется логическое поле;

•    5 или "F" , если добавляется числовое поле.  После добавления  всех полей  употребляется  метод СоздатьФайл

дбф.ДобавитьИндекс

(имяИнд, выражение, уник,  убыв,  фильтр);

Добавляет в структуру индексного файла индекс, имя которого  определено  символьным  параметром  имяИнд, а индексное выражение, флаги уникальности, убывания

и  фильтр индекса задаются соответствующими  параметрами метода. Параметры  выражение  и  фильтр  имеют символьный тип. Смысл параметров уник  и убыв см.  в  методе  ОписаниеИндекса. После добавления всех индексов употребляется метод  СоздатьФайл или СоздатьИндексныйФайл

дбф.СоздатьИндексныйФайл (имяФайла);

Создает индексный файл  имяФайла, содержащий  все индексы, сконструированные до вызова метода СоздатьИндексныйФайл методом ДобавитьИндекс. Тип параметра имяФайла символьный. Также индексный файл может быть создан  и  методом СоздатьФайл

Метод

Описание

кодСтрТек дбф.Кодовая Страница([кодСтр]);

Устанавливает, если кодСтр = 0, Windows-кодовую страницу или DOS-кодовую страницу, если кодСтр = 1. Возвращает существовавшую до вызова метода кодовую страницу.

По умолчанию кодСтр = 1

код = дбф.КодОшибки();

Возвращает код последней ошибки, возникшей при исполнении метода объекта XBase

Замечания:

1.      Префикс  дбф, употребленный с методами объекта XBase, может быть произвольным.

2.       Фильтр  индекса  является  логическим  выражением, составленным  по  правилам, изложенным в  разд.  9.3.1.3.  В индексном файле,  если  фильтр  задан, есть  ссылка только  на те записи  DBF-файла, для  которых выражение фильтра истинно. Тогда, если  индекс  с фильтром  является  текущим, записи,  на  которых нет  ссылок в  и ндексном  файле,   пользователю недоступны.   Отсутствие   фильтра   равнозначно фильтру, возвращающему  для всех записей  .Т.  (истина).

Пример  1. Выводятся  коды  (табельные номера) всех сотрудников,  имеющих  оклад, равный  2900 руб.

процедура Выполнить()                     //             Связана  с кнопкой Пуск  обработки Проба перем дбф;

ОчиститьОкноСообщений(); дбф =  СоздатьОбъект("ХВаsе"); дбф.ОткрытьФайл("Salary.dbf"); если дбф.Открыта() = 0 тогда

Предупреждение("Файла salary.dbf в каталоге пользователя нет.");  возврат;

конецЕсли;

// Переход в начало  файла salary.dbf;  в данном примере метод может быть опущен,

// поскольку после открытия файл и так находится на своей первой записи дбф.Первая();

пока дбф.ВКонце() = 0 цикл

если дбф.Salary = 2900 тогда Сообщить(дбф.Id);

конецЕсли; дбф.Следующая();

конецЦикла; // пока конецПроцедуры // Выполнить

Результат:

111

209

Пример 2. Выводятся ФИО всех сотрудников, фамилия которых начинается  с буквы Б.

процедура Выполнить()                     //             Связана  с кнопкой Пуск  обработки Проба перем дбф;

ОчиститьОкноСообщений(); дбф  =  СоздатьОбъект("ХВаse"); дбф.ОткрытьФайл("emploуее.dbf",   "employee.cdx");

если дбф.Открыта( ) = 0 тогда

Предупреждение("Файла employee.dbf и/или  файла  employee.cdx

| в каталоге  пользователя нет.");  возврат;

конецЕсли; дбф.ТекущийИндекс("Name");

// Ищем запись, равную или большую символа "Б" если дбф.Найти("Б", 1) = 1 тогда

пока Лев(дбф.Name, 1) = "Б" цикл Сообщить(дбф.Name); дбф.Следующая();

конецЦикла; // пока иначе

Предупреждение

("Сотрудников, фамилия которых  начинается  на букву Б, в файле нет.");  конецЕсли;

конецПроцедуры // Выполнить

Результат:

Бараненков Иван Несторович Безверхний Игорь Петрович

Пример  3.  Оклад  сотрудника, табельный  номер  (код)  которого равен 209,  увеличивается на 500 руб.  Для  нового оклада  в  файл  salary.dbf добавляется  запись.

процедура Выполнить()                     //              Связана с кнопкой Пуск  обработки Проба  перем дбф, окл;

ОчиститьОкноСообщений();

дбф  = СоздатьОбъект("ХВаse"); дбф.ОткрытьФайл("salary.dbf"," salary.cdx"); если дбф.Открыта() = 0 тогда

Предупреждение("Файла salary.dbf и/или  файла  salary.cdx

| в каталоге  пользователя  нет.");

возврат; конецЕсли; дбф.ТекущийИндекс("IdDate"); дбф.Ключ.Id = 209;

// Ищем запись, большую str(209)

// Помним, что индексное выражение это STR(Id) + DTOS(Date) если дбф.НайтиПоКлючу(2) = 1 тогда

// Перемещаемся на последнее значение оклада сотрудника с кодом 209 пока дбф.Id  = 209 цикл

дбф.Следующая(); конецЦикла; // пока

дбф.Предыдущая();                 //                   Шаг назад окл  =  дбф.ПолучитьЗначениеПоля("Salary");

// или, используя атрибут: окл = дбф.Salary; дбф.Добавить(); дбф.УстановитьЗначениеПоля("Id", 209);

дбф.УстановитьЗначениеПоля("Date", ТекущаяДата()); дбф.УстановитьЗначениеПоля("Salary", окл + 500);

// или, используя атрибуты:

// дбф.Id= 209; дбф.Date = ТекущаяДата(); дбф.Salary = окл + 500; дбф.3аписать();

Предупреждение("Готово."); иначе

Предупреждение("Сотрудника с кодом  209 в файле  нет.");  конецЕсли;

конецПроцедуры // Выполнить

Пример 4. Копируется  и записывается  в  файл  salary.dbf его  последняя  запись.

процедура Выполнить()                     //              Связана с кнопкой Пуск обработки Проба  перем дбф;

ОчиститьОкноСообщений(); дбф  =  СоздатьОбъект("ХВаse"); дбф.ОткрытьФайл("salary.dbf"); если дбф.Открыта() = 0 тогда

Предупреждение("Файла salary.dbf в  каталоге  пользователя  нет.");  возврат;

конецЕсли;

дбф.АвтоСохранение(1);

//

Будем  обходиться без метода  Записать

дбф.Последняя(); .

//

Переход  на последнюю запись

дбф.Скопировать( );

//

Добавляем копию последней записи

Предупреждение("Готово.");

конецПроцедуры // Выполнить

Пример  5. Выводятся  описания всех полей  и  индексов  файла  salary.dbf.

процедура Выполнить()                     //              Связана с кнопкой Пуск обработки Проба  перем дбф, ин, имяПоля, тип, длина, точность;

перем имяИнд, выражение, уник, убыв, фильтр;

ОчиститьОкноСообщений(); дбф  =  СоздатьОбъект("ХВаse"); дбф.ОткрытьФайл("salary.dbf," salary.cdx"); если дбф.Открыта( ) = 0 тогда

Предупреждение("Файла salary.dbf и/или  файла  salary.cdx

| в каталоге пользователя  нет."); возврат;

конецЕсли;

Сообщить("Описание полей файла salary.dbf:");  для ин = 1 по дбф.КоличествоПолей() цикл

дбф.ОписаниеПоля(ин, имяПоля, тип, длина, точность); Сообщить(имяПоля + " " + тип +" " + длина + "" + точность);

конецЦикла; // для

Сообщить("Описание индексов файла salary.dbf:");  для ин = 1 по дбф.КоличествоИндексов( ) цикл

дбф.ОписаниеИндекса(ин, имяИнд, выражение, уник, убыв, фильтр); Сообщить(имяИнд + " " + выражение + " " + уник + " " + убыв + " " + фильтр);

конецЦикла; // для конецПроцедуры // Выполнить

Результат:

Описание полей  файла salary.dbf: ID 1 50

DATE 3 8 0

DOCNAME 2 15 0

DOCID 1 5 0

SALARY 1 10 2

Описание индексов  файла salary.dbf: IDDATE STR(id)+DTOS(date) 0 0

Пример  6.  Содержимое  произвольного  DBF-файла выводится в  таблицу  значений.

Диалог формы, содержащей таблицу значений, оформим  в соответствии с рис. 9.8.

Рис. 9.8. Таблица значений для записей DBF-файла

В заголовке  таблицы значений  будем выводить значение выражения "Состав файла " + имяФайла

которое зададим в диалоге как  формулу  элемента диалога Текст.

// Вводим переменную модуля для ее использования в диалоге перем имяФайла;

процедура ПоказатьДБФ(дбф, имяФайла) далее

процедура Выполнить()                     //              Связана с кнопкой Пуск  обработки Проба  перем дбф, флаг, папка;

ОчиститьОкноСообщений();

// Открываем диалог для выбора DBF-файла

// В качестве примера выберем файл employee.dbf

флаг = ФС.ВыбратьФайл(0, имяФайла, папка, "Выберите файл"," | *.DBF"); если флаг = 0 тогда

возврат; конецЕсли;

дбф  = СоздатьОбъект("ХВаsе"); дбф.ОткрытьФайл(папка + имяФайла);  если дбф.Открыта() = 0 тогда

Предупреждение("Не удалось открыть файл  " + имяФайла); возврат;

конецЕсли;

// Отобразим DBF-файл имяФайла в таблице значений

// Результат приведен на рис. 9.9

ПоказатьДБФ(дбф, имяФайла); конецПроцедуры // Выполнить

// Выводит записи DBF-файла имяФайла в таблицу значений  процедура ПоказатьДБФ(дбф, имяФайла)

перем ин, имяПоля, тип, длина, точность, номСтроки;

// Формируем столбцы  таблицы значений и устанавливаем  их параметры

для ин = 1 по дбф.КоличествоПолей() цикл дбф.ОписаниеПоля(ин, имяПоля, тип, длина, точность); тЗнач.НоваяКолонка(имяПоля, тип);

тЗнач.УстановитьПараметрыКолонки(ин, тип, длина, точность,, мин(10, длина)); конецЦикла; // для

// Заголовок таблицы значений диалога загТЗнач = "Состав файла " + имяФайла;

// Заполняем таблицу значений тЗнач данными из DBF-файла

дбф.Первая();                  //                       Переходим на первую запись файла

номСтроки = 0;

пока дбф.ВКонце() = 0 цикл               //         Пока  не достигнут конец  файла

номСтроки = номСтроки + 1; тЗнач.НоваяСтрока(номСтроки);

для ин = 1 по дбф.КоличествоПолей() цикл тЗнач.УстановитьЗначение(номСтроки,  ин,  дбф.ПолучитьЗначениеПоля(ин));

конецЦикла; // для дбф.Следующая();

конецЦикла; // пока конецПроцедуры // ПоказатьДБФ

Рис. 9.9. Файл employee.dbf в таблице значений

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

Пример  7.  Выводятся  коды  сотрудников,  оклад  которых  больше  3000 руб.  Для  получения  результата   в   дополнение   к  существующему   создается   индекс  с  выражением Salary  и фильтром Salary > 3000.

перем имяФайла;

процедура Выполнить()                        //              Связана с кнопкой Пуск обработки Проба  перем дбф, флаг, папка;

ОчиститьОкноСообщений();

дбф  = СоздатьОбъект("ХВаsе"); дбф.ОткрытьФайл("salary.dbf"); если дбф.Открыта( ) = 0 тогда

Предупреждение("Файла salary.dbf в  каталоге  пользователя  нет."); возврат;

конецЕсли;

// Индекс  IdDate  обеспечит сортировку по дате в пределах заданного  кода сотрудника дбф.ДобавитьИндекс("IdDate", "str(Id) + dtos(Date)", 0, 0, "") ;

// Индекс  Salary обеспечит сортировку по окладу дбф.ДобавитьИндекс("Salary", "Salary", 0, 0, "Salary >  3000"); дбф.СоздатьИндексныйФайл("Salary.cdx"); дбф.ТекущийИндекс("Salary");

дбф.Первая();                              //                    Переход в начало файла

// Вывод результата. Доступны только те записи, у которых Salary  > 3000

Сообщить("Коды сотрудников,  оклад  которых более  3000 руб.");

пока  дбф.ВКонце() = 0 цикл                 //          Пока не достигнут конец файла Сообщить(Строка(дбф.Id) + Символ Табуляции +

"(оклад сотрудника равен " + Строка(дбф.Salary) + " руб.)");

дбф.Следующая(); конецЦикла; // пока имяФайла  =  "salary.dbf";

ПоказатьДБФ(дбф, имяФайла);              //         Код процедуры  ПоказатьДБФ см. выше конецПроцедуры

Результат работы   процедуры ПоказатьДБФ  см.  на  рис.  9.10.

Результат:

Коды  сотрудников,  оклад  которых более  3000 руб.

301          (оклад  сотрудника равен 3100 руб.)

122          (оклад сотрудника равен 3200  руб.) 2010         (оклад сотрудника равен  3200 руб.)

302               (оклад сотрудника  равен  3200  руб.)

303               (оклад  сотрудника равен 3200 руб.)

Рис. 9.10.  Файл  salary.dbf  под действием  снабженного  фильтром  индекса Salary

9.3.2.3.            ВЫРАЖЕНИЯ  ИНДЕКСА      И       ФИЛЬТРА

Выражения, употребляемые  в  методе  -ДобавитьИндекс, для  индекса  и  фильтра,  могут содержать  в  качестве операндов  имена полей,  константы  и  вызовы функций.  Аргументами  функций,  применяемых  в  выражениях,  могут  также   быть   имена  полей,  константы и  вызовы, функций. Например, в  методе

дбф.ДобавитьИндекс("Depart", "trim(str(ParentId)) + Name", 0, 0,"");

индексное    выражение   содержит    функции    TRIM,   STR    и    имена   полей   DBF-файла ParentId и Name, а в  методе

дбф.ДобавитьИндекс("Salary", "Salary", 0, 0, "Salary  > 3000");

выражение фильтра включает имя поля  Salary и  числовую константу  3000.

В качестве логических констант используются  .Т. и .F. для обозначения соответственно констант истина и ложь.

Константы типа Дата задаются в фигурных скобках.

Регистр написания операндов выражения не имеет значения.

Выражение индекса может иметь числовой, символьный, логический тип или тип Дата.

Выражение фильтра, если задано, должно иметь логический тип.

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

Операции выражений индекса и фильтра

Таблица 9.7

Операции

Значения

Арифметические операции

-

Унарный минус

** или ^

Возведение в степень

*,/

Умножение, деление

+,-

Сложение, вычитание

Символьные операции

+

Объединение (конкатенация)

-

Объединение 2 (конкатенация 2)

Операции отношения

=, <> или #,<,>,<=,>= $

Равно, не равно, меньше, больше, меньше или равно, больше или равно, содержит

Логические операции

.NOT.

Логическое НЕ (отрицание)

.AND.

Логическое И

.OR.

Логическое ИЛИ

Замечания:

1.             Все  операции,   кроме   унарного  минуса,  являются   двуместными   (бинарными), то есть употребляются между двумя операндами.

2.               Выражения  вычисляются  слева направо  в  порядке, определяемом  приоритетом операций.   Часть   подвыражения, заключенная   в   круглые  скобки,  вычисляется в первую очередь.  Более подробно о вычислении выражений см. в разд. 2.6.

3.               Унарный минус имеет больший приоритет, чем иные арифметические (и другие) операции. Например, выражение

-2**2

вернет, так же как и выражение (-2)**2

число 4.

4.           Символьная операция  -, в отличие от операции +, перемещает завершающие пробелы первого операнда в конец результата, например, выражение

"3 п  "+"робела"

вернет строку "3 п   робела", а выражение "3 п  " "робела"

строку "3 пробела    ".

5.          Операция  $  применяется только  с символьными  операндами.   Выражение  отношения с операцией  $ вернет .Т., если первый операнд выражения является подстрокой второго, или .F. в противном случае. Например выражение

"БВ" $"АБВГ"

вернет .Т., а выражение "БГ" $ "АБВГ "

вернет .F..

6.          В отличие от  1С  в  выражениях индекса  и  фильтра  нельзя смешивать символьные и арифметические операнды. Так, вместо

"АБС" + 2

чтобы получить строку "АБС2", нужно употребить выражение "АБС" + trim(str(2))

или выражение "АБС" + str(2′, 1)

В выражениях индекса и фильтра используются приведенные в табл. 9.8 функции.

Таблица 9.8

Функции для выражений индекса и фильтра

Функция

Что возвращает

Тип результата

DATE()

Текущую дату, например 01/14/02

Дата

DAY(дama)

День месяца, заданного параметром дата

Число

DTOC(дama)

Символьное представление даты, заданной параметром дата

Строка

DTOS(дama)

Символьное представление даты, заданной параметром дата, в виде ГГГГММДД

"

IIF(лВыр, выр1, выр2)

Результат выражения выр1, если истинно логическое выражение лВыр, или результат выражения выр2 -

в противном случае.  Выражения  выр1 и выр2 могут быть произвольного типа

Совпадает с типом

выр1 или выр2

LTRIM(cтрокa)

Строку, в которой удалены  ведущие пробелы параметра строка

Строка

Функция

Что   возвращает

Тип

результата

MONTH(дaтa)

Номер  месяца  в  году, заданного  параметром  дата

Число

STOD(cmpoкa)

Дату в  формате  ГПТММДД

Дата

STR(число, [длина], [десСим])

Символьное представление параметра  число в виде строки  длиной  длина,  содержащей десСим десятичных символов. Если параметры длина и десСим опущены, то результирующая строка имеет 10 символов и не содержит десятичной части. Если опущен параметр десСим, то результат также  не содержит десятичной  части

Строка

SUBSTR(строка, начПоз, [числоСим])

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

от позиции  начПоз до конца  строки строка

"

TIME()

Текущее время в формате ЧЧ:ММ:СС

"

TRIM(строка)

Строку,  в  которой  удалены завершающие пробелы параметра строка

"

UPPER(строка)

Строку,  преобразованную в верхний  регистр

"

VAL(строка)

Числовое представление параметра  строка

Число

YEAR(дата)

Номер года, заданного параметром дата

"

Замечание.  Параметры функций являются  выражениями. Причем параметр дата является выражением типа Дата;  параметр строка символьное выражение; параметры число, длина, десСим, начПоз и числоСим числовые выражения.

Примеры употребления функций приведены в табл. 9.9.

Таблица 9.9

Примеры вызова  функций для выражений индекса и фильтра

Пример вызова

Результат

Тип

day(date())

14

Числовой

month(date())

1

"

year(date())

2002

"

time()

16:08:46

Символьный

dtoc(date())

01/14/02

"

dtos(date())

20020114

"

k = 5

IIF(k  > 8, 2 * 3, "A" + "B")

6

Числовой

k = 9

IIF(k  > 8, 2 * 3, "A" + "B")

AB

Символьный

ltrim("       ABC")

ABC

"

trim("     ABC     ") + "D"

ABCD

"

Пример  вызова

Результат

Тип

str(5.234)

5

"

str(5.234, 5)

5

"

str(5.234, 6, 4)

5.2340

"

substr("Небосклон",  3, 3)

бос

"

substr("Hебосклон",  5)

склон

"

upper("Небосклон")

НЕБОСКЛОН

"

va1("Небосклон")

0

Числовой

val("-1.23")

-1.23

"

val("+432")

432

"

val("1.3e+2")

130

"

9.4. ВЫВОДЫ

1.              Объект XBase подсоединяется к DBF-файлу в режиме монопольного доступа.

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

3.               Если  какое-то время DBF-файл редактировался при  закрытом индексном  файле,  то, открывая последний, следует выполнить его переиндексацию.

4.               Атрибут Ключ  объекта   XBase  используется  для  задания  операндов  индексного выражения.

5.              Для поиска по составному ключу следует использовать метод НайтиПоКлючу взамен метода Найти.

6.                                                                                                                              Для  просмотра находящихся  в работе  DBF-файлов  полезно иметь процедуру,  переносящую записи  файла  в  таблицу значений.  Вывод таблицы значений  можно  осуществить как  в одноименный элемент  диалога, так и в окно, открываемое  методом  ВыбратьСтроку

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии