Создание автоматизированной информационно-справочной системы учета карточек клиентов ремонтной службы

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    868,65 Кб
  • Опубликовано:
    2015-05-16
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Создание автоматизированной информационно-справочной системы учета карточек клиентов ремонтной службы



КУРСОВАЯ РАБОТА

Создание автоматизированной информационно-справочной системы учета карточек клиентов ремонтной службы

Введение

прикладной пользователь автоматизированный информационный

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

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

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

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

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

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

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

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

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

другие области применения.

Платформа 1С: Предприятие 8 была создана с учетом многолетнего опыта применения системы программ 1С: Предприятие 7.7, которую используют десятки тысяч разработчиков. Несмотря на значительные изменения, новая версия 8 сохранила идеологическую преемственность с предыдущими версиями.

1.      Теоретическая часть


1.1    Постановка задачи


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

1.2 Нормализация и схема базы данных


Определим объекты и атрибуты проектируемой системы. Возьмем за основу два следующих отношения: Клиенты и ПереченьРабот.

Клиенты (Ф.И.О., Пол, НаличиеДисконтнойКарты, ТипКарты, Адрес, Телефон).

ПереченьРабот (Наименование).

Проведем нормализацию этих отношений. В этих отношениях имеются составные ключи (Ф.И.О. - для отношения Клиенты и Наименование - для отношения ПереченьРабот) и их атрибуты атомарные, а значит, они находятся в первой нормально форме 1НФ.

Рассмотрим наблюдающиеся в этом отношении функциональные зависимости. В отношении Клиенты содержится частичная функциональная зависимость не ключевых атрибутов от ключа отношения: Ф.И.О. -> Адрес, Ф.И.О. -> Телефон. В отношении ПереченьРабот частичных функциональных зависимостей не содержится. Приведём эти отношения ко второй нормальной форме 2НФ, производя внешнее кодирование, при этом получаем отношения: Клиенты (Код клиента, Ф.И.О., Пол, НаличиеДисконтнойКарты, ТипКарты, Адрес, Телефон) и ПереченьРабот (Код услуги, Наименование).

Перейдём к рассмотрению в полученных отношениях транзитивных зависимостей не ключевых атрибутов от ключа. В отношении Клиенты имеется такая зависимость: Код клиента -> Ф.И.О. -> Адрес и Код клиента -> Ф.И.О. -> Телефон. Приведем эти отношение к третьей нормальной форме 3НФ. Клиенты (Код клиента, Ф.И.О., Код адреса), Адреса (Код адреса, Адрес) и Клиенты (Код клиента, Ф.И.О., Код телефона), Телефоны (Код телефона, Телефон).

Зависимостей ключей от не ключевых атрибутов в полученных отношениях не наблюдается, значит они находятся в НФБК.

В результате нормализации была получена следующая система отношений:

·      Клиенты (Код клиента, Ф.И.О., Код адреса)

·        ПереченьРабот (Код услуги, Наименование)

·        Адреса (Код адреса, Адрес)

·        Телефоны (Код телефона, Телефон).

·        Клиенты (Код клиента, Ф.И.О., Пол, НаличиеДисконтнойКарты, ТипКарты, Адрес, Телефон).

2.     
Описание разработки прикладного решения

 

.1 Перечень объектов для реализации прикладного решения

 

Перечисления

- Пол

НаличиеДисконтнойКарты

ТипКарты

ТипТелефонаКлиента

КлассификацияМастеров

ЕдиницыИзмерения

ВидОплаты

Справочники

- Клиенты

Города

Мастера

СпециальностиМастеров

Виды работ

Перечень работ

ИспользуемыеМатериалы

Поставщики

Документы

- ЗакупкаМатериалов

ОплатаЗакупок

РемонтныеРаботы

ВыручкаПоМатериалам

ВыручкаПоРаботам

Журналы документов

- Касса

Приход

Расход

Отчеты

- АктивностьКлиентовПоПерсоналиям

ИспользуемыеМатериалы

ВыполенныеРаботы

ПредоставленныеУслугиЗаПериод

