РЕФЕРАТ
ВКР содержит пояснительную записку на 85 листах формата А4, включающую 21 рисунок, 11 таблиц, 24 литературных источника, 5 приложений.
WEB ПРОГРАММИРОВАНИЕ, WEB СЛУЖБА, 1С, C#, АВТОМАТИЗАЦИЯ, ADO, ТИРАЖИРОВАНИЕ, ИНСТРУКЦИЯ, COM.
Цель работы – автоматизация работы с покупателями.
В процессе работы проведён анализ аппаратных и программных средств предприятия, выбраны технологии и средства для решения поставленных задач.
Результаты работы используются на предприятии. Программный комплекс выполняет следующие задачи:
- ускорение обслуживания покупателей на розничных торговых точках,
- ведение точного учёта товаров на удалённых точках,
- поддержка распределённой базы данных,
- предоставление полной информации по текущему ассортименту компании интерактивным пользователям Интернет портала,
- публикация новостей и данных о компании на Интернет портале,
- возможность оформления заказов через Интернет.
.
СОДЕРЖАНИЕ:
ВВЕДЕНИЕ 7
1 ПОСТАНОВКА ЗАДАЧИ НА ПРОЕКТИРОВАНИЕ 8
1.1 Назначение и цели создания программного комплекса 8
1.2 Что было до внедрения АИС. 10
1.3 Структура компьютерной сети предприятия 11
1.4 Выбор программных средств и технологий взаимодействия 12
1.4.1 Выбор СУБД для автоматизации
хозяйственно-складской деятельности
и построения распределённой БД 13
1.4.2 Выбор среды разработки 14
1.4.3 Передача данных через локальную сеть 15
1.4.4 Выбор языка программирования 15
1.4.5 Выбор СУБД для Web сервера 16
1.5 Описание средств разработки 16
1.5.1 «1С Предприятие». Конфигурация «Торговля и склад» 16
1.5.2 MS SQL Server 2000 21
1.5.3 MS Visual 22
2 ФУНКЦИОНАЛЬНАЯ ЧАСТЬ 25
2.1 Общее функционирование системы на базе «1С» 25
2.2 Функции создания и поддержания распределённой БД 26
2.3 Функции для переноса данных с сервера приложений 1С на WEB сервер (SQL Server) 28
2.3.1 Функции WEB службы 29
2.4 Функции приложения 34
2.4.1 Схема работа Интернет сайта 35
2.4.2 Функциональное назначение страниц 37
3 ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ПРИЛОЖЕНИЯ 39
3.1 Общие принципы организации информационной базы 39
3.2 Передача данных удалённым точкам 39
3.3 Ведение БД на WEB сервере с использованием SQL Server 2000 39
4 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРИЛОЖЕНИЯ 45
4.1 Программные средства для создания и поддержания распределённой БД 45
4.1.1 Обработка на центральной базе «Выгрузка накладной» 45
4.1.2 Обработка на удалённой торговой точке - «Загрузка документов» 46
4.2 Автоматизация работы кассира в магазине 48
4.3 WEB приложение 50
4.3.1 Условия на работу WEB приложения у удалённого пользователя. 51
4.3.2 Используемые средства 52
4.3.2.1 Стандартные средства «WEB программирования» 52
4.3.2.2 2.0 52
4.3.2.3 53
4.3.3 Получение данных от WEB Службы 53
4.3.4 Кэширование данных 54
4.3.5 Отправка электронной почты 55
4.3.6 Полномочия пользователей 56
2.4.7 Проблемы и их решение 57
5 ТЕХНОЛОГИЯ ЭКСПЛУАТАЦИИ ПРИЛОЖЕНИЯ 59
5.1 Инструкция оператора системы 1С на удалённом магазине 59
5.1.1 Общие сведения 59
5.1.2 Порядок работы: 59
5.1.3 Продажа (Реализация): 60
5.1.4 Возврат продажи 62
5.1.5 Использование меню фискального регистратора (ФР): 64
5.1.6 Акт сверки: 64
5.1.7 Печать ценников по подбору: 66
5.1.8 Загрузка накладных: 68
5.2 Эксплуатация WEB портала 68
ЗАКЛЮЧЕНИЕ 70
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 71
ПРИЛОЖЕНИЕ А КОНЦЕПТУАЛЬНВЯ МОДЕЛЬ ПЕРЕНОСА ДАННЫХ 73
ПРИЛОЖЕНИЕ Б КОД WEB СЛУЖБЫ (ФАЙЛ «Service. asmx») 74
ПРИЛОЖЕНИЕ В ФУНКЦИИ ГЛОБАЛЬНОГО МОДУЛЯ, ФОРМИРУЮЩИЕ ДАННЫЕ ДЛЯ WEB СЛУЖБЫ 78
ПРИЛОЖЕНИЕ Г НЕКОТОРЫЕ ХРАНИМЫЕ ПРОЦЕДУРЫ И ЗАПРОСЫ К СИСТЕМЕ «SQL SERVER» 82
ПРИЛОЖЕНИЕ Д КОД РАБОТЫ С WEB СЛУЖБОЙ ИЗ 84
ВВЕДЕНИЕ
Каждая коммерческая организация старается вести точный и полный учёт своей деятельности. Не является исключением и компания, для которой разрабатывался данный комплекс программных средств.
Машины могут автоматизировать работу людей, лишь, будучи правильно запрограммированными.
Для ведения складского учёта используется программа 1С предприятие. Данная платформа была выбрана потому, что для её внедрения требуются относительно невысокие денежные и временные затраты. Кроме этого – данная программа поддерживается производителями фискальных регистраторов (которые используются на точках розничной торговли) и постоянно обновляется в соответствии с изменением законодательства.
В данной области торговли существует жесткая конкуренция. Каждая компания пытается сделать покупку для своего покупателя максимально удобной, быстрой и приятной.
1 ПОСТАНОВКА ЗАДАЧИ НА ПРОЕКТИРОВАНИЕ
1.1 Назначение и цели создания программного комплекса
Назначение и цели создаваемого программного комплекса:
- автоматизация хозяйственно – учётной деятельности предприятия посредством компьютеризации удалённых магазинов,
- автоматизация работы с покупателями на удалённых торговых точках,
- автоматизация работы с покупателями через Internet портал,
- предоставление информации о предприятии, его торговых точках и его ассортимента через Internet.
Задачи Интернет портала:
- Рассказать о предприятии широкому кругу заинтересованных лиц, дать полную информацию по центральному офису и торговым точкам (адреса, телефоны, время работы, схемы проезда),
- Дать покупателю возможность ознакомиться с ассортиментом и ценами компании в удобной форме,
- Дать менеджерам возможность публиковать новости, информируя покупателей (оптовиков),
- Обеспечить возможность заказа покупателем-оптовиком товара,
- Закачивание прайс–листа по указанной группе товаров,
- Отправка текстового сообщения выбранному должностному лицу любым человеком через web интерфейс,
- Ведение статистики посещаемости.
Дополнительные требования, предъявленные руководителем предприятия:
- Ведение статистики по просмотру товаров (выяснить – какие группы товаров интересуют WEB пользователей больше, а какие – меньше),
- Каждый покупатель – оптовик имеет свой пароль, свой прайс, свои полномочия,
- Неавторизированный покупатель видит товар, имеющийся на розничных точках, но не может просмотреть его количество. Цену для всех товаров отображать по первому прайсу (чем больше номер прайса, тем меньше его цена),
- Авторизированный пользователь видит лишь товар на оптовом складе. Также – без конкретизации по количеству. Почему так – рассказано далее,
- Прайс должен скачиваться в соответствии с полномочиями пользователя (два предыдущих пункта). Авторизированный пользователь, наделённый правами просмотра количества должен получить прайс с отражёнными остатками по всем имеющимся товарам,
- Не производить контроль количества запрашиваемого товара и его наличия. Если на остатке значится 10 позиций, а авторизированный пользователь пытается выписать 20, то не выводить ошибку «отсутствует нужное количество», а продолжить оформление заказа. Это сделано в связи с тем, что ассортимент большой и на складе (получатель сформированного заказа) оформят продажу 10 позиций, после чего свяжутся с покупателем, объяснят, что товара не хватает и предложат его аналоги, дабы он добрал до 20 штук. Такова политика предприятия, позволяющая таким образом поднять продажи.
1.2 Что было до внедрения АИС.
Локальная сеть с программой «1С», работающей в терминальном режиме. Менеджеры меняли цены, оптовый склад делал реализации покупателям. Товар на удалённые точки оформляется как перемещение на другой склад. Весь количественный учёт в магазинах вёлся на бумаге. Раз в несколько дней данные «документы» поступали в центральный офис, где работница забивала на компьютере документ «реализация», тем самым списывая товар с соответствующего склада. Практически каждый день менеджеры меняют цены на товар. После чего они по телефону(или по базе) узнавали – есть ли данный товар в магазинах. Если есть, то они печатали ценники для магазинов. Работа эта кропотлива, в результате чего часто были ситуации, что цена на товар меняется, но магазины об этом не знают.
Теперь по работе с оптовыми покупателями. На каждый товар имеется несколько типов цен. Цена, по которой отпускается товар зависит от объёма либо текущего заказа, либо от того, сколько покупатель брал товара до этого. Получается – каждому покупателю нужен свой прайс-лист. Причём именно по интересующей его группе товаров. Точное количество остатков на складе - коммерческая тайна. Но есть привилегированные покупатели, которым можно показать остатки. Много времени уходило на то, чтобы сформировать отчёт-прайс в 1С, экспортировать в таблицу MS Excel и отправить покупателю по электронной почте. Политикой что кому показывать руководит один человек - начальник предприятия.
Весь этот процесс требовалось автоматизировать, разгрузив персонал от рутины, сделать покупку для покупателя максимально удобной и тем самым выделиться среди конкурентов (а конкуренция в этой области очень жесткая). Кроме того – фирма относительно молодая, сеть розничных магазинов растёт (за полгода с 2 до 4), штат работников растёт, увеличивается количество компьютеров, оборот продаж.
1.3 Структура компьютерной сети предприятия
Немаловажную роль играет структура компьютерной сети предприятии. От её топологии зависит вся дальнейшая разработка программного комплекса. Протокол взаимодействия локальной сети: TCP-IP.
Схема локальной сети показана на рисунке 1:

