Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская

Организационная структура предприятия

Организационная структура предприятия является иерархической (древовидной). Во главе фирмы стоит генеральный директор. Он управляет всем предприятием, и ему подчиняются все службы, входящие в состав фирмы. Графическое представление организационной структуры предприятия представлено на рисунке 1

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 1 - Графическое представление организационной структуры предприятия

Выделим работников и фирмы и их функции:

- Руководство – управленческие функции, отчетность;

- Финансовый отдел – управление ценовой политикой;

- Мастера – сборка;

- Менеджеры - работа с клиентами, поставщиками;

- Маркетолог – планирование и анализ.

- Технический персонал (кладовщики, водители) – доставка, погрузка;

- Бухгалтерия и кассиры – расчет стоимости услуг, работа с платежами.

- Администратор - осуществляет функции формирования единой БД, формирования резервных копий БД, управления правами доступа к системе, осуществляет функции настройки системы.

Функциональная структура предприятия

Выделим основные подсистемы в структуре предприятия. Таковыми являются:

- Бухгалтерия.

- Работа с клиентами

- Планирование и анализ

1) «Бухгалтерия»: расчет и формирование платежных документов; расчет и формирование накладных и счетов-фактур; расчет заработной платы; учет текущей документации; учет пенсионного фонда; расчет и формирование документов по отчетности; анализ документов о движении товаров на складе;

2) «Работа с клиентами»: обсуждение планируемого оформления, формирование и заключение договоров с клиентами.

3) «Планирование и анализ»: планирование и анализ реализованных услуг, планирование и анализ поступаемых услуг, , анализ заказов, учет складского движения товара.

4)«Работа отеля»: Сегментация потребителей гостиничных услуг по цели поездки. Изначально клиентская база гостиницы складывается из того рыночного сегмента, на который рассчитана гостиница. Как известно, рыночные сегменты образуются по различным признакам. Для гостиничного бизнеса наиболее базисным сегментообразующим признаком является цель путешествия клиента. Так, если отель специализируется на бизнес-туризме, то он должен быть расположен в деловом центре города поблизости от важнейших государственных учреждений.

Обзор 1С: Предприятие

С: Предприятие

Рассмотрим программный продукту фирмы «1С» и выделим её преимущества.

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

Сама платформа не является программным продуктом для использования конечными пользователями, которые обычно работают с одним из многих прикладных решений (конфигураций), разработанных на данной платформе. Такой подход позволяет автоматизировать различные виды деятельности предприятий, используя единую технологическую платформу.

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

Гибкость платформы позволяет применять «1С:Предприятие» в самых разнообразных областях:

- автоматизация производственных и торговых предприятий, бюджетных и финансовых организаций, предприятий сферы обслуживания и т.д.;

- поддержка оперативного управления предприятием;

- автоматизация организационной и хозяйственной деятельности;

- ведение бухгалтерского учета с несколькими планами счетов и произвольными измерениями учета, регламентированная отчетность;

- широкие возможности для управленческого учета и построения аналитической отчетности, поддержка многовалютного учета;

- решение задач планирования, бюджетирования и финансового анализа;

- расчет зарплаты и управление персоналом.

Система 1С: Предприятие

1С-Предприятие является гибкой настраиваемой системой для решения широкого круга задач в сфере автоматизации деятельности предприятий. На рисунке 3 приведена схема взаимодействия различных компонентов 1С: Предприятия.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 3 – Схема взаимодействия компонентов 1С: Предприятия

Одной из характерных особенностей программ, является их масштабируем ость: одна и та же конфигурация может работать на локальном компьютере, в сети и на сервере под управлением MS SQL Server 7.0.

- Конфигуратор. Все начинается с запуска Конфигуратора. Программы для 1С:Предприятие называются "конфигурациями" и создаются они в специальном режиме для разработчика "Конфигуратор". Обычные пользователи работают в режиме "Предприятие".

