выступление_v1. Сегодня я представляю вам свой проект "Стол заказов Хлебобулочного производства"
Скачать 20.41 Kb.
|
Титульный лист Сегодня я представляю вам свой проект "Стол заказов Хлебобулочного производства". Расширение конфигурации 1С "Бухгалтерия предприятия 3.0". Вступление Большинство из вас покупает хлеб в магазине, но никто не задумывался как он туда попадает. Как устроена доставка, и что из себя представляет производство. Какие трудности испытывают хлебопекарные предприятия при сборе и обработке заявок от потребителей. Пришло время поговорить об этом. Цели Основной целью разработки является: Автоматизация ввода и учета заявок потребителей в информационной системе и уменьшение трудозатрат при обработке заказов, за счет уменьшения количества выполняемых действий при работе с 1С Предприятие. Актуальность Самой популярной системой бухгалтерского учета является 1С «Бухгалтерия предприятия 3.0» и уже имеется у большинства предприятий. Она не позволяет вести учет заказов, в результате учет заказов ведется: в бумажном виде, в Excel, а кто-то пишет свои программы. Возможностей базовой конфигурации 1С "Бухгалтерия предприятия 3.0" не хватает для потребностей заказчика, поэтому было принято решение разработать «Расширение» дополняющее стандартный функционал конфигурации. Рассмотрим рынок программного обеспечения. Для автоматизации пекарен под 1с предприятие существуют два готовых решения: Первое основано на 1С ERP, предназначено для крупных производств, стоит очень дорого и не подходит малому бизнесу. Второе является прямым конкурентом моего проекта. Разработано кампанией «Рарус», называется «Бухгалтерия хлебобулочного и кондитерского предприятия». Сильными его сторонами, является хорошо проработанная производственная калькуляция, в то же время работе с заказами внимание уделено слабо. Модель Пекарни Как же устроена пекарня. Там, как и в любой организации есть директор, но речь сейчас не о нем. Нас интересуют: Бухгалтерия и диспетчерская, производство в составе: производственного цеха и склада материалов, экспедиционный отдел: склад готовой продукции, цех упаковки и транспорта. Процесс разработки Ранее я занимался разработкой объектно-ориентированных приложений на С++. Разработка на «1С:Предприятие» сравнима с ООП С++. Существуют абстрактные базовые классы они называются объекты конфигурации: Все методы базовых классов являются виртуальными, большинство из них требует перегрузки, то есть создания разработчиком собственного функционала в каждом методе. У объекта существуют статические методы они называются модуль менеджера, и динамические методы они называются модуль объекта. Для хранения данных в информационной системе требуется создать специальные объекты, наследники базовых классов. Я использую базовые классы справочники и регистры. Справочник – специальный объект, предназначенный для хранения в информационной системе редко изменяемых данных и не предназначен для ведения расчетов. Каждая запись справочника является уникальным объектом. В базе данных представлен одной или несколькими таблицами. Регистр – специальный объект, предназначенный для хранения в информационной системе оперативно меняющихся данных, для ведения расчетов и построения сводных структур данных. Каждая запись регистра имеет уникальность по набору полей, являющихся ключом. В базе данных представлен минимум одной таблицей. Рассмотрим пример как велась разработка на основе работы с заявками: Для внесения заявки потребителя в информационную систему мной разработаны структуры данных: справочник «контрагенты», справочник «организации», справочник «номенклатура», справочник «договоры контрагентов», справочник «точки доставки» и регистр сведений «заявки потребителей в обработке». Справочник «организации» – хранит данные о реквизитах организаций производителя. Справочник «контрагенты» – хранит данные потребителей, их реквизиты, ответственные лица и т.д. Справочник «договоры контрагентов» – хранит основания для расчетов с потребителями: оплата наличными в кассу, оплата по банковской карте, безналичный расчет, оплата с отсрочкой платежа. Справочник «Номенклатура» - хранит информацию о выпускаемой продукции. Справочник «точки доставки» – хранит названия и адреса, торговых точек контрагента Регистр сведений «заявки потребителей в обработке» – хранит текущий статус заявки, и всю историю его изменений. Для отражения в информационной системе физической заявки от потребителя, разработан документ «Заявка потребителя». Это специальный объект, наследник базового класса документы, предназначен для хранения в информационной системе оперативной информации на основе которой производятся расчеты. Документ может быть частично заполнен информацией из справочников и на основе документа заполняются регистры – этот процесс называется проведение документа. Пользователь (оператор информационной системы) для ввода информации использует специальные объекты интерфейса – формы и элементы управления. В быту мы называем их просто окнами, а элементы управления – кнопки, списки и так далее. Форма является наследником базового класса «формы». Для каждого объекта требуется разработать несколько форм – это форма списка, форма элемента и форма выбора. Так же бывают необходимы формы подбора. Простейший пример создания формы списка: Создается наследник базового класса форма. Создаются необходимые элементы управления для отображения информации пользователю. Создается реквизит формы с типом динамический список. Динамический список – представляет собой результат выборки данных на основе запроса. Разрабатывается запрос, который по определенным критериям выбирает данные из информационной системы и возвращает их в виде специального табличного объекта – выборки. Далее на основе этой выборки заполняем поля формы, для представления информации пользователю. Создание более сложных форм можем рассмотреть при необходимости. Построения сложных выборок на примере экспедиционного задания: Построение сложных выборок осуществляется на основе пакетов запросов с промежуточным создание виртуальных таблиц. В данном случаи итоговый запрос состоит из четырех пакетов. Из регистра «Готовность рейса», отбираются рейсы готовые к выезду и помещаются в виртуальную таблицу ВТ_ГотовностьРейса Следующим шагом путем объединения данных (полное соединение) из справочника «Рейсы» и виртуальной таблицы ВТ_ГотовностьРейса, формируется виртуальная таблица ВТ_Рейсы Следующим шагом на основе объединения данных (левое соединение) регистра «Заявки потребителей в обработке», документов «Производственное задание» и перечисления «Статусы заказов» отбираются заявки, попадающие в определенный интервал времени и требующие доставки, и помещаются в виртуальную таблицу ВТ_Заявки. Заключительным этапом является формирование выборки на основании объединения виртуальных таблиц (внутренние соединения) ВТ_Рейсы и ВТ_Заявки, с группировкой по итогам. Обработка полученной выборки полученой выборки, производится следующим образом: Создается объект данных структура, и массив элементами которого является эта структура. Обходя выборку по итоговым группам, на каждом шаге заполняются структура и помещается в массив Производится обход массива структур, и из каждой такой структуры, создается новый документ «Экспедиционное задание» и заполняется данными. Алгоритм приведенный выше реализует автоматическое формирование и заполнение документов «Экспедиционное задание» на сегодняшний день. В итоге работа диспетчера по подготовке документов на «десяток» рейсов сводится к нажатию одной кнопки. Проблемы и решения: Рассмотрим одну из проблем и ее решение: В процессе работы с информационной системой, очень часто один документ основывается на результатах работы другого. Этот процесс называется вводом на основании. Получается некая цепочка последовательных документов. Система допускает отмену проведения (удаление результатов деятельности) любого из документов в последовательности, и это никак не контролируется. Мной был разработан механизм названый «система последовательной отмены», создан виртуальный стек документов, на основе их статуса. Который позволяет отменять результаты только двигаясь назад, от вышестоящего документа. Планы развития: На текущий момент функционал, связанный со сложными производственными расчетами, находится в разработке: Составление производственной калькуляции Отпуском материалов Потребностью производства в материалах В результате разработки данной информационной системы: Изучил какие технологические и документальные процессы протекают в малом предприятии занимающимся выпечкой хлеба Разработал абстрактную модель работы хлебопекарного производства, подходящую для большинства пекарен. Выделил основные производственные процессы, которые необходимо автоматизировать Для каждого такого процесса, подготовил перечень документов, которыми этот процесс сопровождается Разработал и реализовал структуру хранения данных в информационной базе. Согласовал с пользователями и разработал формы интерфейса Разработал печатные формы документов Выделил и реализовал взаимосвязи между структурами данных для быстрого ввода информации Автоматизировал ввод и учет заявок потребителей в информационной системе В настоящий момент моя разработка уже используется на предприятии, она стала заменой ведению учета в Excel таблицах. Диспетчер по телефону принимает заявки и сразу вносит их в информационную базу. В течении дневной смены несколько раз составляется производственное задание и передается на склад материалов с разбивкой продукции по видам теста, для планирования ночного производства. К 22 часам после обработки всех заявок передаётся сводное (полное) производственное задание в ночную смену. Так же диспетчер формирует экспедиционные и упаковочные задания. Те возможности, которые уже есть на сегодняшний день, позволили сэкономить до 30% времени диспетчера, за счет замены большого количества однотипных действий в Excel на нажатие нескольких кнопок в программе. |