ИспользованиеМатериаловЗаПериод

Регистры сведений

- ЦеныЗакупокИПродаж

ЗаказыКлиентов

Регистры накопления

- ОставшиесяМатериалы

Касса

ПроизведенныеРаботы

Общие

- Общие модули

- РасчитатьСумму

РасчетСкидки

- Роли

- ГлавныеАдмин

Кассир

Управляющий

- Интерфейсы

- ГлавАдмин

Кассир

Менеджер

 

2.2 Обзор объектов

 

Перечисления

Рассмотрим перечень перечислений, созданных для реализации прикладного решения (рис. 1).

Рис. 1 - Перечисления

 

Пол

- мужской

женский

Используется при заполнении справочника «Клиенты» и «Мастера».

НаличиеДисконтнойКарты

- есть

нет

Используется при заполнении справочника «Клиенты» и документа «РемонтныеРаботы» для расчета с клиентом по дисконтной программе.

ТипКарты

- 3 процента

5 процентов

7 процентов

20 процентов

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

ТипТелефонаКлиента

- основной

дополнительный

Используется при заполнении табличной части «ТелефоныДляСвязи» справочника «Клиенты».

КлассификацияМастеров

- 1 класс

2 класс

3 класс

Используется при заполнении справочника «Мастера».

ЕдиницыИзмерения

- Шт.

Кг

Уп

м

см

км

л

Используется при заполнении справочника «ИспользуемыеМатериалы» и табличной части «Материалы» документа «РемонтынеРаботы».

ВидОплаты

- взаиморасчет

наличными

безналичный

Используется при заполнении документа «РемонтныеРаботы».

Справочники

Рассмотрим перечень справочников, созданных для реализации прикладного решения (рис. 2).

Рис. 2 - Справочники

 

Клиенты

- Код

Ф.И.О.

Реквизиты

Пол

НаличиеДисконтнойКарты

ТипКарты

Табличные части

ТелефоныДляСвязи

номер телефона

тип телефона

примечание

Адреса

адрес

город

Форма элемента справочника (рис. 3)

Рис. 3 - Форма элемента справочника «Клиенты»

Данная форма организована таким образом, что при заполнении пользователем данных, поле ввода «Тип карты» напрямую зависит от значения флажка «Наличие дисконтной карты».

Мастера

- Код

Ф.И.О.

Реквизиты

Пол

Класс

Табличные части

ТелефоныДляСвязи

номер телефона

тип телефона

примечание

Адреса

адрес

город

Форма элемента справочника (рис. 4)

Рис. 4 - Форма элемента справочника «Мастера»

В справочнике «Мастера» предусмотрена печатная форма списка справочника с расшифровкой по полю «Ф.И.О.» и элемента справочника, содержащая обе табличные части.

Приведем код модуля формы списка иерархического справочника для реализации печати:

Процедура Печать(Элемент)

// {{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники. Мастера. ПолучитьМакет («Печать1»);

// Заголовок

Область = Макет. ПолучитьОбласть («Заголовок»);

ТабДок. Вывести(Область);

// Шапка

Область = Макет. ПолучитьОбласть («Шапка»);

ТабДок. Вывести(Область);

Выборка = Справочники. Мастера. ВыбратьИерархически();

Пока Выборка. Следующий() = Истина Цикл

Объект = Выборка. ПолучитьОбъект();

Если Объект. ЭтоГруппа = Истина Тогда

Область = Макет. ПолучитьОбласть («Группа»);

Область. Параметры. Код = Объект. Код;

Область. Параметры. Наименование = Объект. Наименование;

Область. Параметры. Ссылка=Выборка. Ссылка;

ТабДок. Вывести(Область);

Иначе

Область = Макет. ПолучитьОбласть («Элемент»);

Область. Параметры. Код = Объект. Код;

Область. Параметры. Наименование = Объект. Наименование;

Область. Параметры. Ссылка=Выборка. Ссылка;

Область. Параметры. Пол = Объект. Пол;

Область. Параметры. Класс = Объект. Класс;

ТабДок. Вывести(Область);

