Управление интерфейсом программы 1С при помощи OLE

Автоматизация учета и управления, использование тиражных программных продуктов системы "1С: Предприятие". OLE - технология управления и обмена информацией между программным интерфейсом другими приложениями. Установка среды разработки, совместимой с 1С.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 20.03.2013
Размер файла 558,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство просвещения ПМР

Приднестровский государственный университет им. Т.Г. Шевченко

Бендерский политехнический филиал

Курсовая работа

по дисциплине:

Разработка и эксплуатация информационных систем

Тема:

Управление интерфейсом программы 1С при помощи OLE

Выполнил: Студент 46-К группы

Гюмюшлю Александр Сергеевич

Проверил: Преподаватель Качур В.Г

СОДЕРЖАНИЕ:

Введение

2. Актуальность выбранной темы

3. Решение данной задачи

4. Среда разработки Delphi

5. Результат работы

6. Описание решения задачи

Заключение

Список литературы

ВВЕДЕНИЕ

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

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

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

1. Актуальность выбранной темы

Технология OLE (Object Linking and Embedding) Ї технология управления и обмена информацией между программным интерфейсом других приложений. Связывание и внедрение объектов (Object Linking and Embedding). OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад.

OLE используется при обработке составных документов (англ. compound documents), может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса. Например, перенос данных из резервной базы 1С в базу с утерянными или поврежденными данными.

2. Решение данной задачи

Решение данной задачи заключается в следующем:

- установка платформы 1С: Предприятие;

- установка среды разработки, которая будет взаимодействовать с 1С(Подключаться к 1С платформе, считывать информацию из ИБ 1С и изменять её);

- изучение литературы;

- создание ПП с использованием информации, полученной из прочитанной литературы.

3. Среда разработки Delphi

Язык программирования Delphi - язык программирования, который используется в одноимённой среде разработки и является комбинацией нескольких важнейших технологий:

- высокопроизводительный компилятор в машинный код;

- объектно-ориентированная модель компонент;

- визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;

- масштабируемые средства для построения баз данных.

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

Наконец, еще одним важным достоинством системы программирования Delphi является ее универсальность. Дело в том, что многие современные языки и соответствующие системы программирования созданы для решения узкоспециальных задач. Так, язык Cobol предназначен в первую очередь для создания программ в области экономики, язык Fortran - для инженерно-технических расчетов, языки Lisp и Prolog - для работы над системами искусственного интеллекта и т.д. Система же Delphi позволяет создавать профессиональные и эффективно работающие приложения, используемые в самых различных сферах человеческой деятельности.

4. Результат работы

Готовое приложение с описанным функционалом и удобным, интуитивно понятным интерфейсом (рис. 1).

Готовый программный продукт.

Рис. 1

5. Описание решения задачи

Решение задачи началось с установки на ПК платформы 1С:Предприятие и среды разработки Borland Delphi 7.

Затем, для дальнейшей работы над программным продуктом, нужно использовать готовую конфигурацию 1С.

Была выбрана конфигурация «Склад». Над ней будут производиться следующие операции:

- установка соединения;

- выбор пользователя;

- считывание информации со справочников;

- изменение записей в справочниках;

В Delphi:

- Создание нового проекта.

- Размещение на форме компонентов так, как это представлено на рис. 2

Рис. 2. Форма проекта

Таблица 1

Назначение элементов управления в форме проекта

Элемент управления

Идентификатор

Назначение

Раскрывающийся список

CB1: TComboBox

Выбор версии программы 1С

Кнопка Обзор…

Button3: TButton

Выбор пути к базе 1С

Кнопка Соединить

Button1: TButton

Соединение с программой 1С: Предприятие

Компонент выбора папки

OpenDialog1: TOpenDialog

Выбор папки

Однострочный редактор

E2: TEdit

Путь к базе 1С

Однострочный редактор

E4: TEdit

Наименование пользователя 1С

Однострочный редактор

E5: TEdit

Пароль пользователя 1С

Раскрывающийся список

CB2: TComboBox

Наименование справочника базы 1С

Кнопка Справочник

Button2: TButton

Считывание и показ содержимого(Код и Наименование) справочника

Раскрывающийся список

CB3: TComboBox

Наименование записи справочника

Кнопка Изменить

Button4: TButton

Изменение наименования записи справочника

Кнопка-Индикатор

SB1:TSpeedButton

Цветовой индикатор соединения с базой 1С

Кнопка Закрыть

BitBtn1: TBitBtn

