Диплом: Автоматизация обработки заявок ООО "Восток-Проект"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
52
Таблица 15
Структура справочника «Поставщики»
Реквизит
Тип данных
Код
Числовой
Наименование
Текстовый
Адрес
Текстовый
Телефон
Текстовый
ИНН
Текстовый
РасчСчет
Текстовый
Банк
Текстовый
Таблица 16
Структура справочника «Товары»
Реквизит
Синоним
Тип данных
Код
Код
Числовой
Наименование
Наименование
Текстовый
Артикул
Артикул товара
Текстовый
Поставщик
Поставщик
СправочникСсылка.Поставщики
ЦенаПродажи
Цена продажи
Числовой
ЦенаПоставщика
Цена поставщика
Числовой
Табличная часть «Характеристики»
Характеристика
Характеристика
Текстовый
Значение
Значение
Текстовый
Таблица 17
Структура документа «Заявка»
Реквизит
Синоним
Тип данных
Номер
Номер
Числовой
Дата
Дата
Дата
Клиент
Клиент
СправочникСсылка.Клиенты
Договор
Договор
СправочникСсылка.Договоры
СрокПоставки
Срок поставки
Дата
СтатусВыполнения
Статус выпол-
нения заявки
СправочникСсылка. СтатусыВыпол-
нения
ПричинаНевыполнения
Причина невы-
полнения заяв-
ки
СправочникСсылка. ПричиныНевы-
полнения
Табличная часть «Заказано»
Товар
Товар
СправочникСсылка.Товары
Количество
Количество
Числовой
Цена
Цена
Числовой
Стоимость
Стоимость
Числовой
Табличная часть «Статус заявки»
Статус
Статус заявки
СправочникСсылка.СтатусыЗаявок
Дата
Дата изменения
Дата
Таблица 18
53
Структура документа «Реализация»
Реквизит
Синоним
Тип данных
Номер
Номер
Числовой
Дата
Дата
Дата
Клиент
Клиент
СправочникСсылка.Клиенты
Заявка
По заявке
ДокументСсылка.Заявки
Выполнение
Дата выполнения
Дата
Табличная часть «Поставлено»
Товар
Товар
СправочникСсылка.Товары
Замена
Замена заказанному
СправочникСсылка.Товары
Количество
Количество
Числовой
Цена
Цена
Числовой
Стоимость
Стоимость
Числовой
Таблицы 6-10 должны быть реализованы не в виде перечислений, а в виде
справочников, поскольку принципиально возможно добавление или модификация
элементов списка. Справочники и документы, имеющие табличную часть, в реля-
ционной модели должны быть разбиты на две таблицы в соответствии с 1 нормаль-
ной формой.
Взаимосвязь таблиц информационной базы показано с помощью ER-модели
базы данных (рисунок 18).
Рисунок 18 – ER-модель базы данных
2.3.3. Структурная схема пакета (дерево вызова программных модулей)
54
Реализация информационной системы в среде 1С:Предприятие подразумева-
ет, что основные программные модули будут размещены в модуле приложения
(глобальном модуле) при необходимости, а также в модулях форм и модулях объ-
ектов [10].
В системе 1С:Предприятие модуль приложения предназначен для того, что-
бы отловить моменты запуска приложения (загрузки конфигурации) и завершения
его работы. И в соответствующих событиях можно расположить процедуры про-
верки. Для данной системы наличие таких обработок не требуется.
Модуль формы предназначен он для обработки действий пользователя, т.е.
различных событий, связанных с вводом данных и обработкой корректности их
ввода. В данных модулях будут выполняться действия по расчету стоимости, опре-
деления занятости мест и т.д. Также в модулях формы реализуется формирование
печатной формы документа.
Модуль менеджера позволяет описать методы для объекта конфигурации,
которые относятся не к конкретному экземпляру объекта базы данных, а к самому
объекту конфигурации.
Каждой форме элементы информационной базы соответствует модуль, в ко-
тором выполняются действия над данными формы или по управлению интерфей-
сом. Модули справочников описаны в таблице 19.
Таблица 19
Модули справочников системы
Справочник
Процедуры модуля
Договора
Печать договора: формирование печатной формы до-
говора с клиентом
Клиенты
Изменение формы: удаление и добавление реквизи-
тов с формы в зависимости от значения ЮрФизЛицо
Модуль документа «Заявка» содержит ряд процедур, описанных в таблице
20.
55
Таблица 20
Процедуры модуля документа «Заявка»
Процедура
Описание
ЗаполнениеЗаявки
Заполнение табличной части «Заказано» из
файла Excel. Процедура работает в соответ-
ствии с алгоритмом загрузки заявок
ГрафикВыполнения
Открытие отчета «График выполнения заявки»
с передачей в него текущей заявки
ОпределениеЦены
Определение цены и расчет стоимости товаров
при ручном заполнении заявки. Цена выбира-
ется из справочника «Товары»
Документ «Реализация» содержит документы как в модуле формы, так и в
модуле объекта (таблица 21).
Таблица 21
Процедуры модулей документа «Реализация»
Модуль
Процедура
Описание
Модуль объекта
ОбработкаПроведения
Изменение статуса выполнения
заявки при проведении доку-
мента «Реализация». Выполня-
ется в соответствии с алгорит-
мом автоматического выставле-
ния статуса заявки
Модуль объекта
ОбработкаЗаполнения
Заполнение документа по дан-
ным документа «Заявка» при
вводе на основании заявки
Модуль формы
ОпределениеЦены
Определение цены и расчет
стоимости товаров при ручном
заполнении заявки. Цена выби-
рается из справочника «Това-
ры»
Отчеты могут быть реализованы как с помощью реализованных алгоритмов,
так и с помощью системы компоновки данных СКД в том случае, если в основе от-
чета лежит запрос без алгоритмической обработки. В данном случае необходима
алгоритмическая обработка для отчетов:
- График выполнения заявки;
- Отчет по заявкам: алгоритмическая обработка необходима для определения
текущего статуса заявки.
Остальные отчеты строятся на основе запросов с использованием СКД.
Дерево вызова модулей показано на рисунке 19.
56
Рисунок 19 – Дерево вызова модулей
2.3.4. Описание программных модулей
В программных модулях необходимо реализовать два сложных алгоритма
обработки данных:
1. Алгоритм загрузки заявки из шаблона;
2. Алгоритм автоматического изменения статуса заявки.
Для реализации алгоритма автоматической загрузки заявки из шаблона в
первую очередь необходимо разработать шаблон заявки, который будет доступен
клиентам для заполнения. Шаблон должен быть реализован в файле, который мо-
жет использоваться любым клиентом и может быть отправлен по электронной по-
чте, скайпу или другому средству онлайн-сообщения. Для этого выбирается фор-
мат Excel как наиболее популярный формат электронных таблиц.
Шаблон файла заявки показан на рисунке 20.
Запуск
программы
Создание
документа
"Заявка"
Модуль
документа
"Заявка"
Создание
документа
"Релизация"
Модуль
объекта
Модуль формы
Создание
справочника
"Клиенты"
Модуль формы
Создание
справочника
"Договора"
Модуль формы
57
Рисунок 20 – Шаблон заявки
В заявку клиент должен вписать:
- Наименование клиента. Поскольку клиент не может знать точно наимено-
вание, под которым он занесен в информационную базу, это поле служит для кон-
троля информации.
- ИНН. Данное поле содержит уникальное значение, которое позволяет точ-
но идентифицировать клиент в информационной базе. По этому полю может быть
произведен поиск клиента для автоматической загрузки заявки.
- Номер договора. Если с клиентом заключен договор, он может вписать в
это поле номер договора. Тогда в заявку можно будет вписать номер договора, ав-
томатически найдя договор по номеру. Если клиент оставит поле пустым или не-
верно его заполнит, номер договора впишет менеджер, принимающий заявку.
- Количество позиций в заказе. Данное поле необходимо для контроля и
формирования нужного количества строк в документе «Заявка».
- Товар. В данном поле клиент вписывает наименование требуемого товара.
Данное поле необходимо для контроля выполнения загрузки заявки.
- Артикул. В данное поле клиент вписывает артикул товара. Который может
узнать из прайс-листа компании. Поскольку артикул однозначно идентифицирует
товар, то по этому полю будет производиться поиск товара при автоматической за-
грузке заявки.
- Количество. Клиент указывает количество требуемого товара, которое ав-
томатически переносится в заявку.
58
- Возможна замена. Данные поля не участвуют в автоматической загрузке,
они необходимы в том случае, если поставщик не может поставить требуемый то-
вар и заказывается другой товар, согласованный с заказчиком.
При наличии подобного шаблона, алгоритм загрузки заявки будет работать в
соответствии с блок-схемой, представленной на рисунке 21.
Начало
Получение файла Excel
Клиент=Ячейка [3,3]
Договор=Ячейка [4,3]
КолПоз=Ячейка [5,3]
Док=Новый Документ.Завка
Док.Клиент=Найти(Клиент)
Док.Договор=Найти(Договор)
Ц=1..КолПоз
НС=Док.НоваяСтрока()
НС.Товар=Найти(Ячейка[8+Ц,2])
НС.Количество=Ячейка[8+Ц,3]
НС.Цена=НС.Товар.ЦенаПродажи
НС.Стоимость=НС.Цена*НС.Количество
Док.Записать()
Конец
Рисунок 21 – Блок-схема алгоритма загрузки заявок
59
Работа алгоритма начинается с получения файла шаблона заявки в формате
Excel. Затем в переменные алгоритма считываются значения из соответсвующих
ячеек: Клиент – значение ИНН клиента, Договор – номер договора с клиентом,
КолПоз – количество позиций в заказе.
Затем создается новый документ «Заявка».
С помощь функции Найти() осуществляется поиск клиента по ИНН и дого-
вора по номеру. Поскольку поиск осуществляется по неключевым полям, то ука-
занная функция будет реализована с помощь SQL-запроса следующего вида (рису-
нок 22).
"ВЫБРАТЬ
| Клиенты.Ссылка,
| Клиенты.ИНН
|ИЗ
| Справочник.Клиенты КАК Клиенты
|ГДЕ
| Клиенты.ИНН = &ИНН";
Рисунок 22 – SQL-запрос на поиск клиента по ИНН
Затем организуется цикл с числом повторов, равным количеству позиций в
заказе КолПоз. На каждой итерации цикла создается новая строка документа и счи-
тываются значения из следующей строки таблицы заказа. С помощью SQL-запроса
реализуется поиск товара по артикулу, товар записывается в текущую строку до-
кумента. Также записывается количество товара из файла Excel. Цена продажи
подставляется из базы данных, стоимость вычисляется по формуле.
Сформированный по окончанию цикла документ записывается.
Второй алгоритм выполняет автоматическое изменение статуса заявки при
проведении реализации.
Заявка может иметь следующие статусы:
- Принята;
- Сформирован заказ поставщику;
- Получен заказ от поставщика;
60
- Ожидает оплаты;
- Выполнена.
При выполнении заявки необходимо определить статус выполнения:
- Выполнена полностью;
- Выполнена частично;
- Выполнена с заменами;
- Выполнена частично и с заменами.
Поэтому при проведении документа «Реализация» необходимо определить
статус заявки как «Выполнена», а статус выполнения определить в зависимости от
результата реализации.
Алгоритм основывается на следующих положениях, вытекающих из схемы
данных:
- если количество позиций в заявке больше, чем в реализации, значит заявка
выполнена не полностью (частично);
- если в реализации заполнен столбец «Замена заказанному» хоть для одной
строки, значит заявка выполнена с заменами.
Исходя из этих положений, блок-схема алгоритма автоматического измене-
ния статуса выполнения заявки выглядит в соответствии с рисунком 23.
61
Начало
Получение
документа
«Заявка»
КЗ=КоличествоСтрок(Заявка)
КР=КоличествоСтрок(Реализация)
КЗ>КР
Заявка.СтатусВыпо
лнения=
«Частично»
+
Заявка.СтатусВыпол
нения= «Полностью»
-
КП=КоличествоПустыхСтрок
(Реализация.ЗаменаЗаказанному)
КП=0
+
КЗ>КР
Заявка.СтатусВыпо
лнения= «Частично
и с заменами»
+
Заявка.СтатусВыпол
нения= «С
заменами»
-
-
Заявка.Статус= «Выполнена»
Конец
Рисунок 23 – Блок-схема алгоритма автоматического вы-
ставления статуса
Алгоритм начинает работу с получения заявки, по которой выполнена реали-
зация.
Затем с помощью встроенных функций языка 1С подсчитывается количество
строк в табличных частях документов «Заявка» и «Реализация». С помощью SQL-
запроса подсчитывается число строк в документе «Реализация», в которых пусто
значение в столбце «Замена заказанному».
Затем в зависимости от соотношений подсчитанных величин выставляется
статус выполнения заявки. Независимо от статуса выполнения, при проведении до-
кумента «Реализация» статус заявки должен поменяться на «Выполнена».

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)