КонецЕсли;

КонецЦикла;

ТабДок. ОтображатьСетку = Ложь;

ТабДок. Защита = Истина;

ТабДок. ТолькоПросмотр = Истина;

ТабДок. ОтображатьЗаголовки = Ложь;

ТабДок. Показать();

// }}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

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

Документы

Рассмотрим некоторые документы, созданные для реализации прикладного решения.

ЗакупкаМатериалов

Реквизиты

Поставщик

ВидОплаты

СуммаОплаты

Табличные части

Материалы

материал

единица измерения

количество

цена покупки

цена продажи

сумма покупки

сумма продажи

Форма документа (рис. 5)

 

Рис. 5 - Форма документа «Закупка материалов»

В форме документа примечательно то, что при заполнении поля «Цена покупки» (которое происходит либо автоматически - исходя из данных регистра сведений «ЦеныЗакупокИПродаж», либо непосредственно пользователем), автоматически формируется значение поля «Цена продажи», а при изменении поля «Материал» и «Количество», поля «ЦенаПокупки» и «ЦенаПродажи», а также «СуммаПокупки» и «СуммаПродажи» так же меняют свое значение.

РемонтныеРаботы

Реквизиты

Клиент

ВидОплаты

НаличиеКарты

ТипКарты

СуммаСкидки

СуммаСкидкиРаботы

СуммаСкидкиМатериалы

КоэффициентСкидки

СуммаМатериалы

СуммаРаботы

СуммаОплаты

Табличные части

ИспользованныеМатериалы

материал

единица измерения

количество

сумма

Услуги

тип работы

вид работы

мастер

цена

количество

Форма документа (рис. 6)

Рис. 6 - Форма документа «Ремонтные работы»

В данном документе реализована оплата клиента в зависимости от наличия у него дисконтной карты.

Рассмотрим, как это реализовано в модуле:

Процедура УслугиВидРаботыПриИзменении(Элемент)

Скидка = ЭлементыФормы. КоэффициентСкидки. Значение;

СтрокаТабличнойЧасти=ЭлементыФормы. Услуги. ТекущиеДанные;

СтрокаТабличнойЧасти. Количество = 1;

Цена = Справочники. ВидыРабот. НайтиПоНаименованию (ЭлементыФормы. Услуги. ТекущиеДанные. ТипРаботы).ВидыРаботы. Найти (ЭлементыФормы. Услуги. ТекущиеДанные. ВидРаботы).Стоимость;

Если Скидка = 0 тогда

СтрокаТабличнойЧасти. Цена=Цена*СтрокаТабличнойЧасти. Количество;

Иначе

СтрокаТабличнойЧасти. Цена=(Цена - Цена *Скидка)*СтрокаТабличнойЧасти. Количество;

КонецЕсли;

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

Процедура ПриЗаписи(Отказ)     

Скидка = ЭлементыФормы. КоэффициентСкидки. Значение;

ЭлементыФормы. СуммаОплаты. Значение = Услуги. Итог («Цена»)+ ИспользованыеМатериалы. Итог («Сумма»);

ЭлементыФормы. СуммаМатериалы. Значение = ИспользованыеМатериалы. Итог («Сумма»);

ЭлементыФормы. СуммаРаботы. Значение = Услуги. Итог («Цена»);

Если ЭлементыФормы. НаличиеКарты. Значение = Истина тогда

Сообщить («На данного клиента распространяется дисконтная программа!!!»);

ЭлементыФормы. СуммаСкидкиМатериалы. Значение = ЭлементыФормы. СуммаМатериалы. Значение*Скидка;

ЭлементыФормы. СуммаСкидкиРаботы. Значение = ЭлементыФормы. СуммаРаботы. Значение*Скидка;

СуммаСкидки = СуммаСкидкиМатериалы+СуммаСкидкиРаботы;

ОбщаяСуммаЗаказаСУчетомСкидки = СуммаОплаты - (СуммаСкидкиМатериалы+СуммаСкидкиРаботы);

Иначе

Сообщить («Расчет произведен без учета скидок!!!»);