Закрывает программу

Массив строк

ListBox1: TListBox

Отображает содержимое справочника

Метки

Label6,Label7: TLabel

Указывают на поля, которые нужно обязательно заполнить

Метка

Label5: TLabel

Текстовый индикатор соединения с базой 1С

Теперь всё готово для работы с объектами на форме.

В событии OnCreate формы прописывается следующий код:

procedure TForm1.FormCreate(Sender: TObject); //Задаём некоторые

свойства объектов при создании формы

begin

SB1.Visible := False; //При запуске программы невидим, так как пока не

//происходило попыток соединения базой 1С.

label5.Visible := False; //Аналогично с SB1

Button1.Enabled := False; // Изначально Версия и Путь к базе не

указаны, поэтому //кнопка неактивна

Button2.Enabled := False; //Так как нету соединения с базой,

следовательно нельзя //считывать информацию со справочников.

Button4.Enabled := False; //Раз не подключена база и нету справочников

никаких //операций над данными и быть не может.

end;

Рис. 3

В раскрывающемся списке CB1 в свойстве Items указываются значения, которые будут отображаться при выпадении списка:

- V77.Application - зависимый ключ;

- V77S.Application - зависимый ключ, SQL - версия;

- V77L.Application - зависимый ключ, локальная версия;

- V77M.Application - зависимый ключ, сетевая версия;

- V1CEnterprise.Application - независимый ключ;

Это одна из версий, установленная на вашем компьютере.

В событии кнопки Обзор… идёт обращение к объекту на форме OpenDialog1, который открывает окно выбора папки. После выбора каталога с базой 1С, запоминается путь и передаётся в E2.

Рис. 4

procedure TForm1.Button3Click(Sender: TObject);

begin

if OpenDialog1.Execute then

E2.Text:=ExtractFileDir(OpenDialog1.FileName); // извлекает из

FullFileName директивную подстроку и передает её в Е2

OpenDialog1.InitialDir:=E2.Text;

end;

После выбора пути к базе, активируется кнопка Соединить, которая подключается к базе 1С по пути, занесенному в Е2, инициализируя версию из CB1. Затем формируется список справочников в CB2.

Рис. 5

private

{ Private declarations }

Ole1C: OleVariant; //Указатель на объект 1С

OleSpr: OleVariant; //Указатель на справочник 1С

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

ResOpen : integer;

Index : integer;

begin

if E2.Text = '' then

begin

ShowMessage('Укажите путь к базе 1С');

Exit;

end;

Ole1C := CreateOleObject(CB1.Text); //Запускается программа 1С как

OLE //Automation

ResOpen := Ole1C.Initialize(Ole1C.RMTrade, '/D' + E2.Text + ' /M' + ' /N'

+ E4.Text + ' /P' + E5.Text, ''); //Инициализируем программу 1С согласно

информации из E2,E4,E5

CB2.Items.Clear;

CB2.Text := '';

//Индикатор соединения с базой 1С.Если ResOpen при инициализации

принял //значение «-1» , значит соединение установлено.

if ResOpen = -1 then

begin программный автоматизация управление информация

SB1.Font.Color := 708928; //присваиваем тексту в SB1 оттенок зелёного

цвета

label5.Caption := 'Соединено!'; // в метке указываем текст статуса

соединения

Рис. 6

SB1.Visible := True; // визуализируется индикатор

label5.Visible := True;// визуализируется индикатор

Button2.Enabled := True; // активируется кнопка считывание

справочников

Button4.Enabled := True;// активируется кнопка изменения данных

справочника

end

else

// Если ResOpen при инициализации принял //значение «0» , значит

соединение не установлено.

begin

SB1.Font.Color := clRed;

label5.Caption := 'Нет соединения!';

Рис. 7

SB1.Visible := True; //присваиваем тексту в SB1 красный цвет

label5.Visible := True; // в метке указываем текст статуса соединения

Button2.Enabled := False; // деактивируем кнопку, так как нету

соединения с базой

Button4.Enabled := False; // деактивируем кнопку, так как нету

соединения с базой

CB2.Items.Clear; // очищаем список, если до этого было соединение с

базой

CB3.Items.Clear;

end;

if label5.Caption = 'Нет соединения!' then

Exit; //Условие возврата

//Добавление справочников в CB2

if not VarIsEmpty(Ole1C) then

begin

for Index := 1 to Ole1C.Metadata.Reference do

CB2.Items.Add(Ole1C.Metadata.Reference(Index).Identifier);

