Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

ТЕМА 3.8 ВЗАИМОДЕЙСТВИЕ С ВНЕШНИМИ ПРИЛОЖЕНИЯМИ

На практике очень часто возникает необходимость в организации взаимодействия с внешним приложением из программы 1С. Пример - операции импорта или экспорта данных или внедрение одного документа в другой через технологию OLE-Automation. Система 1С:Предприятие предоставляет мощные механизмы для выполнения таких операций.

Для работы с файлами в системе используется специальный агрегатный тип данных – «ФС». По умолчанию в системе всегда доступен уже существующий объект с именем «ФС», к которому можно применять методы объекта типа «ФС». Кроме того, можно создать произвольное число объектов типа «ФС» при помощи функции «СоздатьОбъект(«ФС»)».

У объекта типа «ФС» имеются стандартные функции для работы с файлами: «ВыбратьФайл()» – открывает диалог выбора файла, «ВыбратьКаталог()»– открывает диалог выбора каталога, «СуществуетФайл()» – проверяет, существует ли файл с указанным именем, «КопироватьФайл()», «УдалитьФайл()», «ПереименоватьФайл()» и др.

Для работы с текстами в системе используется специальный тип данных «Текст». Средства языка позволяют выводить строк в текстовые файлы и считывать из имеющихся файлов текст с последующим разбором его по строкам.

Для чтения данных из файла используют следующие свойства этого объекта:

· Открыть(<ИмяФайла>) – открывает файл.

· КодоваяСтраница(<Режим>) – получить/установить режим кодировки. <Режим> = 0 – Windows-кодировка, 1 – DOS-кодировка

· Показать(<Заголовок>,<ИмяФайла>) – открыть окно редактирования текста.

· Записать(<ИмяФайла>) – записывает текст в файл.

· КоличествоСтрок() – количество строк в тексте.

· ПолучитьСтроку(<НомерСтроки>) – получить строку текста по номеру

Пример использования текстового файла в качестве источника данных приведен в листинге 38. Из файла «exp_imp.txt» загружается справочник номенклатуры

Листинг 38. Загрузка данных из текстового файла

Спр=СоздатьОбъект(«Справочник.Номенклатура»); Текст = СоздатьОбъект(«Текст»); Список = СоздатьОбъект(«СписокЗначений»); Текст.Открыть(«exp_imp.txt»); Для Ном=1 По Текст.КоличествоСтрок() Цикл Стр = Текст.ПолучитьСтроку(Ном); //преобразуем строку в список значений Список.ИзСтрокиСРазделителями(Стр); Если Спр.НайтиПоКоду(Список.ПолучитьЗначение(1))=0 Тогда Спр.Новый(); Спр.Код= Список.ПолучитьЗначение(1); Спр.Наименование= Список.ПолучитьЗначение(2); Спр.Записать(); КонецЕсли; КонецЦикла;

Для выполнения записи в файл используют такие свойства объекта “Текст”:

· ВставитьСтроку(<НомерСтроки>,<Строка>) – вставить строку с указанным номером.

· ЗаменитьСтроку(<НомерСтроки>,<Строка>) – заменить строку с указанным номером.

· УдалитьСтроку(<НомерСтроки>) – удалить строку с указанным номером.

· ДобавитьСтроку(<Строка>) – добавить строку в конец текста.

· Очистить()–удалить все строки текста.


В листинге 39 приведен пример записи данных в текстовый файл.

Листинг 39. Выгрузка данных в текстовый файл

Текст = СоздатьОбъект(«Текст»); Список = СоздатьОбъект(«СписокЗначений»); Спр=СоздатьОбъект(«Справочник.Номенклатура»); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()=1 Цикл Список.ДобавитьЗначение(Спр.Код); Список.ДобавитьЗначение(Спр.Наименование);... // выводим список в текст Текст.ДобавитьСтроку(Список.ВСтрокуСРазделителями()); Список.УдалитьВсе();// очищаем список КонецЦикла; Текст.Записать(«exp_imp.txt»);

Работа с файлами в формате «DBF»

В качестве основного формата локальных баз данных 1С использует xbase-овместимый формат.dbf (он используется также в СУБД Paradox, dBase и FoxPro). Для работы с этим форматом в 1С предназначен объект типа «XBase». При этом надо учитывать следующие ограничения:

1. Не поддерживаются поля типа memo.

2. База данных открывается монопольно

3. Поддерживаются только индексные файлы в формате “CDX”

Доступ к полям базы данных осуществляется через точку с указанием именем поля.

Листинг 40. Работа с объектом XBase

БД=СоздатьОбъект(“XBase”); БД.ОткрытьФайл(«data.dbf»); Если БД.Открыта()=1 Тогда БД.Первая();//встаем на первую запись Пока 1=1 Цикл // Обработка записи базы данных Сообщить(Строка(БД.CODE) + «» + БД.Name); Если БД.Следующая()=0 Тогда // не удалось перейти к следующей записи Прервать; КонецЕсли; КонецЦикла; КонецЕсли;
<== предыдущая лекция | следующая лекция ==>
Предопределенные процедуры | Тема 3. 9 отладка и профилирование
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 471; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.