ЭлементыФормы. ОбщаяСуммаЗаказаСУчетомСкидки. Значение = ЭлементыФормы. СуммаОплаты. Значение;

СуммаСкидкиМатериалы = 0;

СуммаСкидкиРаботы = 0;

КонецЕсли;        

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

Процедура ИспользованыеМатериалыМатериалПриИзменении(Элемент)

Скидка = ЭлементыФормы. КоэффициентСкидки. Значение;

СтрокаТабличнойЧасти=ЭлементыФормы. ИспользованыеМатериалы. ТекущиеДанные;

СтрокаТабличнойЧасти. Количество = 1;

Отбор = Новый Структура;

Отбор. Вставить («Материал», СтрокаТабличнойЧасти. Материал);

Цена = РегистрыСведений. ЦеныЗакупокИПродаж. ПолучитьПоследнее (Дата, Отбор).ЦенаПродажи;

Если ЭлементыФормы. КоэффициентСкидки. Значение = 0 тогда

СтрокаТабличнойЧасти. Сумма=Цена * СтрокаТабличнойЧасти. Количество;

Иначе

СтрокаТабличнойЧасти. Сумма=(Цена - Цена *Скидка) *СтрокаТабличнойЧасти. Количество;

КонецЕсли;

СтрокаТабличнойЧасти. ЕдиницаИзмерения = Справочники. ИспользуемыеМатериалы. НайтиПоНаименованию (СтрокаТабличнойЧасти. Материал).ЕдиницаИзмерения;

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

Процедура ИспользованыеМатериалыКоличествоПриИзменении(Элемент)

Скидка = ЭлементыФормы. КоэффициентСкидки. Значение;

СтрокаТабличнойЧасти=ЭлементыФормы. ИспользованыеМатериалы. ТекущиеДанные;

Отбор = Новый Структура;

Отбор. Вставить («Материал», СтрокаТабличнойЧасти. Материал);

Цена = РегистрыСведений. ЦеныЗакупокИПродаж. ПолучитьПоследнее (Дата, Отбор).ЦенаПродажи;

Если ЭлементыФормы. КоэффициентСкидки. Значение = 0 тогда

СтрокаТабличнойЧасти. Сумма=Цена * СтрокаТабличнойЧасти. Количество;

Иначе

СтрокаТабличнойЧасти. Сумма=(Цена - Цена *Скидка) *СтрокаТабличнойЧасти. Количество;

КонецЕсли;

СтрокаТабличнойЧасти. ЕдиницаИзмерения = Справочники. ИспользуемыеМатериалы. НайтиПоНаименованию (СтрокаТабличнойЧасти. Материал).ЕдиницаИзмерения;

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

