Управление интерфейсом программы 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