- Объекты, свойства и методы. Самое главное понятие 1С - это "объект". Объект - это элемент реального мира. Объектом может быть все что угодно: компьютер, облако, кошка... Но нас интересуют только те объекты, которые имеются в офисной деятельности предприятия: документы, отчеты, справочники... Программа для 1С представляется как совокупность объектов, взаимосвязанных между собой, т.е. конфигурация объектов. Например, документ "Приказ о приеме на работу", справочник "Сотрудники", отчет "Сотрудники, принятые за период".

У объектов имеются некоторые атрибуты (свойства, реквизиты). Например, сотрудник имеет фамилию, имя, отчество, оклад, табельный номер. Приказ о приеме имеет номер и дату. Набор свойств объекта задается разработчиком.

Также объекты имеют определенные методы (процедуры и функции). Например, вы можете выбрать всех сотрудников с помощью метода справочника Выбрать Элементы (), или можно сохранить документ методом Записать().

Встроенный язык. Поведение объектов конфигурации задается на встроенном языке. Программист может писать на встроенном языке 1С свои собственные модули, состоящие из процедур и функций. Встроенный язык позволяет работать со справочниками, документами и другими объектами 1С. Можно, например, с помощью методов объектов выбрать все элементы справочника Сотрудники для вывода в отчет, или создать и сохранить любой документ.

- Модули, процедуры и функции. Вся конфигурация, как вы уже наверное заметили, состоит из модулей. Это могут быть модули документов или модули отчетов или другие модули. Модули состоят из процедур и функций. Процедура - это небольшая программа для выполнения определенной задачи. Функция отличается от процедуры, только тем, что имеет результат. Говорят, "функция возвращает результат". Например, модуль "Приказа о приеме на работу" может иметь следующие процедуры ПроверитьПравильность( ) и НапечататьПриказ( ).

- Глобальный модуль. В системе 1С есть так называемый Глобальный модуль. Он относится к конфигурации в целом. Глобальный модуль нужен для того, что писать процедуры и функции, доступные в любом месте программы (в любом другом модуле). Для этого необходимо просто указать ключевое слово Экспорт. Также можно создать глобальные переменные, которыми можно будет пользоваться в любом месте программы. Но чем меньше будет таких глобальных переменных, тем лучше, так как модули получаются более независимыми друг от друга, что снижает количество ошибок в программе и облегчает отладку.

Назначение конфигуратора

Конфигуратор системы 1С:Предприятие является специальным режимом запуска 1С и предназначен для разработчиков, программистов. В этом режиме разработчик создает или корректирует структуру базы данных, программные модули, производит административные работы. В режиме Конфигуратора нельзя вводить информацию в базу данных, за исключением загрузки базы данных из архивов. Обычные пользователи работают в другом режиме "Предприятие". В этом режиме возможен ввод данных, заполнение справочников и ввод документов, формирование отчетов и запуск обработок. В режиме Предприятие нельзя редактировать структуру конфигурации.

В режиме Конфигуратор - мы определяем структуру базы данных и пишем программы. В режиме Предприятие мы используем программы и вводим данные.

Основное окно конфигуратора. (рисунок 4)

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 4 – Основное окно конфигуратора

Слева находится дерево конфигурации, в котором редактируется структура базы данных.

Дерево конфигурации (метаданные)

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 5 – Древо конфигурации.

В окне конфигурации можно раскрывать списки объектов (константы, справочники, документы и т.д.). Объекты можно добавлять, удалять, редактировать, изменять их порядок, сортировать, писать для них описание.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Каждый объект имеет свойства и контекстное меню (вызывается правой кнопкой мыши).

Также к конфигурации относятся Интерфейсы и Права. Для их вызова нужно щелкнуть вкладки, расположенные внизу дерева конфигурации.

Кроме того, когда окно дерева конфигурации активно в меню Действия становятся доступными пункты "Глобальный модуль", "Общие таблицы" и "Библиотека картинок".

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Редактор форм

У многих объектов конфигурации есть экранные формы. В частности экранные формы в версии 8 3.0 имеют справочники, документы, журналы документов, отчеты, обработки, журналы расчетов, журнал операций, журнал проводок, план счетов и счет. У некоторых объектов может быть несколько экранных форм, например, у справочников есть формы списков, форма элемента и форма группы.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 6 – Форма документа