Процедура КлиентОбработкаВыбора (Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

// {{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Основание = ВыбранноеЗначение;

Клиент = Основание. Ссылка;

Если ТипЗнч(Основание) = Тип («СправочникСсылка. Клиенты») Тогда

// Заполнение шапки

Если Основание. НаличиеДисконтнойКарты = Истина тогда

ЭлементыФормы. НаличиеКарты. Видимость = Истина;

НаличиеКарты = Основание. НаличиеДисконтнойКарты;

ЭлементыФормы. ТипКарты. Видимость = Истина;

ЭлементыФормы. НадписьТипКарты. Видимость = Истина;

ЭлементыФормы. НадписьСуммаСкидки. Видимость = Истина;

ЭлементыФормы. СуммаСкидки. Видимость = Истина;

ЭлементыФормы. НадписьОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Истина;

ЭлементыФормы. ОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Истина;

ТипКарты = Основание. ТипКарты;

Иначе

ЭлементыФормы. НаличиеКарты. Значение = Ложь;

ЭлементыФормы. НаличиеКарты. Видимость = Ложь;

ЭлементыФормы. ТипКарты. Видимость = Ложь;

ЭлементыФормы. НадписьТипКарты. Видимость = Ложь;

ЭлементыФормы. НадписьСуммаСкидки. Видимость = Ложь;

ЭлементыФормы. СуммаСкидки. Видимость = Ложь;

ЭлементыФормы. НадписьОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Ложь;

ЭлементыФормы. ОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Ложь;

КонецЕсли;

КонецЕсли;

// }}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

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

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

Если Клиент. Пустая() тогда

ЭлементыФормы. НаличиеКарты. Видимость = Ложь;

ЭлементыФормы. ТипКарты. Видимость = Ложь;

ЭлементыФормы. НадписьТипКарты. Видимость = Ложь;

ЭлементыФормы. НадписьСуммаСкидки. Видимость = Ложь;

ЭлементыФормы. СуммаСкидки. Видимость = Ложь;

ЭлементыФормы. НадписьОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Ложь;

ЭлементыФормы. ОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Ложь;

Иначе

Если ЭлементыФормы. НаличиеКарты. Значение = Истина тогда

ЭлементыФормы. НаличиеКарты. Видимость = Истина;

Элементыформы. ТипКарты. Видимость = Истина;

ЭлементыФормы. НадписьТипКарты. Видимость = Истина;

ЭлементыФормы. НадписьСуммаСкидки. Видимость = Истина;

ЭлементыФормы. СуммаСкидки. Видимость = Истина;

ЭлементыФормы. НадписьОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Истина;

ЭлементыФормы. ОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Истина;

Иначе

ЭлементыФормы. НаличиеКарты. Видимость = Ложь;

Элементыформы. ТипКарты. Видимость = Ложь;

ЭлементыФормы. НадписьТипКарты. Видимость = Ложь;

ЭлементыФормы. СуммаСкидки. Видимость = Ложь;

ЭлементыФормы. НадписьОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Ложь;

ЭлементыФормы. ОбщаяСуммаЗаказаСУчетомСкидки. Видимость = Ложь;

КонецЕсли;

КонецЕсли;

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

Процедура КлиентПриИзменении(Элемент)

ЭлементыФормы. КоэффициентСкидки. Значение=РасчитатьСкидку(ЭлементыФормы);

Скидка = ЭлементыФормы. КоэффициентСкидки. Значение;

Для Каждого ТекСтрокаИспользованыеМатериалы Из ИспользованыеМатериалы Цикл

Цена = 0;

СтрокаТабличнойЧасти=ТекСтрокаИспользованыеМатериалы;

Отбор = Новый Структура;

Отбор. Вставить («Материал», СтрокаТабличнойЧасти. Материал);

Цена = РегистрыСведений. ЦеныЗакупокИПродаж. ПолучитьПоследнее (Дата, Отбор).ЦенаПродажи;

Если ЭлементыФормы. КоэффициентСкидки. Значение = 0 тогда

СтрокаТабличнойЧасти. Сумма=Цена * СтрокаТабличнойЧасти. Количество;

Иначе

СтрокаТабличнойЧасти. Сумма=(Цена - Цена *Скидка) *СтрокаТабличнойЧасти. Количество;

КонецЕсли;

КонецЦикла;

Для Каждого ТекСтрокаУслуги Из Услуги Цикл

СтрокаТабличнойЧасти=ТекСтрокаУслуги;

ЦенаУслуги = Справочники. ВидыРабот. НайтиПоНаименованию (СтрокаТабличнойЧасти. ТипРаботы).ВидыРаботы. Найти (СтрокаТабличнойЧасти. ВидРаботы).Стоимость;

Если Скидка = 0 тогда

СтрокаТабличнойЧасти. Цена = ЦенаУслуги*СтрокаТабличнойЧасти. Количество;

Иначе

СтрокаТабличнойЧасти. Цена=(ЦенаУслуги - ЦенаУслуги *Скидка)*СтрокаТабличнойЧасти. Количество;

КонецЕсли;

КонецЦикла;

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

Процедура УслугиКоличествоПриИзменении(Элемент)

Скидка = ЭлементыФормы. КоэффициентСкидки. Значение;

СтрокаТабличнойЧасти=ЭлементыФормы. Услуги. ТекущиеДанные;

Цена = Справочники. ВидыРабот. НайтиПоНаименованию (ЭлементыФормы. Услуги. ТекущиеДанные. ТипРаботы).ВидыРаботы. Найти (ЭлементыФормы. Услуги. ТекущиеДанные. ВидРаботы).Стоимость;

Если Скидка = 0 тогда

СтрокаТабличнойЧасти. Цена=Цена*СтрокаТабличнойЧасти. Количество;

Иначе

СтрокаТабличнойЧасти. Цена=(Цена - Цена *Скидка)*СтрокаТабличнойЧасти. Количество;

КонецЕсли;

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

Движения и заполнение документа

Данный документ заполняется на основании справочника «Клиенты» и оказывает влияние на регистры накопления «ОставшиесяМатериалы» и «ПроизведенныеРаботы», и регистр сведений «ЗаказыКлиентов».

Текст модуля документа

Процедура ОбработкаЗаполнения(Основание)

// {{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Если ТипЗнч(Основание) = Тип («СправочникСсылка. Клиенты») Тогда

// Заполнение шапки

НаличиеКарты = Основание. НаличиеДисконтнойКарты;

Клиент = Основание. Ссылка;

ТипКарты = Основание. ТипКарты;

КонецЕсли;

// }}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

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

Процедура ОбработкаПроведения (Отказ, Режим)

// {{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Наличие=РегистрыНакопления. ОставшиесяМатериалы;

Для Каждого ТекСтрокаИспользованыеМатериалы Из ИспользованыеМатериалы Цикл

// регистр ЗаказыКлиентов

Движение = Движения. ЗаказыКлиентов. Добавить();

Движение. Период = Дата;

Движение. Клиент = Клиент;

Движение. Материалы = ТекСтрокаИспользованыеМатериалы. Материал;

Движение. Выручка = ТекСтрокаИспользованыеМатериалы. Сумма;

КонецЦикла;

Для Каждого ТекСтрокаУслуги Из Услуги Цикл

// регистр ЗаказыКлиентов

Движение = Движения. ЗаказыКлиентов. Добавить();

Движение. Период = Дата;

Движение. Клиент = Клиент;

Движение. ВидыПроизведеныхРабот = ТекСтрокаУслуги. ТипРаботы;

Движение. Выручка = ТекСтрокаУслуги. Цена;

Движение. ПроизведеннаяРабота = ТекСтрокаУслуги. ВидРаботы;

КонецЦикла;

Для Каждого ТекСтрокаУслуги Из Услуги Цикл

// регистр Произведенные работы

Движение = Движения. ПроизведенныеРаботы. Добавить();

Движение. Период = Дата;

Движение. Дата = Дата;

Движение. ВидРаботы = ТекСтрокаУслуги. ТипРаботы;

Движение. Работа = ТекСтрокаУслуги. ВидРаботы;

Движение. Мастер = ТекСтрокаУслуги. Мастер;

Движение. Клиент = Клиент;

Движение. Количество = ТекСтрокаУслуги. Количество;

Движение. Выручка = ТекСтрокаУслуги. Цена;

КонецЦикла;

Для Каждого ТекСтрокаИспользованыеМатериалы Из ИспользованыеМатериалы Цикл

ТаблицаОст = Наличие. Остатки();

Ост = ТаблицаОст. Итог («Количество»);

Если Ост >= ТекСтрокаИспользованыеМатериалы. Количество Тогда

// регистр ОставшиесяМатериалы Расход

Движение = Движения. ОставшиесяМатериалы. Добавить();

Движение. ВидДвижения = ВидДвиженияНакопления. Расход;

Движение. Период = Дата;

Движение. Дата = Дата;

Движение. Материал = ТекСтрокаИспользованыеМатериалы. Материал;

Движение. ЕдиницаИзмерения = ТекСтрокаИспользованыеМатериалы. ЕдиницаИзмерения;

Движение. Количество = ТекСтрокаИспользованыеМатериалы. Количество;

Движение. СуммаПродажи = ТекСтрокаИспользованыеМатериалы. Сумма;

Иначе

Сообщить (» Ой!!! В наличие недостаточно материала «+ТекСтрокаИспользованыеМатериалы. Материал. Наименование+». Документ не проводится!!!»);

Отказ=1;

возврат;

КонецЕсли;

КонецЦикла;

// записываем движения регистров

Движения. ЗаказыКлиентов. Записать();

Движения. ОставшиесяМатериалы. Записать();

Движения. ПроизведенныеРаботы. Записать();

// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

Журналы документов

Рассмотрим перечень журналов документов, созданных для реализации прикладного решения (рис. 7).

Рис. 7 - Журналы документов

 

Касса

Используется для просмотра всех документов проходящих через кассу.

Приход

Используется для просмотра товаров, пришедших для реализации.

Расход

Используется для просмотра предоставленных товаров и услуг.

Отчеты

Рассмотрим перечень отчетов, созданных для реализации прикладного решения (рис. 8).

Рис. 8 - Отчеты

 

АктивностьКлиентовПоПерсоналиям

Позволяет просмотреть активность выбранного клиента.

ВыполенныеРаботы

Позволяет просмотреть список всех выполненных работ.

ИспользованиеМатериаловЗаПериод

Позволяет посмотреть список использованных материалов за выбранный период.

Регистры сведений

Рассмотрим перечень регистров сведений, созданных для реализации прикладного решения (рис. 9).

Рис. 9 - Регистры сведений

ЦеныЗакупокИПродаж

Периодичность - в пределах дня, режим записи - подчинение регистратору.

Хранят данные о ценах покупки и продажи товаров, поступающие из документа «ЗакупкаМатериалов».

ЗаказыКлиентов

Периодичность - по позиции регистратора, режим записи - подчинение регистратору.

Хранят данные о заказах клиентов, поступающие из документа «РемонтныеРаботы».

Регистры накопления

Рассмотрим перечень регистров накопления, созданных для реализации прикладного решения (рис. 10).

 

Рис. 10 - Регистры накопления

ОставшиесяМатериалы

Вид регистра - остатки.

Служит для накопления данных о количестве оставшихся материалов.

В качестве регистратора имеет документы «ЗакупкаМатериалов» и «РемонтныеРаботы».

Касса

Вид регистра - остатки.

Служит для накопления данных денежной наличности.

В качестве регистратора имеет документы «ОплатаЗакупок», «ВыручкаПоМатериалам» и «ВыручкаПоРаботам».

ПроизведенныеРаботы

Вид регистра - обороты.

Служит для накопления данных произведенных работах.

В качестве регистратора имеет документ «РемонтныеРаботы».

Администрирование

В данной курсовой работе реализованы 3 интерфейса. Рассмотрим их.

Пользователь «ГлавАдмин» - имеет все возможные привилегии (рис. 11).

Рис. 11 - интерфейс пользователя «ГлавАдмин»

 

«Кассир» - не имеет доступа к меню «Операции» и Отчеты, а так же имеет права только на чтение всех документов, кроме документов, относящихся к журналу документов «Касса», которые он может проводить и вводить на основании остальных (рис. 12).

Рис. 12 - интерфейс пользователя «Кассир»

Пользователь «Управляющий» - не имеет доступа к меню «Операции» (рис. 13).

Рис. 13 - интерфейс пользователя «Управляющий»

3.     
Работа прикладного решения в режиме 1с8: предприятие

 

.1 Запуск прикладного решения от имени пользователя «Кассир»


«Кассир» - не имеет доступа к меню «Операции» и Отчеты, а так же имеет права только на чтение всех документов, кроме документов, относящихся к журналу документов «Касса», которые он может проводить и вводить на основании остальных.

При запуске приложения в режиме «Предприятие» перед нами откроется следующее меню (рис. 14):

Рис. 14 - Меню пользователя «Кассир»

Откроем справочник «Клиенты» и нажмем кнопку «Печать». Перед нами возникнет печатная форма справочника с возможностью расшифровки клиента (рис. 15).

Рис. 15 - Печатная форма справочника «Клиенты»

Наведем курсор на Ф.И.О. какого-нибудь клиента и нажмем на появившуюся «лупу» (рис. 16).

Рис. 16 - Расшифровка

Вновь нажмем на кнопку «Печать» (рис. 17).

Рис. 17 - Печать с расшифровкой

Таким образом, из печатной формы списка справочника мы попали в печатную форму элемента.

Откроем документ «ЗакупкаМатериалов» и нажмем кнопку «Печать» списка документов (рис. 18)

Рис. 18 - Печатная форма списка документов

Теперь откроем какой-нибудь документ, например №2, и увидим, что здесь нам доступны всего две функции - «Закрытие документа» и «Печать» (рис. 19).

Рис. 19 - Форма документов

Нажмем кнопку «Печать» (рис. 20):

Рис. 20 - Печатная форма документа «Закупка материалов»

Теперь нажмем «Перейти» и выберем «Оставшиеся материалы» - мы увидим движения документа регистре накопления «ОставшиесяМатериалы» (рис. 21).

Рис. 21 - Движения в регистр «Оставшиеся материалы»

Движения документа в регистре сведений «ЦеныЗакупокИПродаж» (рис. 22)

Рис. 22 - Движения в регистр «Цены закупок и продаж»

Введем на основании данного документа документ «ОплатаЗакупок» (рис. 23).

Рис. 24 - Документ «Оплата закупок»

 

3.2 Запуск прикладного решения от имени пользователя «Управляющий»


«Управляющий» - не имеет доступа к меню «Операции», но зато он имеет доступ ко всем отчетам, которые мы и посмотрим.

При запуске приложения в режиме «Предприятие» перед нами откроется меню (рис. 25). Кроме того, пользователю будет доступен целый ряд отчетов (рис. 26-30)

Рис. 25 - Меню пользователя «Управляющий»

Рис. 26 - Отчет «Активность клиентов»

Рис. 27 - Отчет «Используемые материалы

Рис. 28 - Отчет «Выполненные работы»

Рис. 29 - Отчет «Предоставленные услуги за период»

Рис. 30 - Отчет «Использованные материалы за период»

Создадим новый документ «РемонтныеРаботы» (рис. 31).

Рис. 31 - Создание документа «Ремонтные работы»

Выберем клиента Иванова (рис. 32).

Рис. 32 - Заполнение документа

В левом нижнем углу возникнет информация о скидках, предоставляемых данному клиенту (если бы мы выбрали клиента Петрова, у которого нет дисконтной карты, то этот квадрат остался пустым), которая берется из справочника «Клиенты».

Заполним табличные части документа (рис. 33).

Рис. 33 - Заполнение документа

Заметим, что при выбранном, как в нашем случае, клиенте, цены материала и услуг будут рассчитываться уже по дисконтной программе!

Теперь нажмем кнопку «Записать». На экране появиться следующее сообщение (рис. 34)

Рис. 34 - Сообщение

И заполнятся «скидочные» поля документа (рис. 35)

Рис. 35 - Авто заполнение полей

Заметим, что если мы уже после записи документа решим изменить клиента, а соответственно вид расчета с ним (по «скидочной» программе или нет), элементы табличных частей пересчитаются автоматически (рис. 36)!!!

Рис. 36 - Общая сумма

При записи документа появится сообщение (рис. 37) и общая сумма документа будет пересчитана (рис. 38).

Рис. 37 - Сообщение

Рис. 38 - Пересчет

Заключение

В курсовой работе была произведена разработка прикладного решения для автоматизации учета клиентов ремонтной службы.

Работа была выполнена в среде 1С: Предприятие 8.0.

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

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

Список литературы


1. А.Н. Егоров, Н.В. Крупенина - Прикладное программирование. Основы конфигурирования в среде 1С: Предприятие 8 - Спб, СПБГУВК, 2009 - 298 с.

2.      А.Н. Егоров, Н.В. Крупенина - Информационные основы обработки данных. Конфигурирование в среде 1С: Предприятие 8 - Спб, СПБГУВК, 2010 - 323 с.

Похожие работы на - Создание автоматизированной информационно-справочной системы учета карточек клиентов ремонтной службы

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!