end;

end;

После нажатия на кнопку Соединить, появляется цветовой индикатор SP1, который показывает установлено соединение с базой 1С или нет! Если индикатор зелёного цвета, тогда база успешно соединена. Если индикатор красного цвета, то соединение не установлено и при нажатии на цветовой индикатор SP1, можно увидеть возможную причину неудачного соединения!

procedure TForm1.SB1Click(Sender: TObject);

begin

if label5.Caption = 'Нет соединения!' then

with Application do

begin

NormalizeTopMosts;

MessageBox('Неверно указан путь к каталогу с рабочей ИБ 1С',

'Возможная причина');

RestoreTopMosts;

end

else

with Application do

begin

NormalizeTopMosts;

MessageBox('Стабильное соединение с ИБ 1С', '');

RestoreTopMosts;

end

end;

Рис. 8

Кнопка Справочник по нажатию проверяет, выбран ли справочник в CB2. Если нет, то оповещает об этом пользователя, если да, то происходит считывание данных из выбранного справочника и отображение этих данных в ListBox1.

procedure TForm1.Button2Click(Sender: TObject);

begin

if CB2.Text = '' then //если в списке нет справочника, всплывает окошко

оповещения

Begin

with Application do

begin

NormalizeTopMosts;

MessageBox('Выберите справочник!', 'ПРЕДУПРЕЖДЕНИЕ');

RestoreTopMosts;

end;

Exit;

end;

OleSpr := Unassigned; //Обнуляются значения, т.е. происходит

уничтожение OLE-//объекта

ListBox1.Items.Clear; //очищаем список, если в нём были отображены

данные

if not VarIsEmpty(Ole1C) then //значение переменной Ole1C не должно

быть пустым, //т.е. означает что 1С запущена и связь ней установлена

Begin

OleSpr := Ole1C.CreateObject('Справочник.' + CB2.Text); //создаем

виртуальный //справочник

if not VarIsEmpty(OleSpr) then

Begin

if OleSpr.ВыбратьЭлементы > 0 then //выбираем все значения

справочника, т.е. //переносим их из физического справочника в

виртуальный

Begin

while OleSpr.ПолучитьЭлемент > 0 do //Получаем все данный из

выбранного //справочника

Begin

if (OleSpr.ЭтоГруппа) <= 0 then

begin

ListBox1.Items.Add(

Trim(OleSpr.Код) + ' '

+ Trim(OleSpr.Наименование)

);

end;

end;

end;

end;

end;

OleSpr := Unassigned;

end;

Когда справочник выбран, по событию OnChange объекта CB2 в CB3 формируется список записей (наименования) справочника, которые будут доступны для изменения! Если в справочнике отсутствуют записи, тогда появляется сообщение «Справочник пуст»

Рис. 9

procedure TForm1.CB2Change(Sender: TObject);

var

Schetchik : integer;

begin

OleSpr := Unassigned;

CB3.Items.Clear;

CB3.Text := '';

Schetchik := 0;

if VarIsEmpty(OleSpr) then

begin

OleSpr := Ole1C.CreateObject('Справочник.' + CB2.Text);

OleSpr.ВыбратьЭлементы;

while OleSpr.ПолучитьЭлемент = 1 do

begin

CB3.Items.Add(OleSpr.Наименование);

inc(Schetchik);

end;

if Schetchik = 0 then

ShowMessage('Справочник пуст.');

end;

OleSpr := Unassigned;

end;

Кнопка Изменить. Чтобы её использовать, нужно выбрать из выпадающего списка CB3 запись, которую мы хотим изменить. Когда запись выбрана по нажатию на кнопку появляется диалоговое окно, со строкой для ввода нового значения. После изменения значения, можно нажать на кнопку Справочник и в ListBox1 увидеть результат изменения.

Рис. 10

procedure TForm1.Button4Click(Sender: TObject); //Поиск инф. и её

изменение

var

St : string;

begin

if CB3.Text = '' then //Предупреждающее сообщение

Begin

with Application do

begin

NormalizeTopMosts;

MessageBox('Выберите запись!', 'ПРЕДУПРЕЖДЕНИЕ');

RestoreTopMosts;

end;

Exit;

end;

St := '';

OleSpr := Unassigned;

if VarIsEmpty(OleSpr) then

begin

OleSpr := Ole1C.CreateObject('Справочник.' + CB2.Text);

OleSpr.ВыбратьЭлементы;