Для удобства пользователей обязательно настройте последовательный порядок обхода элементов диалога! При интенсивном вводе информации желательно максимальное использование клавиатуры. Порядок обхода настраивается следующим образом. В меню Диалог снимаете флажок "Автоматический порядок обхода". Затем опять в меню Диалог щелкаете "Порядок обхода" и последовательно щелкаете на номерах элементах диалога в том порядке, в котором они должны быть. Порядок обхода можно также редактировать в меню Диалог => "Настройка порядка обхода".

Редактор программных модулей

У каждой экранной формы есть программный модуль рисунок 7. Кроме того, есть программные модули документов и глобальный модуль. В этих модулях располагается программа на встроенном языке 1С, который похож на Бейсик, но имеет свои особенности.

При редактировании модуля также обратите свое внимание на верхние кнопки. Там вы найдете кнопки поиска, вызова синтакс помощника, конструктуры и многое другое. Синтакс-помощник - очень полезная вещь. Там можно искать слова. Более того, при редактировании модуля можно щелкнуть правой кнопкой на любом слове и выбрать там пункт "Найти в Синтакс-помощнике".

Шаблоны

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

Например, вам надоело постоянно писать "КонецЕсли;". Предлагаю придумать сокращение "ке". При вводе такого сокращения оно автоматически заменится на "КонецЕсли;" (даже с точкой запятой в конце!).

Можно сделать и более сложные вещи. Вы вводите слово "Пока". Понятно, что это начало цикла. При этом 1С запросит условие в диалоговом окне и далее сформирует всю конструкцию и даже поставит курсор, куда нужно, чтобы можно было продолжать писать программу.

Пока <ваше условие> Цикл КонецЦикла;

Окно для редактирования шаблонов вызывается из Синтакс-помощника правой кнопкой или через Сервис => Настройка шаблонов.

Редактор печатных форм (макетов)

У отчетов есть печатные формы, это понятно. У документов также есть печатные формы, это тоже понятно. Но печатные формы могут быть и у других объектов: справочников, журналов документов, плана счетов и т.д. Фактически у любого объекта, у которого есть экранная форма, может быть одна или несколько печатных форм.

Печатные формы состоят из ячеек, в которых содержатся текст или формулы, что очень напоминает Microsoft Excel, рисунок 8. Печатные формы формируются на встроенном языке 1С при помощи вывода секций. В печатной форме может не быть секций вообще, тогда можно вывести или все, или ничего. Но в большинстве случаев нужно выводить какую-то повторяющуюся часть много раз, например список сотрудников, список товаров и т.д. Секции могут горизонтальными и вертикальными.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 8 – Вкладка печатной формы

У каждой ячейки есть свойства, которые вызываются правой кнопкой мыши рисунок 9.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 9 – Свойства ячейки

Обратите внимание на поле Расшифровка, поскольку это очень важно и часто используется при программировании на 1С.

Администрирование базы данных

В меню Администрирование вы найдете следующие пункты:

Ведение списка пользователей Редактирование списка пользователей, установка паролей, задание интерфейса и набора прав для каждого пользователя. Список пользователей, работающих с базой данных в данный момент времени можно посмотреть в Мониторе пользователей.
Сохранить данные Сохранение конфигурации и данных в архив (создание резервных копий). В этом режиме определенные файлы упаковываются в zip-архив. Если вы работаете с SQL-версией, то для сохранения данных применяйте пункт "Выгрузить данные". Нажимайте эту кнопку почаще и ваши данные никогда не пропадут полностью.
Восстановить данные Восстановить конфигурацию и данные с резервной копии, созданной в предыдущем режиме.
Выгрузить данные Сохранение конфигурации и данных в архив. В этом режиме вся база данных сохраняется в особый файл "dat", который затем упаковывается в zip-архив.
Загрузить данные Восстановить конфигурацию и данные с резервной копии, созданной в предыдущем режиме.
Настройка журнала регистрации Каждое действие пользователя регистрируется в журнал регистрации. Здесь можно настроить фильтр для этого журнала. Сам журнал регистрации можно посмотреть в Мониторе пользователей.
Тестирование и исправление ИБ Тестирование и исправление информационной базы. Нажимайте эту кнопку почаще для профилактики и для исправления ошибок.
Кодовая страница таблиц ИБ Установка кодовой страницы файлов DBF.
Распределенная ИБ Доступно, если у вас установлена компонента "Управление распределенными базами данных (УРБД)".