Рисунок 1 – Схема локальной сети предприятия
1.4 Выбор программных средств и технологий взаимодействия
Благодаря развитому на сегодняшний день в России компьютерному пиратству мы пока что имеем возможность свободно выбирать платформу и среду программирования, не смотря на финансовую составляющую покупки данных программных продуктов.
Все используемые программные средства более подробно будут рассмотрены далее. Сейчас я хочу описать – почему же я остановился именно на них. Ведь на прилавках наших магазинов есть из чего выбирать.
1.4.1 Выбор СУБД для автоматизации хозяйственно-складской деятельности и построения распределённой БД
«1С Предприятие» 7.7 выбрано программой для построения складского учёта, так как на сегодняшний день у фирмы 1С в этой области практически нет конкурентов. 1С – программа для ОС Windows. Все компьютеры предприятия работают на платформе Windows (XP Professional или Server 2003). Используется система 7.7, а не 8 так как учёт был поставлен до появления на широком рынке версии 8, которая до сих пор не получила широкого распространения (что не исключает, что за ней – будущее). Система обладает нужной гибкостью, масштабируемостью. Синтаксис встроенного языка не представляет сложности и для человека, не имеющего компьютерного образования. Производители заявляют, что система поддерживает логику объектно ориентированного программирования. Но это всё же не так. Программирование – процедурное. Некоторые средства массовой информации причисляют язык 1С к языку 4 уровня, с чем я конечно же тоже не соглашусь. Не хватает гибкости. Основной вариант, который можно рассматривать в качестве альтернативы 1С – это создание самостоятельного продукта. Данный подход требует наличие высококвалифицированного персонала. Для процесса разработки, внедрения и модернизации потребуется больше времени. Но эффективность его использования на мой взгляд была бы выше, так как в системе не было бы ничего лишнего. Выбирать мне особо не приходилось, так как использование 1С началось до моего появления на фирме. Хочется отметить, что конфигурация дорабатывается не только мной, но и информационным отделом фирмы «Столица», с которыми у нас заключено деловое партнёрство. Что тоже повлияло на выбор.
Для создания распределённой БД также было решено использовать 1С, с нештатными средствами.
1.4.2 Выбор среды разработки
Данные с 1С надо получать, обрабатывать и предавать по локальной сети на WEB сервер. Кроме того, на Web сервере должен функционировать интернет сайт. Я решил использовать продукты компании Microsoft, которые лучше всего адаптированы под операционную систему MS Windows, быстры и надёжны.
На сегодняшний день серьёзную конкуренцию MS Visual Studio составляет компания Borland со своими продуктами – Delphi и Builder. В плане простоты изучения данные средства разработки может быть и проще, не зря ведь в институтах и школах именно на них идёт обучение студентов и школьников. Но в плане ясности, отказоустойчивости, широте охвата областей программирования и документированности(MSDN) – MS Visual Studio – вне конкуренции. Кроме того – я могу в одной графической оболочке разрабатывать две разнородные компоненты своей системы – Web Service и Web Application.
В моём распоряжении оказалась Beta версия Visual Studio 2005, которую, я и решил использовать. Опыта программирования в данной среде у меня практически не было. Русскоязычных ресурсов по версии 2005 очень мало, в релизе возможны существенные изменения вплоть до того, что уже написанные приложения в beta версии перестанут функционировать. Но есть и преимущества. На 9 семестре в рамках дисциплины я писал лабораторную работу с использованием Visual Studio 2003 и . В новой версии (ASP 2.0) появились новые компоненты, были доработаны старые. Приятно удивил меня GridView своими возможностями. Считаю выбор оправданным. Никаких нареканий к стабильности работы, скорости работы и других характеристик полученных программных продуктов не имею.
1.4.3 Передача данных через локальную сеть
Было решено использовать связь «Web Служба» --> « приложение». Данная связка позволяет установить приложение на сервере с программой 1С, которое будет из вне доступно по протоколу HTTP, передавая данные по 80 порту в XML формате. Данная технология позволяет скрыть от конечного пользователя всю сложность преобразования данных из одного вида в другой и обратно. В моём случае используется относительно небольшой объём кода. Для доступа к данным используется технология .
1.4.4 Выбор языка программирования
MS Visual Studio позволяет вести разработку на одном из языков программирования: C#, C++, Java, Basic. Я везде использовал C#. C# перенял лучшее от Java и C++, автоматизировал работу с памятью, которую компилятор теперь берёт на себя. Синтаксис практически не отличается от C++ и непосредственно написание программного кода занимает меньше времени.
1.4.5 Выбор СУБД для Web сервера
В качестве сервера баз данных был использован MS SQL Server 2000. Первоначально предполагалось использование MS Access, но Access – настольная (одна программа на один компьютер) система управления данными, а SQL Server – одна из мощнейших сетевых СУБД с возможностью параллельной работы множества пользователей. Высокая скорость обработки, выборки, изменения данных посредством SQL запросов ставит SQL сервер выше всех конкурентов. Конкуренцию может составить Oracle, но данная СУБД предназначена для решения более глобальных задач. В моём случае данных относительно мало. Такое количество данных легко выдержит любая СУБД, но требуется высокая скорость обработки запросов и возможность работы в многопользовательском режиме. Версию я выбрал 2000, а не 2005 в связи с тем, что 2000 менее требовательна к ресурсам компьютера, а нововведения 2005 мне бы не пригодились. Описание СУБД MS SQL Server, благодаря которому можно понять всю мощь выбранной системы можно найти далее.
1.5 Описание средств разработки
В данном разделе я опишу все программные продукты, выбранные выше. Постараюсь выделить лишь самые значимые моменты для работы АИС и моменты, важные для разработки ПО.
1.5.1 «1С Предприятие». Конфигурация «Торговля и склад»
Программа "1С: Предприятие 7.7" , в частности продукт "1С: Торговля и склад", представляет собой недорогую, но надежную и достаточно функциональную систему, с помощью которой можно решать большинство учетных задач, стоящих перед предприятием.
Программный продукт "1С: Торговля и склад 7.7" предназначен для учета любых видов торговых операций. Благодаря своей гибкости и возможности настройки, система «1С: Торговля и склад 7.7» способна выполнять все функции учета – от ведения справочников и ввода первичных документов до получения различных ведомостей и аналитических отчетов.
Программа "1С: Торговля и склад 7.7" автоматизирует работу на всех этапах деятельности предприятия.
Я не считаю программирование в 1С высококвалифицированной работой. Трудность представляет полное понимание предметной области, грамотная постановка задачи, составление алгоритма и составление запросов на языке запросов 1С. Не случайно ведь есть много «программистов 1С», абсолютно не знающих основ баз данных, но решающих поставленные перед ними задачи. Такие «специалисты» являются очень узкоспециализированными.
"1С:Торговля и склад" содержит разнообразные средства для связи с другими программами.
Возможность импорта и экспорта информации через текстовые файлы позволит обмениваться данными практически с любой программой.
Кроме этого, встроенный язык содержит средства работы с файлами формата DBF.
Также "1С:Торговля и склад" поддерживает современные средства интеграции приложений: OLE, OLE Automation и DDE.
«1С» система обладает нужной гибкость и настраиваемостью. "1С:Торговля и склад" может быть адаптирована к любым особенностям учета на конкретном предприятии. В состав системы входит Конфигуратор, который позволяет при необходимости настроить все основные элементы системы:
- редактировать существующие и создавать новые необходимые документы любой структуры,
- изменять экранные и печатные формы документов,
- создавать журналы для работы с документами и произвольно перераспределять документы по журналам для эффективной работы с ними,
- редактировать существующие и создавать новые справочники произвольной структуры,
- редактировать свойства справочников: изменять состав реквизитов, количество уровней, тип кода, диапазон проверки уникальности кода и другое,
- создавать регистры для учета средств в любых необходимых разрезах,
- создавать любые дополнительные отчеты и процедуры обработки информации,
- описывать поведение элементов системы на встроенном языке.
Такое большое количество возможностей увеличивает и сложность работы системы в целом. Объектная модель в 1С построена слабо, что даёт такие негативные последствия как:
- сложность изменения объектов системы в связи с их не ясными связями с другими объектами системы,
- сложно ясно и всеобъемлюще представить работу приложения в целом (особенно при вмешательстве сторонних разработчиков - доработчиков).
"1С: Торговля и склад" поддерживается производителями торгового оборудования. Вместе с оборудованием идут драйвера и описание способов управлением оборудованием из системы 1С.
Внутреннее устройство 1С. Все вводимые данные хранятся в файлах *.DBF в указанном каталоге. Названия файлов не несут никакой смысловой нагрузки. Проследить связь между файлами данных не представляется возможным. Все аспекты работы системы с данными скрываются за объектной моделью. Работая с одним справочником, пользователь (разработчик) может и не догадываться, что изменяется более 3 файлов dbf. Данные файлы имеют формат «DBASE IV», что позволяет открывать их посредством технологии «», задавая соответствующим образом строку подключения.
В 1С имеется встроенный язык программирования. Синтаксис схож с языком программирования «Basic». Само программирование в 1С имеет много общего с программированием макросов для Microsoft Office. Все операторы на русском языке (хотя имеются и их англоязычные синонимы). Обмен данными между приложениями возможен через тестовые файлы, файлы XML (используется сторонняя компонента), файлы формата «Dbase IV» и OLE. В своей работе я использовал работу с файлами «*.dbf» для обеспечения связи с удалёнными точками и работу системы 1С в качестве OLE сервера для поставки данных WEB службе. Система 1С позволяет разрабатывать дочерние формы – внешние обработки. Таким образом обеспечивается взаимодействие программы с пользователем – через формы, создающиеся в окне приложения «1С Конструктор»(программа для программирования 1С).
Хотелось бы остановить внимание на структуре конфигурации. Сама конфигурация находится в определённом каталоге, в котором кроме файлов «*.dbf» c данными находится файл «1Cv7.md» – ядро программы. В нём хранятся все программные модули, от которых зависит функционирование системы. Кроме этого из 1С имеется возможность загрузки так называемых «внешних форм» - файлов с расширением «ert». Этот файл содержит Windows форму и модуль обработки событий этой формы (можно ещё причислить – отчёты, они же – таблицы, которые также могут содержаться в файле обработки). Внешней обработке, как и встроенной, доступны все объекты системы 1С. Использование обработок позволяет проводить действия с системой, не изменяя ядро. Обработка работает в одном адресном пространстве с ядром программы.
Для ускорения выборки данных компания 1С рекомендует использовать везде, где можно – запросы. Запросы пишутся на особом языке запросов 1С, овладеть которым не просто. При разработке они активно использовались. Запросы позволяют производить выборку данных, в десятки раз превосходя по скорости аналогичные алгоритмы, основанные на переборе записей. Модификации посредством запросов не предусмотрены.
Особенностью конфигурации «Торговля и Склад» является использование таких объектов, как «Регистр». «Регистр» представляет собой накопительную структуру, данные в которой изменяются при проведении документов. Это позволяет увеличить скорость получения данных. Не требуется пересчитывать данные документов, а нужно обратиться к «Регистру». Например, есть у нас регистр «ОстаткиТМЦ» и документы, которые изменяют атрибут «Количество» для указанной номенклатурной позиции в этом регистре - либо увеличивают значение, либо уменьшают его в зависимости от характера проведения операции (Реализация и возврат покупателю – уменьшает остаток, а поступление – увеличивает). Для получения количества нужно обратиться к свойству «Количество» данного регистра.
1.5.2 MS SQL Server 2000
Microsoft SQL Server 2000 нацелен на решение широкого круга задач во всех областях бизнеса, в том числе и в электронной коммерции.
Преимущества:
- Полная web-ориентированность. Осуществление запросов, анализ и управление данными через Интернет. Использование языка XML для обмена данными между удаленными системами. Простой и безопасный доступ к данным с помощью web-браузеров с использованием межсетевого экрана, быстрый поиск необходимых документов. Анализ потоков данных и получение информации о пользователях, в том числе и через Интернет,
- Масштабируемость и надежность. SQL 2000 Server обеспечивает практически неограниченный рост объемов данных за счет увеличения надежности и масштабируемости системы, используя все преимущества мультипроцессорной обработки данных,
- Скорость построения решений. SQL 2000 уменьшает время создания, развертывания и выхода на рынок современных приложений для задач бизнеса, электронной коммерции, использует встроенный отладчик T-SQL. Совершенствует и ускоряет процесс поиска данных, упрощает управление, позволяет использовать создаваемые пользователем функции в других приложениях, предоставляет широкие возможности для создания web-приложений,
- Рекордные показатели скорости. Еще до окончательного выхода на рынок система на «Windows 2000», «SQL 2000 Server» установила новый мировой рекорд по производительности, далеко опередив конкурирующие решения на различных платформах.
Это из официального описания системы. В данной работе особо пригодились такие средства как «Query Analyzer» и «SQL Profiler». Использование последнего помогло отладить работу с базой через SQL запросы. Нельзя не отметить то, что связка SQL Server < –-- > хорошо проработана и оптимизирована компанией «Microsoft», что положительно сказывается на скорости обработки запросов и получения результатов. В «Visual Studio» для работы с «MS SQL Server» даже созданы специальные классы (их имена начинаются с SQL).
Сравнивая данную систему с InterBase в плане удобства работы – с SQL Server работать приятней – всё проще и наглядней. При разработке помогают Wizard’ы.
Также имеется очень мощная система T-SQL, позволяющая смешивать синтаксис SQL запросов с алгоритмическим языком, что позволяет перенести большую часть расчётов на сторону SQL сервера (хранимые процедуры).
1.5.3 MS Visual
В этом разделе будет рассказано о новейших технологиях, используемых в данной работе, за которыми, по мнению компании разработчика, бедующее (т. к. компания Microsoft не даёт альтернативы, медленно сворачивая поддержку «устаревших» технологий).
Когда говорят о. NET языках, прежде всего подразумевают C# - язык появившийся вместе с первой версией «.NET Framework» и являющийся основным языком «.NET». Почему это там, можно вести длительные споры и приводить множество аргументов, но основным из них будет то, что язык специально создавался под новую платформу, поэтому с момента своего рождения он поддерживал все концепции платформы. NET. Не раз в компьютерной прессе были публикации по поводу того, что C# - это Java от Microsoft (дабы отойти от компании Sun). Всё, что можно было упаковать в классы, было в них и упаковано.
Были использованы такие средства программного комплекса Visual Studio 2005 beta как:
- WEB службы. Среда разработки Visual Studio .NET представляет собой полный набор средств для быстрой разработки и интеграции WEB - служб XML, позволяющий существенно повысить производительность труда разработчиков и открывающий новые возможности развития бизнеса. Передача данных через сеть теперь не представляет никакого труда. Visual Studio .NET избавляет от необходимости углубляться в структуру XML (Это позволяет написав минимум кода, получить приложение со сложной внутренней функциональностью) и вникать в сложности веб-служб, позволяя разработчикам создавать и использовать веб-службы точно так же, как любые другие компоненты,
- Написание приложения. Хочу уточнить, что приложение было создано на. NET Framework 2.0 и 2.0. Первый русскоязычный хостер заявил о поддержке второй версии только в начале июня 2005 года. С каждой версией появляются новые и новые компоненты, позволяющие строить сайт из «кирпичиков», минимизируя написание программного кода конечным разработчиком. С использованием сайт можно сделать в минимальные сроки по сравнению с другими языками Web программирования,
- Доступ к данным посредством . Использовался доступ к таким поставщикам данных как – MS Excel (через Jet), Dbase IV, MS SQL Server,
- Доступ к COM объектам через позднее связывание. Надо заметить – что данная технология уже считается устаревшей и программная реализация работы с COM объектом моего типа в MSDN помечена как «новое, не является конечным вариантом».
2 ФУНКЦИОНАЛЬНАЯ ЧАСТЬ
2.1 Общее функционирование системы на базе «1С»
Все магазины компании оформлены как отдельные юридические лица, у которых соответственно и своя налоговая отчетность и свой учёт.
Работа с ними осуществляется следующим образом: в системе 1С Предприятие создаётся документ «Реализация», в котором на каждый товар устанавливается цена с самой минимальной наценкой. Далее товар отвозится на удалённую точку, на которой приходуется и отпускается по цене повыше (по другому прайсу).
Отпускная цена регулируется менеджерами, которые работают с центральной базой.
Было принято решение – установить на каждую точку систему 1С предприятие, где ядро - копия центральной базы. Данное действие было проделано – на все точки, закуплены компьютеры, установлена система 1С, заполнены должным образом справочники. Для правильного функционирования распределённой базы требуется обеспечить:
- автоматическое создание новых позиций номенклатуры в удалённой в базе, если пришедший товар ранее не проходил через данную точку,
- перенос отпускных цен для магазина,
- автоматическая печать ценников на удалённой точке для новых товаров или товаров, на которые цены изменились.
В качестве носителя информации было принято решение использовать внешний носитель информации типа «flash» по следующим причинам:
- надёжность,
- долговечность,
- отсутствие необходимости использовать дополнительное оборудование (последовательными разъемами (USB) снабжены все материнские платы, выпускаемые в последние пять лет),
- невозможность использования глобальной компьютерной сети Internet (в ближайшем будущем планируется провести Internet к каждой точке и использовать его для передачи данных).
Формат используемых для переноса файлов – «DBF».
2.2 Функции создания и поддержания распределённой БД
Распределённую базу данных было решено построить путём тиражирования данных с центральной базы на удалённые компьютеры.
Информационно-функциональная схема работы с удалёнными точками представлена на рисунке 2.

