Выпускная квалификационная работа (ВКР): «Автоматизированная система управления товарными запасами предприятия по производству и установке натяжных потолков» - Part 10

Выпускная квалификационная работа (ВКР): «Автоматизированная система управления товарными запасами предприятия по производству и установке натяжных потолков»

Глава 3 Реализация системы

3.1 Выбор архитектуры разрабатываемой системы

Выбор архитектуры создаваемой системы является основным этапом в процессе разработки программного обеспечения. Создаваемая подсистема является частью внедряемого программного продукта «1С: УНФ». Данная конфигурация предназначена для работы в двух вариантах:

  • файловый вариант представляет собой вариант, где все данные информационной базы расположены в файловой СУБД и хранятся в одном файле на диске;
  • клиент-серверный вариант предполагает взаимодействие с сервером, на котором развернуты одна из поддерживаемых «1С: СУБД» и взаимодействие происходит по средствам кластера серверов. 

В нашем случае выбран клиент-серверный вариант работы, так как сервер «1С: Предприятие 8.3» уже имеется у организации и базу данных можно развернуть на MS SQL сервере, который тоже используется в работе.

3.2 Разработка системы и объектов конфигурации

Основным элементом в работе подсистемы синхронизации данных является связь между двумя базами. Для реализации связи между базами используем прикладной объект 1С прототипа «Общие формы». На рисунке 17 представлен вид формы настройки подключения к базе данных программы ЕС в пользовательском интерфейсе.

Рисунок 17 – Форма настройки подключения к базе ЕС

Данная форма связана с регистром сведений «ecПараметрыПодключенияКБД», который хранит настройки подключения, введенные администратором системы. Все запросы к базе данных ЕС будут обращаться к данному регистру и получать таблицу значений с сохраненными данными. Для возврата настроек реализована экспортная функция «ПолучитьДанные()». Ключевое слово «Экспорт» придает функции видимость в глобальном контексте, ее можно вызвать из любого места в конфигурации. На рисунке 18 представлена схема взаимодействия формы с регистром сведений. Реквизиты формы и ресурсы регистра имеют одинаковые названия и типы данных.

Рисунок 18 – Схема взаимодействия формы и регистра настроек БД

Форма «ecПараметрыПодключенияКБД» имеет две процедуры, позволяющие записать данные в регистр сведений и проверить подключение к базе. На рисунке 19 представлен код процедуры «ПроверитьСоединение(Команда)». Первым этапом процедура «СохранитьДанныеНаСервере()» сохраняет введенные пользователем данные для подключения в регистр сведений «ecПараметрыПодключенияКБД». Вторым этапом процедура «ПроверитьСоединениеНаСервере(СУБД)» и вложенные в нее процедуры и функции выполняют тестовое подключение к базе [8]. Если подключение выполнено успешно, то выполнение переходит к оповещению «ПоказатьПредупреждение», иначе в результате проверки будет вызвано исключение с описанием ошибки и выведется пользователю на экран [14].

Рисунок 19 – Код процедуры «ПроверитьСоединение(Команда)»

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

Обмен всей общей информацией будет доступен для ручного запуска. На рисунке 20 показана общая форма обмена данными. Основная настройка большинства вкладок – это направление обмена. Направление обмена позволяет выбрать, из какой в какую базу будет вестись обмен, и дает возможность синхронизировать необходимые данные в обе стороны. Также доступен локальный переключатель автоматического обмена для каждой вкладки, имеющей опцию направление обмена.

Рисунок 20 – Общая форма обмена данными

Вышеописанные формы являются главной частью настроек создаваемой подсистемы, для удобства они объединены и размещены в общих настройках программы УНФ в разделе «Администрирование» – «Больше возможностей: настройка программы». На рисунке 21 представлен общий вид настроек подсистемы.

Рисунок 21 – Общий вид настроек подсистемы

На рисунке 21 видно, что реализован переключатель «Использовать ПО «EasyCeiling», который активирует всю подсистему обмена между базами. Настройка «Автоматический обмен данными с EasyCeiling» является глобальным переключателем автоматического обмена информацией, связан с локальными переключателями каждой из вкладок общей формы обмена (см. Рисунок 20) и активирует регламентное задание, которое запускает обмен по настроенному администратором расписанию.

Одним из основных объектов обмена является справочник «Номенклатура». Данный справочник содержит информацию о товарных позициях, должен содержать данные для синхронизации и информацию, полученную после обмена. Для реализации обмена необходимо доработать имеющийся справочник в конфигурации УНФ. Для этого добавим интересующие нас реквизиты. На рисунке 22 представлена форма элемента номенклатуры с добавленными элементами, выделенными красной рамкой.

Элемент «ecID» является контейнером для информации, полученной после обмена, в него будет записан уникальный номер из базы данных программы ЕС. Все остальные элементы содержат данные для синхронизации, необходимые для корректного добавления данного элемента в программу ЕС. На рисунке 23 представлены процедуры управления видимостью элементов, а также процедура и часть кода программного добавления элементов на форму.

Рисунок 22 – Форма элемента номенклатуры с добавленными элементами

Рисунок 23 – Процедуры управления видимостью и добавлением элементов

Подобным образом реализовано добавление элементов, необходимых для синхронизации в других справочниках и документах.

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

На рисунке 25 представлен основной код автоматического создания заказа в чертежной программе ЕС. Клиентская процедура «ecСоздатьЗаказ» вызывает серверную процедуру «ecСоздатьЗаказНаСервере», в которой выполняются основные проверки состояния заказа, наличия выбранного контрагента и даты отгрузки. Если проверки не пройдены, пользователь увидит сообщение, иначе начнет выполняться процедура «ЗаказПокупателяВыгрузить», которая используется как при создании нового заказа в программе ЕС, так и при обновлении данных по измененному заказу в ЕС. В обоих случаях выполнится итоговая процедура «ОтправитьДанныеВEasyCeiling», однако флаг «Довыгрузка», который может принять значения «истина» или «ложь», сообщит процедуре, какой запрос следует выполнить – запрос создания или обновления.

Рисунок 24 – Форма заказа покупателя с добавленными элементами

Рисунок 25 – Основной код автоматического создания заказа в ЕС

Все запросы синхронизации для работы с базами будут расположены в модуле обработки «ЗащищеннаяФункциональность», которая будет содержать однотипные функции, из названия которых можно понять какой именно запрос хранит данная функция [5]. На рисунке 26 представлена часть готового кода из модуля обработки «ЗащищеннаяФункциональность».

Рисунок 26 – Часть кода обработки «ЗащищеннаяФункциональность»

Механизм выбора нужных запросов реализован по принципу составного идентификатора запроса, который получается в ходе выполнения иерархии процедур и функций из различных объектов конфигурации и передается функции «ПолучитьМассивЗапросовПоИдентификатору», которая сравнивает полученный идентификатор по готовому условию. На рисунке 27 представлена часть кода функции «ПолучитьМассивЗапросовПоИдентификатору».

Рисунок 27 – Код функции «ПолучитьМассивЗапросовПоИдентификатору»

Данный механизм удобен в использовании и при необходимости быстро расширяется новыми идентификаторами и соответствующими им запросами [9].

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12