Загрузка измененной конфигурации

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

Объединение конфигураций

Когда нужно сохранить некоторые особенности оригинальной конфигурации, то применяют этот режим. При этом анализируются различия между конфигурациями и настраивается режим объединения. Это все очень важно и все это нужно будет изучить.

Встроенные функции.

Эти процедуры и функции часто применяются при программировании на 1С, поэтому знать их обязательно!

Процедура / Функция Примечание
ОкончатЦена = Окр(Цена*0.5, 2); Округление.
Рублей = Цел(Цена); Получить целую часть числа.
ОблНал = Макс(ОблНал-Льготы,0); МинЗнач = Мин(значение1,значение2,значение3); Получить минимальное или максимальное из значений. Можно передавать несколько параметров (больше двух)
Длина = СтрДлина("Иванов Иван Иванович"); Получить длину строки.
ФИО = СокрЛ(ФИО); //убрать пробелы слева ФИО = СокрП(ФИО); //убрать пробелы справа ФИО = СокрЛП(ФИО); //убрать пробелы слева и справа Отсечение пробелов.
АБ = Лев("АБВГДЕ",2); ГДЕ = Прав("АБВГДЕ",3); БВГ = Сред("АБВГДЕ",2,3); Вырезание подстроки слева, справа и из середины.
НомерСимвола = Найти(ФИО, " "); //найти позицию первого пробела Поиск вхождения подстроки в строку.
НоваяСтрока = СтрЗаменить(ПрежняяСтрока," ", "_"); Замена одной подстроки на другую.
ФИОЗаглавнымиБуквами = ВРЕГ(ФИО) ФИОстрочнымиБуквами = нрег(ФИО) Изменение регистра букв.
СегодняВ1С = РабочаяДата(); //дата в параметрах 1С СегодняВСистеме = ТекущаяДата(); //дата в операционной системе СейчасВСистеме = ТекущееВремя(); Получить текущую дату и время.
НачалоМесяца = НачМесяца(НекаяДата); КонецМесяца = КонМесяца(НекаяДата); НачалоГода = НачГода(НекаяДата); КонецГода = КонГода(НекаяДата); Получение начала/конца месяца/года по некой дате.
Год = ДатаГод(ДатаРождения); Месяц = ДатаМесяц(ДатаРождения); Число = ДатаЧисло(ДатаРождения); Выделить из даты год, месяц и число.
ДатаЧерезДваМесяца = ДобавитьМесяц(НекаяДата,2); Прибавление к дате нескольких месяцев. Если число отрицательное, то отсчет ведется назад.
ПериодСтрокой = ПериодСтр(Дата1, Дата2); Строковое представление периода, например "Январь 2002".
НекаяДата = Дата("01.01.2002"); Сообщение = "Месяц " + Строка(НомерМесяца); НекоеЧисло = Число("5"); Преобразование типов.
СуммаСКопейками = Формат(Сумма,"Ч10.2-"); Форматирование чисел, сумм и дат. Очень много вариантов форматирования!
СуммаПрописью = Пропись(Сумма); Сумма прописью. Часто применяется в денежных документах.
Если Вопрос("Вы уверены?","Да+Нет")="Да" Тогда Вопрос пользователю. Можно спросить "Да+Нет", "Повтор+Отмена" и т.д.
Предупреждение("Случилась ошибка!"); Сообщениию пользователю в виде окошка. Программа приостанавливается, пока пользователь не нажмет ОК.
Сообщить("Документ проведен!"); Сообщение пользователю в окно сообщений. Программа работает дальше.
Состояние("Выполнено на " + Строка(Проценты) + "%"); Сообщение пользователю в строку статуса.
глТекущийПользователь = ИмяПользователя(); Получить имя текущего пользователя.
Права = НазваниеНабораПрав(); Получить название набора прав текущего пользователя.
ТекКаталогБазы = КаталогИБ(); Получить каталог, где находится информационная база.
НачатьТранзакцию(); Если <условие ошибки> Тогда ............ОтменитьТранзакцию(); КонецЕсли; ЗафиксироватьТранзакцию(); Обработка транзакций. Транзакция - это совокупность действий, которая выполняется или вся целиком, или не выполняется ни одно из действий. Т.е. это единый блок действий, который или выполнен целиком, или не выполнен совсем. Транзакции необходимы для сохранения целостности базы данных.
СпрСотр = СоздатьОбъект("Справочник.Сотрудники"); Возвращает ссылку на объект.
Если ТипЗначенияСтр(Параметр)="Справочник" Тогда Определяет тип значения.
       