Рисунок 2 – ИФС «Работа с удалёнными точками»
2.3 Функции для переноса данных с сервера приложений 1С на WEB сервер (SQL Server)
Схема переноса представлена на рисунке 3.

Рисунок 3 – Схема переноса данных с сервера приложений 1С на WEB сервер (SQL Server)
Данный этап – один из самых сложных в работе данной АИС. Перед тем, как описать средства и порядок разработки подсистемы переноса данных необходимо показать – какие данные мы переносим и в каком количестве.
Схема связи справочников при переносе показана на рисунке 4.

Рисунок 4 – Схема связи справочников при переносе
Концептуальная схема переноса представлена в приложении А.
2.3.1 Функции WEB службы
Web служба представляет собой интерфейс для сетевого доступа через протокол HTTP к исполняемому коду на стороне сервера.
Исполняемый код хранится в файле с расширением «asmx»(в нашем случае это файл «Service. asmx». С программным кодом можно ознакомиться в приложении Б.
Доступ к данному файлу указывается в IIS как к обычному WEB сайту. Доступ к функциям Web службы может быть осуществлён и из WEB браузера через автоматически генерируемую HTML страницу.
Как показано на рисунке 5 порядок работы моей WEB службы таков:
а. получает запрос от приложения,
б. обращается к 1С как к COM объекту. В 1С выполняются процедуры, сохраняющие результат своей работы в DBF файлы,
в. подключение к DBF файлам посредством , перекачка данных в структуру DataTable,
г. сериализация DataTable и отправка структуры запрашивающему приложению.
Код процедур, добавленных в глобальный модуль системы 1С показан в приложении В. Как из него видно – данные процедуры работают по схожим алгоритмам:
а. Выборка данных из БД посредством запросов
б. Незначительная обработка полученных данных (например – расчёт динамических цен через глобальную функцию системы, замена кода прайса на порядковый номер)
в. Перебор результата и сохранение в DBF файл.
Функция «ПарамПоИмени» используется для хранения параметры выгрузки (имена файлов и каталогов) в настроечном файле «nastr. txt», что даёт дополнительную гибкость разработанной системе.
Подход с использованием дополнительных «буферных» файлов DBF был использован в связи с невозможностью вернуть массив из 1С в вызвывающую WEB службу. В ходе разработки были перепробованы все возможные способы, но передать массив (в 1С нет массива как такового – есть «класс» «Таблица значений», используемый вместо него) так и не удалось. Многократно вызывать 1С не так эффективно, как использование глобальных процедур. В связи с невозможностью получать от 1С сложные типы данных, возвращение значений службой не использовалось.
Проблемы, возникшие при разработке и их решение:
- Безопасность COM. По умолчанию стоит запрет на использование COM объектов удалёнными пользователями. Поэтому на любую попытку обращения к COM объекту удалённому пользователю выдаётся сообщение, что доступ запрещён. Для решения данной проблемы следует установить разрешения в «Панель управления --> Администрирование --> Службы компонентов». Выбрать локальный компьютер, вкладку DCOM, найти объект 1С 7.7, прейти на вкладку его свойств и установить разрешение на использование данного COM объекта не только локальным пользователям,
- Разрушение объекта. После использования объекта его следует убрать из памяти. Но получается интересная ситуация – в MSDN написано, что объект будет автоматически разрушен после окончания его использования вызвавшим приложением. На практике же оказалось, что после окончания использования объекта, процесс «1cv7s. exe» остаётся висеть в памяти неопределённое время, которое может составлять от 1 до 30 минут. WEB служба обращается к 1С с использованием одного и того же имени пользователя и пароля. А в системе 1С нет возможности запустить два сеанса одного пользователя. При попытке повторного доступа с именем пользователя, который уже вошёл в систему - выдаётся ошибка. Для того, чтобы ускорить разрушение объекта, вызывается функция 1С объекта - «ExitSystem» - принудительное закрытие программы. Время разрушения уменьшается до 10 минут. При попытке повторного доступа в течении этих 10 минут к 1С, генерируется исключительная ситуация, которая отлавливается и выводится сообщение пользователю с просьбой подождать 15 минут до повторного обращения к 1С.
Особенности WEB службы, позволившие ускорить и упростить разработку:
- Скрытие от разработчика процесса сериализации передаваемого набора данных в XML формат и передача запрашивающему приложению результата в XML формате,
- Как видно из программного кода службы (приложение Б) разработка функций сервиса ничем не отличается от разработки функции какого – нибудь приложения на C#. Чтобы функция (или процедура) была доступна для вызова из вне, перед ней должны стоять ключевые слова «[WebMethod]». Итого, получается что для работы сервиса нужно создать лишь несколько функций, возращающих результат заданного типа,
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


