русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Операции экспорта-импорта данных

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

 

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

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

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

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

  • Открыть(<ИмяФайла>) –  открывает файл.
  • КодоваяСтраница(<Режим>) – получить/установить режим кодировки. <Режим> = 0 – Windows-кодировка, 1 – DOS-кодировка
  • Показать(<Заголовок>,<ИмяФайла>) – открыть окно редактирования текста.
  • Записать(<ИмяФайла>) – записывает текст в файл.

1.1. Чтение текста

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

 

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

Спр=СоздатьОбъект(«Справочник.Номенклатура»);
Текст = СоздатьОбъект(«Текст»);
Список = СоздатьОбъект(«СписокЗначений»);
Текст.ОткрытьФайл(«exp_imp.txt»);

Для Ном=1 По Текст.КоличествоСтрок() Цикл
Стр = Текст.ПолучитьСтроку(Ном);

Список.ИзСтрокиСРазделителями(Стр); // преобразуем строку
//в список значений

Если Спр.НайтиПоКоду(Список.ПолучитьЗначение(1))=0 Тогда
Спр.Новый();
Спр.Код= Список.ПолучитьЗначение(1);
Спр.Наименование= Список.ПолучитьЗначение(2);
Спр.Записать();
КонецЕсли;
КонецЦикла;

 

1.2. Запись текста

  • ВставитьСтроку(<НомерСтроки>,<Строка>) – вставить строку с указанным номером.
  • ЗаменитьСтроку(<НомерСтроки>,<Строка>) – заменить строку с указанным номером.
  • УдалитьСтроку(<НомерСтроки>) – удалить строку с указанным номером.
  • ДобавитьСтроку(<Строка>) – добавить строку в конец текста.
  • Очистить() –удалить все строки текста.

Пример. В файл «exp_imp.txt» выгружается справочник номенклатуры

Текст = СоздатьОбъект(«Текст»);
Список = СоздатьОбъект(«СписокЗначений»);
Спр=СоздатьОбъект(«Справочник.Номенклатура»);
Спр.ВыбратьЭлементы();

Пока Спр.ПолучитьЭлемент()=1 Цикл

     Список.ДобавитьЗначение(Спр.Код);
Список.ДобавитьЗначение(Спр.Наименование);

// и другие поля…

// выводим список в текст
Текст.ДобавитьСтроку(Список.ВСтрокуСРазделителями());

     Список.УдалитьВсе();// очищаем список
КонецЦикла;

Текст.Записать(«exp_imp.txt»);

 

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

Для работы с базами данных в формате «DBF» используется объект типа «XBase». При этом надо учитывать следующие ограничения:

  • Не поддерживаются поля типа memo.
  • База данных открывается монопольно
  • Поддерживаются только индексные файлы в формате “CDX”

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

Пример:

БД=СоздатьОбъект(“XBase”);

БД.ОткрытьФайл(«data.dbf»);

Если БД.Открыта()=1 Тогда
БД.Первая();//встаем на первую запись

Пока 1=1 Цикл

// Обработка записи базы данных
Сообщить(Строка(БД.CODE) + « » + БД.Name);

Если БД.Следующая()=0 Тогда
// не удалось перейти к следующей записи
Прервать;
КонецЕсли;

КонецЦикла;

КонецЕсли;

 

3. Обмен данными с помощью OLE Automation

Для запуска системы 1С:Предприятие в качестве OLE Automation сервера из внешнего приложения (например, из другой программы 1С), выполняется следующая последовательность действий:
- Создается объект с OLE идентификатором:

  • V1СEnterprise.Application — версия независимый ключ;
  • V77.Application — версия зависимый ключ;
  • V77S.Application — версия зависимый ключ, SQL версия;
  • V77L.Application — версия зависимый ключ, локальная версия;
  • V77M.Application — версия зависимый ключ, сетевая версия.

- Выполняется инициализация системы 1С:Предприятие методом Initialize.
- Вызываются атрибуты и методы системы 1С:Предприятие как OLE Automation сервера.

Пример.

Процедура Загрузить()
Если ФС.Существуетфайл(Путь + "\NUL") = 0 Тогда
Предупреждение("Путь информационной базы не найден!");
Иначе
V7 = СоздатьОбъект("V77.Application");
Открыта = V7.Initialize(V7.RMTrade, "/d" + Путь +
" /M /N" + Пользователь, "");
Если Открыта = 0 Тогда
Предупреждение("Ошибка открытия информационной базы");
Возврат;
КонецЕсли;
Импорт = V7.CreateObject("Справочник.Контрагенты");
Импорт.ВыбратьЭлементы();
Пока Импорт.ПолучитьЭлемент() = 1 Цикл
Если Импорт.ЭтоГруппа() = 0 Тогда
Сообщить(Импорт.Наименование);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры

Просмотров: 18208

Вернуться воглавление


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.