Язык 1С

Язык 1С очень похож на Бейсик. В 1С все ключевые слова можно писать по-русски.

Конструкция языка 1С Примечание
Процедура РассчитатьНалог(Сотрудник, НекаяДата) КонецПроцедуры Простая процедура. После слова КонецПроцедуры точка с запятой не нужна, потому что это не оператор, а операторная скобка
Функция РассчитатьНалог(Сотрудник, НекаяДата) Возврат Налог; КонецФункции Функция должна обязательно возвращать результат.
Если Оклад > 10000 Тогда ......Результат = "Жить можно"; Иначе ......Результат = "Плохо"; КонецЕсли; Простое условие. После слова КонецЕсли должна быть точка с запятой, потому что так заканчивается оператор Если
Результат = ?(Оклад > 10000, "Нормально","Плохо"); Сокращенное Если.
Если Оклад > 10000 Тогда ......Результат = "Жить можно"; ИначеЕсли Оклад > 5000 Тогда ......Результат = "Плохо"; Иначе ......Результат = "Так жить нельзя"; КонецЕсли; Множественное условие. Если первое условие не выполняется, то проверяяется второе. Если второе условие не выполняется, то третье. Если ни одно из условий не выполняется то выполняется блок Иначе.
Если (Оклад > 10000) И (КодКатегории = 2) Тогда КонецЕсли; В составном логическом выражении скобки обязательны! (в версии 8.0 необязательны)
Пока Номер <= 50 Цикл КонецЦикла; Простой цикл Пока (цикл с неизвестным числом повторений). После слова КонецЦикла должна быть точка с запятой, потому что так заканчивается оператор Пока
Для Номер = 1 По 50 Цикл КонецЦикла; Простой цикл Для (цикл с известным числом повторений). В версии 8.0 есть еще цикл Для Каждого (for each).
Перейти ~метка; <...> ~метка: Так оформляются метки и оператор безусловного перехода (GOTO). Чем меньше в вашей программе будет меток, тем лучше.
Пока <условие> Цикл Если <условие> Тогда ........Продолжить; КонецЕсли; КонецЦикла; Оператор Продолжить передает управление в начало цикла.
Пока <условие> Цикл Если <условие> Тогда .........Прервать; КонецЕсли; КонецЦикла; Оператор Прервать производит досрочный выход из цикла. Управление передается на операторы после цикла.
Перем Сотр; Явное объявление переменной.
Номер = 1; Переменные можно не объявлять явно. При первом присвоении значения создается новая переменная.
ФИО = Фамилия + " " + Имя + " " + Отчество; Сложение строк (конкатенация)
НекаяДата = '01.01.2002'; Переменная, которая хранит дату.
Перем глТекущийПользователь Экспорт; Объявление глобальной переменной в Глобальном модуле. Такие переменные доступны в любом месте конфигурации.
Попытка а = 10 / 0; Исключение Предупреждение("Деление на ноль!"); КонецПопытки; Обработка исключительных ситуаций. Если во время выполнения операторов между словами Попытка и Исключение произошла ошибка, то управление передается на операторы между словами Исключение и КонецПопытки Если ошибки не было, то управление передается на операторы после слова КонецПопытки.
//это комментарий Так оформляются комментарии.
СпрСотр.ВыбратьЭлементы(); Вызов метода объекта производится как обычно, через точку.