OleSpr.НайтиПоНаименованию(CB3.Text,0); // Поиск записи в

справочнике

if InputQuery(CB3.Text,'Новое значение',St) then

begin

St := Trim(St);

OleSpr.Наименование := St;

OleSpr.Записать;

OleSpr.ВыбратьЭлементы;

CB3.Items.Clear;

while OleSpr.ПолучитьЭлемент = 1 do

begin

CB3.Items.Add(OleSpr.Наименование);

end;

end;

end;

OleSpr := Unassigned;

end;

Заключение

Этот программный продукт продемонстрировал взаимодействие среды разработки Borland Delphi 7 с платформой 1С: Предприятие при помощи OLE Automation. А именно:

- установка соединения с базой 1С, которое сопровождалось выбором имени пользователя и вводом его пароля (если таковой имеется);

- сбор информации об имеющихся справочниках в базе;

- определением всех записей, содержащихся в любом из выбранных справочников;

- изменение значений, выбранных записей справочника;

Пользуясь написанной программой, можно легко обращаться к базе 1С и изымать нужные данные для обработки в Borland Delphi 7, для последующего возврата их в базу 1С, хотя задачи могут быть разнообразными и это не единственная, для которой используется информация конфигурации 1С.

Список литературы

1. Попов С.А. Delphi и 1С Предприятие. Программирование информационного обмена. - СПб.: БВХ-Петербург, 2007. - 592с.

2. Александр Авдошин Delphi и 1C - экспорт и импорт.

3. http://www.russika.ru/t.php?t=4197

4. http://www.gturp.spb.ru/fkl/fasutp/kaf/kpm/kpm.files/Delfi.pdf

5. http://automationlab.ru/index.php/ispy/213-27

Размещено на Allbest.ru


Подобные документы

  • Создание информационной системы для предприятия с удобным пользовательским интерфейсом. Автоматизация учета посетителей, персонала и оборудования в интернет-кафе. Описание среды программирования и системы управления базами данных. Справочная система.

    курсовая работа [3,3 M], добавлен 23.01.2014

  • Исследование уровня автоматизации учёта хозяйственной деятельности ООО "Город" и разработка программных модулей "1С:Предприятие" для совершенствования системы управления автоматизацией процесса бухгалтерского учета с целью повышения его эффективности.

    дипломная работа [1,2 M], добавлен 24.01.2012

  • Выбор и обоснование выбора среды разработки. Разработка алгоритма работы программы, проектирование системы меню. Общее описание программы: назначение и область применения, интерфейс, требования к аппаратным и программным ресурсам, тестирование и листинг.

    курсовая работа [543,2 K], добавлен 20.05.2013

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

    курсовая работа [2,9 M], добавлен 17.07.2014

  • Изучение схемы рабочего процесса ОАО МСК "Страж". Практическая разработка автоматизации услуг по выплате компенсаций клиентам. Ознакомление с интерфейсом, требованиями к системе, функциональными возможностями и руководством к использованию программы.

    курсовая работа [2,7 M], добавлен 05.02.2010

  • Разработка конфигурации программы в среде "1С:Предприятие 7.7" для учета клиентов. Автоматизация процедуры учета заработной платы. Описание среды программирования, требования к техническому и программному обеспечению. Методика разработки проекта.

    дипломная работа [349,2 K], добавлен 17.07.2014

  • Знакомство с графическим интерфейсом ASP Linux, его основные преимущества и недостатки, разработка навыков работы с сервисным и прикладным программным обеспечением этой системы. сравнительный анализ функциональных возможностях изученной среды и Windows.

    методичка [1,6 M], добавлен 12.09.2008

  • Сущность учета и его особенности в торговле. Проблемы создания эффективной системы управления предприятием. Две группы СУБД, используемые в системах автоматизации. Применение систем комплексной автоматизации. Методика разработки программы учета продаж.

    курсовая работа [447,0 K], добавлен 08.03.2011

  • Сущность управления лицензионным программным обеспечением. Требования к аппаратному обеспечению. Изучение средств моделирования и разработки информационной системы. Анализ основных методов работы с Oracle Designer. Построение диаграмм потоков данных.

    курсовая работа [1,4 M], добавлен 06.06.2014

  • Разработка, внедрение и сопровождение тиражных программных продуктов для автоматизации финансово-хозяйственной деятельности предприятий различных сфер бизнеса. Программный комплекс "Учет. Анализ. Управление". Учет и планирование контактов и сделок.

    реферат [1,3 M], добавлен 10.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.