Создание формы документа.

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

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 10 – Окно запуска программы 1С:Предприятие

Далее нужно будет выбрать режим. Нам потребуется конфигуратор.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 11 – Окно запуска программы 1С:Предприятие

Далее создаем новый документ. Для этого щелкаем по вкладке Конструкторы>Новый документ

В появившемся окне вводим название документа в поле идентификатор и нажимаем далее.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 12 – Окно конструктора создания нового документа

После появляется окно, где выбираются параметры нашего документа и из этого окна можно вызвать окна для непосредственного программирования модуля, как показано на рисунке 13.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 13 – Окно выбора параметров документа.

В поле «Журнал» выбирается журнал которому будет принадлежать документ.

Далее вводим реквизиты шапки, которые автоматически будут попадать в журнал.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 14 – Окно свойств реквизита.

В свойствах реквизита указываем идентификатор и тип значения. Если необходим выбор реквизита из справочника указываем тип «Справочник. Номенклатура», как показано на рисунке 14.

Реквизиты табличной части, это Значения столбцов в табличной части создаваемого документа. Создание реквизитов аналогично реквизитам шапки.

У реквизита «Наименование» Тип значения выбираем «Справочник. Номенклатура», это нужно для осуществления проводок. В остальных тип значения ставим «Число»

Дальше приступаем к формированию формы документа. Для этого нажимаем кнопку «Форма».

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 15 – Окно выбора реквизитов.

Выбираем реквизиты которые необходимо отразить в форме документа, как показано на рисунке 18. Дальше добавляем необходимые элементы управления в форме документа.

Добавляем кнопки «Расчет стоимости» и «Печать»

В свойствах кнопок на вкладке дополнительно в строке ввода формул вводим название процедур «РасчетСтоимости()» для кнопки «Расчет стоимости» и «Печать()» для кнопки «Печать», как показано на рисунках 16 и 17.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 16 – Окно свойств кнопки.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 17 – Окно свойств кнопки.

Далее создаем таблицу «ТзДоп». Здесь будет вводиться наценка и рассчитываться продажная цена.

Далее добавим два поля ввода «Себестоимость» и «Всего». Разместим их ниже самой формы. Это для того, чтобы при работе в режиме 1С:Предприятие пользователю они были не видны.

Столбец «СтоимСырья» сделаем недоступным для изменения, как показано на рисунке 18.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 18 – Окно свойств кнопки.

Столбец «Процент» делаем еще и невидимым, как показано на рисунке 19.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 19 – Окно свойств кнопки.

В результате получилась такая форма- рисунок 23.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 20 – Форма документа «СырьеПродукция».

Теперь можно приступить к разработке модуля формы. Для этого перейдем на закладку Модуль. Перед началом программирования составим алгоритм программы.

1.6.2 Разработка алгоритма функционирования документа

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 21 – Блок-схема алгоритма работы с модулем «Производство»

На донном этапе разрабатывается документ «СырьеПродукция» разработаем его алгоритм работы, рисунок 25.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru Рисунок 22 – Блок-схема алгоритма ввода нового документа.

Разработка модуля.

Запускаем документ «СырьеПродукция» (Рисунок 23).

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 23 – Документ «СырьеПродукция».

При открытии документа выполняется процедура «ПриОткрытии»

Данная процедура задает начальные значения переменных документа и создает строки и столбцы в таблице значений «ТзДоп». Это осуществляеться с помощью операций «НоваяКолонка», «НоваяСтрока()».

Программный код:

Процедура ПриОткрытии()

ПриЗаписиПерепроводить(1);

СуммаКом=0;

СуммаРас=0;

тзДоп.НоваяКолонка("Инф" ,"Строка",26, ,"Информация",30);

тзДоп.НоваяКолонка("Показ","Число" ,15,2,"Показатель",15);

тзДоп.НоваяСтрока(); тзДоп.Инф = "Стоимость комплектующих";

тзДоп.НоваяСтрока(); тзДоп.Инф = "Стоимость расходных";

тзДоп.НоваяСтрока(); тзДоп.Инф = "Затраты на работу %";

тзДоп.НоваяСтрока(); тзДоп.Инф = "Прочие затраты%";

тзДоп.НоваяСтрока(); тзДоп.Инф = "Себестоимость";

тзДоп.НоваяСтрока(); тзДоп.Инф = "";

тзДоп.НоваяСтрока(); тзДоп.Инф = "Наценка";

тзДоп.НоваяСтрока(); тзДоп.Инф = "Продажная цена";

КонецПроцедуры

Идентификаторам «СуммаКом» и «СуммаРас» присваивается нулевое значение.

Далее создаются строки и колонки.

В наименование выбираем название готовой продукции из справочника «Номенклатура». Задаем количество готовой продукции в партии, без этих данных будет не корректная проводка документа.

При нажатии кнопки «Новая строка» сразу происходит вызов спраочника «Материалы».

Далее в столбце выбираем комплектующие и расходные материалы из справочника. Как показано на рисунке 24.

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 24 – Выбор материала из справочника.

Когда материал выбран вызывается процедура «Пересчет(Материал)».

Программный код будет выглядеть так:

Процедура Пересчет(ИмяРеквизита)

Если Материал.Выбран() = 1 Тогда

Если (ИмяРеквизита = "Материал") Тогда

Цена = Материал.Цена;

ИначеЕсли (ИмяРеквизита = "Колво") Тогда

Сумма = Цена*Колво;

мат=Материал.Родитель ;

Если СокрЛП(мат) ="Комплектующие" Тогда

СуммаКом=СуммаКом+сумма;

тзДоп.УстановитьЗначение(1,2,СуммаКом);

иначе

Если СокрЛП(мат) ="Расходные" тогда

СуммаРас=СуммаРас+сумма;

тзДоп.УстановитьЗначение(2,2,СуммаРас);

Иначе

Сообщить ("Выбран не верный элемент справочника",);

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецПроцедуры //Пересчет

Так как процедура вызывается из столбца «МАтериал» то ИмяРеквизита=Материал и тогда процедура по итогам условий выполняет только одну формулу Цена = Материал.Цена По этой фрмуле в столбце Стоимость сырья проставляется Цена материала из справочника Материалы.

Далее вводим количество используемого материала. После ввода вновь вызывается процедура Пересчет(ИмяРеквизита) но с другим реквизитом. В этом случае реквизитом будет «Колво».

Процедура Пересчет(ИмяРеквизита)

Если Материал.Выбран() = 1 Тогда

Если (ИмяРеквизита = "Материал") Тогда

Цена = Материал.Цена;

ИначеЕсли (ИмяРеквизита = "Колво") Тогда

Сумма = Цена*Колво;

мат=Материал.Родитель ;

Если СокрЛП(мат) ="Комплектующие" Тогда

СуммаКом=СуммаКом+сумма;

тзДоп.УстановитьЗначение(1,2,СуммаКом);

иначе

Если СокрЛП(мат) ="Расходные" тогда

СуммаРас=СуммаРас+сумма;

тзДоп.УстановитьЗначение(2,2,СуммаРас);

Иначе

Сообщить ("Выбран не верный элемент справочника",);

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецПроцедуры //Пересчет

Процедура выполняет следующее:

- Вычисляет сумму которая потом проставляется в форме документа Сумма = Цена*Колво,

- Находит родителя выбранного материала для расчета отдельных затрат на комплектующие и расходные материалы .После чего спомощью условий увеличивает либо сумму затрат на комплектующие (СуммаКом=СуммаКом+сумма) либо на расходные материалы (СуммаРас=СуммаРас+сумма)

- Записывает полученные суммы в в таблицу значений «ТЗдоп»

- Если объект взят не из журнала производство, то выводится сообщение ("Выбран не верный элемент справочника",)

После того как все используемые материалы выбраны, небходимо заполнить таблицу значений. Это необходимо для учета других затрат связанных с производством (электричество, транспорт, зарплата и т.д.). Данные затраты вводяться в процентном соотношении. Если их не ввести то расчет будет не корректным.

При нажатии на необходимую строку в таблице значений вызывается процедура РедактированиеТзДоп()

Процедура РедактированиеТзДоп()

ВрЧисло = тзДоп.Показ;

ВвестиЧисло(ВрЧисло,"Введите "+тзДоп.Инф,15,3);

тзДоп.Показ = ВрЧисло;

КонецПроцедуры

В ней осуществляется вывод диалога для ввода данных и запись введенных данных в таблицу значений.

После ввода необходимых данных осуществляется расчет себестоимости и продажной цены продукции.Это осуществляется после нажатия на кнопку формы «Расчет себестоимости».При этом вызывается следующая процедура:

Процедура РасчетСтоимости()

ЗатРаб=тзДоп.ПолучитьЗначение(3,2);

ЗатПр=тзДоп.ПолучитьЗначение(4,2);

Нац=тзДоп.ПолучитьЗначение(7,2);

Если ЗатРаб*ЗатПр=0 Тогда

сообщить("Введены не все параметры") ;

КонецЕсли;

Если ЗатРаб*ЗатПр <>0 Тогда

Итого=(СуммаКом+СуммаРас)*(ЗатРаб/100+ЗатПР/100+1);

тзДоп.УстановитьЗначение(5,2,Итого);

КонецЕсли;

Если Нац=0 Тогда

тзДоп.УстановитьЗначение(8,2,Итого);

иначе

Итого1=Итого+итого*нац/100;

тзДоп.УстановитьЗначение(8,2,Итого1);

КонецЕсли;

Себестоимость=Итого1;

Всего=Себестоимость*Штук;

КонецПроцедуры

С помощью команды «ПолучитьЗначение» получаем значения из таблици значений из указанных позиций.

«Если ЗатРаб*ЗатПр=0 Тогда сообщить ("Введены не все параметры") Этот параметр нужен для того, чтобы не было нулевых значений в используемых параметрах.

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

Далее если есть необходимость то можно распечатать конфигурацию собранного системного блока с продажными ценами и отдать потенциальным покупателям. Это осуществляеться с помощью нажатия кнопки «печать». В программе при этом вызываеться процедура печати.

Процедура Печать()

пр=ЗатРаб+ЗатПр;

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Печать");

Таб.ВывестиСекцию("Шапка");

Таб.Опции(0,0,0,0);

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл

мат=Материал.Родитель ;

процент=сумма*пр/100+сумма;

процент=процент*нац/100+процент;

Если СокрЛП(мат) ="Комплектующие" Тогда

Таб.ВывестиСекцию("Строка");

КонецЕсли;

КонецЦикла;

Таб.ВывестиСекцию("Шапка2");

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл

мат=Материал.Родитель ;

процент=сумма*пр/100+сумма;

процент=процент*нац/100+процент;

Если СокрЛП(мат) ="Расходные" Тогда

Таб.ВывестиСекцию("Строка2");

КонецЕсли;

КонецЦикла;

Таб.ВывестиСекцию("Подвал");

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать СырьеПродукция","");

КонецПроцедуры

Дипломная работа: Разработка программного обеспечения для автоматизации процессов в кампании АО отель Селегерская - student2.ru

Рисунок 25 – Форма печати документа «СырьеПродукция».

Создание формы печати. С помощью формы создается вид будущего документа. Здесь будут находиться: название изделия, дата документа, наименование изделия, его количество, сумма и общая себестоимость. Для этого создаем 2 шапки отдельно для комплектующих и расходных материалов и строки в которые будут копироваться данные.

Тут же рассчитываются проценты- «процент=сумма*пр/100+сумма», «процент=процент*нац/100+процент».Процент это переменная в которой храниться наценка и затраты применимые к каждому материалу в отдельности.

После расчета и формирования печатной ф

Наши рекомендации