Разработка конфигурации в системе 1С: Предприятие 8.2

 

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

"Ярославский государственный технический университет"

Кафедра "Информационные системы и технологии"







Курсовая работа

Разработка конфигурации в системе 1С: Предприятие 8.2

Расчетно-пояснительная записка к курсовой работе

по дисциплине "ИТ управления предприятием

ЯГТУ 230201.65 - 012 КР



Преподаватель

О.Ю. Марьясин

студент гр. ЭИС-54

О.А. Толоконцева








Задание по курсовому проектированию


Студентке Толоконцевой Ольге Александровне, факультет инженерно-экономический, курс 5, группа ЭИС-54

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

Представить следующие материалы:

) текстовые:

а) Описание программы

б) Исходный код

Дата выдачи задания "3" октября 2012г.

Срок сдачи законченной работы "10" декабря 2012г.

Отметка о явке на консультацию:

)" "____________2012

)" "____________2012

Оглавление


Задание

Разработка конфигурации

Разработка управляемого приложения

Реализация бизнес - процесса "Продажа товара"

Анализ данных в системе 1С 8.2

Вывод

Задание


1.Разработать конфигурацию, реализующую учет товаров на складе хоз. товаров. Конфигурация должна содержать:

·Константы: НаименованиеФирмы, АдресФирмы, ТелФирмы, EmailФирмы, НДС (в %).

·Справочники: Контрагенты, Товары;

·Документы: Заявка покупателя, Приход товара, Продажа товара;

·Журналы документов: Документы по закупкам, Документы по продажам;

·Отчёты: Прайс-лист, Остатки товаров на складе, Отчёт по закупкам, Отчёт по продажам;

·Для работы с конфигурацией необходимо создать двух пользователей. Первый пользователей - Иванов (Администратор) с полными правами и интерфейсом. Второй пользователь Петров (Менеджер) с ограниченными правами (нельзя редактировать константы) и ограниченным интерфейсом (Нет пункта Операции в главном меню);

2. Разработать управляемое приложение, анализ данных:

·Режим запуска "Управляемое приложение".

·Создать подсистемы;

·Для каждой подсистемы сформировать панель навигации, действий Создать и Отчеты;

·Настроить подсистему рабочий стол;

3. Реализация бизнес-процессов и задач:

·Справочники: Сотрудники, Подразделения, Роли Исполнителей;

·В документе Заявки Покупателя добавить реквизит Оплата Счета;

·Создать регистр сведений: регистр адресации;

·Определить параметр сеанса Текущий Исполнитель;

·Создать объект Задачи;

·Создать объект бизнес - процесс;

4. Анализ данных:

·Создать 15-20 документов;

·Создать отчеты Статистика, Поиск Ассоциаций, Поиск Последовательностей.

Разработка конфигурации


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

В 1С константы выглядит следующим образом:


Рисунок 1 - окно константы


Для каждой константы нужно обязательно указать ее имя и тип данных. Кроме того, желательно указывать синоним, комментарий. Обратите внимание на свойство "Допустимая длина" для констант строкового типа. Можно задать фиксированную или переменную длину константы.

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


конфигурация база учет товар

Рисунок 2 - окно свойства константы


Работа со справочниками. Справочник Контрагенты имеет иерархическую структуру с группами Поставщики и Покупатели. Он включает дополнительные реквизиты Адрес, Телефон, ЭлПочта.


Рисунок 3 - Создание справочника контрагенты


Справочник Товары: Поставщики и Покупатели. Дополнительные реквизиты: Производитель, Цена покупки, Наценка (в %), Скидка (в %), Цена продажи.


Рисунок 4 - Создание справочника товары


Цена продажи формируется при вводе элемента справочника.


Рисунок 5 - Окно модуля формы элемента


Работа с документами. Создаем 3 документа: заявка покупателя, приход товара и продажа товара.

Документ Приход товара включает дополнительные реквизиты в шапке документа: Фирма, поставщик, Комментарий; в табличной части: Наименование, количество, Цена, Сумма.


Рисунок 6 - Окно создания документа


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


Рисунок 7 - Окно свойства Товары Наименование


Поле Количество должно иметь кнопку выбора для вызова калькулятора:


Рисунок 8 - Окно свойства Товары Количество


Значение поля Цена подставляется из справочника, и в модуле документа прописываем процедуру:


Процедура ТоварыНаименованиеПриИзменении (Элемент)

Строка=ЭлементыФормы. Товары. ТекущиеДанные;

Строка. Цена=Строка. Наименование. ЦенаПокупки;

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


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


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

Строка=ЭлементыФормы. Товары. ТекущиеДанные;

Строка. Сумма=Строка. КолВо*Строка. Цена;

СуммаДок=Товары. Итог ("Сумма");

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


Под табличной частью выводится итоговая сумма по всем строкам.


Рисунок 9 - Окно документа Приход товара


В модуле также прописываем процедуру при открытии:


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

Фирма=Константы. НаименованиеФирмы. Получить ();

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


Формируется печатная форма документа виде в виде приходной накладной:


Рисунок 10 - Окно печатной формы документа


Процедуру прописываем в модуле:


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

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

Макет = Документы. ПриходТовара. ПолучитьМакет ("Печать");

// Заголовок

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

Область. Параметры. Заполнить (ЭтотОбъект);

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

// Шапка

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

Шапка. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Шапка);

// Товары

Область = Макет. ПолучитьОбласть ("ТоварыШапка");

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

КолВо = 0;

ОбластьТовары = Макет. ПолучитьОбласть ("Товары");

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

ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);

КолВо = КолВо + 1;

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

КонецЦикла;

// вывод области "Всего"

Область = Макет. ПолучитьОбласть ("Всего");

Область. Параметры. ИтогСумма = Товары. Итог ("Сумма");

СуммаДок = Область. Параметры. ИтогСумма;

СуммаНДС = СуммаДок - (СуммаДок/1.18);

Область. Параметры. СуммаНДС = СуммаНДС;

Область. Параметры. Заполнить (ЭтотОбъект);

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

// вывод области "Сумма"

Область = Макет. ПолучитьОбласть ("Сумма");

Область. Параметры. СуммаДокумента = ЧислоПрописью (СуммаДок,, "Рубль, рубля, рублей, м, копейка, копейки, копеек, ж");

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

Область. Параметры. Заполнить (ЭтотОбъект);

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

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

ТабДок. Защита = Ложь;

ТабДок. ТолькоПросмотр = Ложь;

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

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

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


Документ Заявка Покупателя включает дополнительные реквизиты в шапке документа: Фирма, Покупатель, Комментарий; в табличной части: Наименование, Количество, Цена, Сумма. Поле Наименование должно иметь кнопку выбора для выбора товара из справочника, поле Количество должно иметь кнопку выбора для вызова калькулятора. Значение поля Цена должно подставляться из справочника. Сумма в строке должна рассчитываться автоматически. Под табличной частью должна выводиться итоговая сумма по всем строкам. Должна формироваться печатная форма документа в виде Счета.


Рисунок 11 - Окно печатной формы документа


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

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

Макет = Документы. ЗаявкиПокупателя. ПолучитьМакет ("Печать");

// Заголовок

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

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

// Шапка

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

Шапка. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Шапка);

// Товары

Область = Макет. ПолучитьОбласть ("ТоварыШапка");

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

КолВо = 0;

ОбластьТовары = Макет. ПолучитьОбласть ("Товары");

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

ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);

КолВо = КолВо + 1;

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

КонецЦикла;

// вывод области "Всего"

Область = Макет. ПолучитьОбласть ("Всего");

Область. Параметры. ИтогСумма = Товары. Итог ("Сумма");

СуммаДок = Область. Параметры. ИтогСумма;

СуммаНДС = СуммаДок - (СуммаДок/1.18);

Область. Параметры. СуммаНДС = СуммаНДС;

Область. Параметры. Заполнить (ЭтотОбъект);

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

// вывод области "Сумма"

Область = Макет. ПолучитьОбласть ("Сумма");

Область. Параметры. СуммаДокумента = ЧислоПрописью (СуммаДок,, "Рубль, рубля, рублей, м, копейка, копейки, копеек, ж");

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

Область. Параметры. Заполнить (ЭтотОбъект);

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

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

ТабДок. Защита = Ложь;

ТабДок. ТолькоПросмотр = Ложь;

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

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

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


Документ Продажа товара включает дополнительные реквизиты в шапке документа: Фирма, Покупатель, Комментарий; в табличной части: Наименование, Количество, Цена, Сумма. Поле Наименование должно иметь кнопку выбора для выбора товара из справочника, поле Количество должно иметь кнопку выбора для вызова калькулятора. Значение поля Цена должно подставляться из справочника. Сумма в строке должна рассчитываться автоматически. Под табличной частью должна выводиться итоговая сумма по всем строкам. Должна формироваться печатная форма документа в виде расходной накладной. В печатных формах всех документов рассчитывается и указывается сумма НДС, общее количество наименований товара и сумма прописью. Документы должны иметь возможность записи без проведения и с проведением.

Текст процедур прописываем в модуле документа:


Процедура ТоварыНаименованиеПриИзменении (Элемент)

Строка=ЭлементыФормы. Товары. ТекущиеДанные;

Строка. Цена=Строка. Наименование. ЦенаПокупки;

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

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

Строка=ЭлементыФормы. Товары. ТекущиеДанные;

Строка. Сумма=Строка. КолВо*Строка. Цена;

СуммаДок=Товары. Итог ("Сумма");

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

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

Фирма=Константы. НаименованиеФирмы. Получить ();

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

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

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

Макет = Документы. ПродажаТовара. ПолучитьМакет ("Печать");

// Заголовок

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

Область. Параметры. Заполнить (ЭтотОбъект);

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

// Шапка

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

Шапка. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Шапка);

// Товары

Область = Макет. ПолучитьОбласть ("ТоварыШапка");

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

КолВо = 0;

ОбластьТовары = Макет. ПолучитьОбласть ("Товары");

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

ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);

КолВо = КолВо + 1;

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

КонецЦикла;

// вывод области "Всего"

Область = Макет. ПолучитьОбласть ("Всего");

Область. Параметры. ИтогСумма = Товары. Итог ("Сумма");

СуммаДок = Область. Параметры. ИтогСумма;

СуммаНДС = СуммаДок - (СуммаДок/1.18);

Область. Параметры. СуммаНДС = СуммаНДС;

Область. Параметры. Заполнить (ЭтотОбъект);

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

// вывод области "Сумма"

Область = Макет. ПолучитьОбласть ("Сумма");

Область. Параметры. СуммаДокумента = ЧислоПрописью (СуммаДок,, "Рубль, рубля, рублей, м, копейка, копейки, копеек, ж");

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

Область. Параметры. Заполнить (ЭтотОбъект);

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

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

ТабДок. Защита = Ложь;

ТабДок. ТолькоПросмотр = Ложь;

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

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

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


Печатная форма в виде расходной накладной.


Рисунок 12 - Окно печатной формы документа


Документ Продажа товара формируется на основании документа Заявка покупателя. Процедура прописывается в модуле объекта документа Продажа и строится с помощью конструктора:


Процедура ОбработкаЗаполнения (ДанныеЗаполнения, СтандартнаяОбработка)

Если ТипЗнч (ДанныеЗаполнения) = Тип ("ДокументСсылка. ЗаявкиПокупателя") Тогда

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

Покупатель = ДанныеЗаполнения. Покупатель;

СуммаДок = ДанныеЗаполнения. СуммаДок;

Фирма = ДанныеЗаполнения. Фирма;

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

НоваяСтрока = Товары. Добавить ();

НоваяСтрока. КолВо = ТекСтрокаТовары. КолВо;

НоваяСтрока. Наименование = ТекСтрокаТовары. Наименование;

НоваяСтрока. Сумма = ТекСтрокаТовары. Сумма;

НоваяСтрока. Цена = ТекСтрокаТовары. Цена; КонецЦикла;

КонецЕсли;

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


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

Документ ПриходТовара:


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

// регистр ОстаткиТовара Приход

Движения. ОстаткиТовара. Записывать = Истина;

Движения. ОстаткиТовара. Очистить ();

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

Движение = Движения. ОстаткиТовара. Добавить ();

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

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

Движение. Товары = ТекСтрокаТовары. Наименование;

Движение. Контрагент = Поставщик;

Движение. Сумма = ТекСтрокаТовары. Сумма;

Движение. КолВо = ТекСтрокаТовары. КолВо;

КонецЦикла;

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


Документ ЗаявкаПокупателя:


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

// регистр ОстаткиТовара Приход

Движения. ОстаткиТовара. Записывать = Истина;

Движения. ОстаткиТовара. Очистить ();

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

Движение = Движения. ОстаткиТовара. Добавить ();

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

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

Движение. Контрагент = Покупатель;

Движение. Товары = ТекСтрокаТовары. Наименование;

Движение. Сумма = ТекСтрокаТовары. Сумма;

Движение. КолВо = ТекСтрокаТовары. КолВо;

КонецЦикла;


Документ ПродажаТовара:


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

// регистр ОстаткиТовара Расход

Движения. ОстаткиТовара. Записывать = Истина;

Движения. ОстаткиТовара. Очистить ();

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

Движение = Движения. ОстаткиТовара. Добавить ();

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

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

Движение. Товары = ТекСтрокаТовары. Наименование;

Движение. Контрагент = Покупатель;

Движение. Сумма = ТекСтрокаТовары. Сумма;

Движение. КолВо = ТекСтрокаТовары. КолВо;

КонецЦикла;

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


Работа с журналами документов. Создаем 2 журнала: Документы по закупкам и Документы по продажам. Журналы должны включать дополнительные реквизиты Контрагент и Сумма по документу.

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


Рисунок 13 - Окно отчета Прайс - лист


Рисунок 14 - Окно отчета Отчет по закупкам


Рисунок 15 - Окно отчета Отчет по продажам


Отчет Остатки товаров на складе создали с помощью запроса, процедуру прописываем в модуле формы отчета.


Процедура КнопкаСформироватьНажатие (Кнопка)

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

Макет = ЭтотОбъект. ПолучитьМакет ("Макет");

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

ОбластьМакета. Параметры. ТекущаяДата = ТекущаяДата ();

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

Запрос = Новый Запрос;

Если Товары. Наименование <> "" Тогда

Запрос. Текст = "

|Выбрать

| ОстаткиТовараОстатки. Товары,

| ОстаткиТовараОстатки. Товары. Наименование КАК Наименование,

| ОстаткиТовараОстатки. КолВоОстаток КАК Количество

| Из

| РегистрНакопления. ОстаткиТовара. Остатки КАК ОстаткиТовараОстатки

| Где

| ОстаткиТовараОстатки. Товары В (&Товары)

|";

Иначе

Запрос. Текст = "

|ВЫБРАТЬ

| ОстаткиТовараОстатки. Товары,

| ОстаткиТовараОстатки. Товары. Наименование КАК Наименование,

|ОстаткиТовараОстатки. КолВоОстаток КАК Количество

| Из

| РегистрНакопления. ОстаткиТовара. Остатки КАК ОстаткиТовараОстатки

|";

КонецЕсли;

Запрос. УстановитьПараметр ("Товары", Товары);

Результат = Запрос. Выполнить ();

Выборка = Результат. Выбрать ();

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

ОбластьМакета = Макет. ПолучитьОбласть ("Товар");

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

ОбластьМакета. Параметры. Количество = Выборка. Количество;

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

КонецЦикла;

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

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


Рисунок 16 - Окно отчета Остатки


Создание пользователей.

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

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

Разработка управляемого приложения


Изменяем свойство конфигурации Основной режим запуска на "Управляемое приложение". Создаем подсистемы Закупки и Продажи, и определяем состав объектов каждой подсистемы.


Рисунок 17 - Окно подсистемы


Для каждой подсистемы сформировываем панель навигации, действий Создать и Отчеты.


Рисунок 18 - Окно рабочего стола


Рисунок 19 - Окно подсистемы Закупки


Рисунок 20 - Окно подсистемы Продажи


Сформируем отчет по закупкам в управляемом приложении.


Рисунок 21 - Окно отчета


Реализация бизнес - процесса "Продажа товара"


Режим запуска "Обычное приложение". Создаем справочники Сотрудники (данные: Иванов, Петров, Сидоров), Подразделения (данные: отдел продаж, склад), Роли Исполнителей (данные: кладовщик, продавец, руководитель отдела). В форме документа Заявка покупателя создаем реквизит ОплатаСчета.

Создаем регистр сведений РегистрАдресации.


Рисунок 22 - Окно регистра


Определяем параметр сеанса Текущий исполнитель.


Рисунок 23 - Окно свойства


Создаем объект конфигурации Задача.


Рисунок 24 - Окно свойства задачи


В модуле объекта определяем обработчики событий.


Процедура ПередВыполнением (Отказ)

Если ДатаВыполнения = '00010101' Тогда

ДатаВыполнения = ТекущаяДата ();

КонецЕсли; Если Исполнитель. Пустая () Тогда

Исполнитель = ПараметрыСеанса. ТекущийИсполнитель;

КонецЕсли;

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

Процедура ПриВыполнении ()

Сообщить ("Задача выполнена: "+""""+Наименование+"""");

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

Процедура ПриЗаписи ()

Если ЭтоНовый () Тогда

Сообщить ("Сформирована задача: "+""""+Наименование+"""");

Сообщить ("Исполнитель"+Исполнитель);

Сообщить ("Подразделение"+подразделение);

КонецЕсли;

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


Создаем объект конфигурации бизнес - процесс "Продажа товара".


Рисунок 25 - Окно свойства бизнес - процесса


Создаем карту маршрута.


Рисунок 26 - Окно карты маршрута


Процедуры описываем в модуле объекта:


Процедура СтартПередСтартом (ТочкаМаршрутаБизнесПроцесса, Отказ)

НужноЗаписать = Ложь;

ЕСЛИ Счет. Пустая () ТОГДА

СчетОбъект = Документы. ЗаявкиПокупателя. СоздатьДокумент ();

СчетОбъект. Дата = ТекущаяДата ();

СчетОбъект. Записать ();

Счет = СчетОбъект. Ссылка;

НужноЗаписать = Истина;

КОНЕЦЕСЛИ;

ЕСЛИ РасходнаяНакладная. Пустая () ТОГДА

РасходнаяНакладнаяОбъект = Документы. ПродажаТовара. СоздатьДокумент ();

РасходнаяНакладнаяОбъект. Дата = ТекущаяДата ();

РасходнаяНакладнаяОбъект. Записать ();

РасходнаяНакладная = РасходнаяНакладнаяОбъект. Ссылка;

НужноЗаписать = Истина;

КОНЕЦЕСЛИ;

ЕСЛИ НужноЗаписать ТОГДА

Записать ();

КОНЕЦЕСЛИ;

СООБЩИТЬ ("Старт бизнес-процесса: " + """" + ЭтотОбъект. МетаДанные (). Синоним+"""");

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

Процедура СчетОплаченПроверкаУсловия (ТочкаМаршрутаБизнесПроцесса, Результат)

Результат = Счет. ОплатаСчета;

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

Процедура ВыпискаСчетаОбработкаИнтерактивнойАктивации (ТочкаМаршрутаБизнесПроцесса, Задача, СтандартнаяОбработка)

Счет. ПолучитьФорму ("ФормаДокумента"). Открыть ();

СтандартнаяОбработка=Ложь;

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

Процедура ВыпискаСчетаПередИнтерактивнымВыполнением (ТочкаМаршрутаБизнесПроцесса, Задача, Отказ)

Если Счет. Товары. Количество () =0 тогда

Отказ=Истина;

КонецЕсли;

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

Процедура ВыпискаНакладнойОбработкаИнтерактивнойАктивации (ТочкаМаршрутаБизнесПроцесса, Задача, СтандартнаяОбработка)

РасходнаяНакладная. ПолучитьФорму ("ФормаДокумента"). Открыть ();

СтандартнаяОбработка=Ложь;

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

Процедура ВыпискаНакладнойПередИнтерактивнымВыполнением (ТочкаМаршрутаБизнесПроцесса, Задача, Отказ)

Если РасходнаяНакладная. Товары. Количество () =0 тогда

Отказ=Истина;

КонецЕсли;

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

Процедура ОтгрузкаСоСкладаОбработкаИнтерактивнойАктивации (ТочкаМаршрутаБизнесПроцесса, Задача, СтандартнаяОбработка)

РасходнаяНакладная. ПолучитьФорму ("ФормаДокумента"). Открыть ();

СтандартнаяОбработка=Ложь;

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

Процедура НормальноеЗавершениеПриЗавершении (ТочкаМаршрутаБизнесПроцесса, Отказ)

Сообщить ("Завершение бизнес-процесса: "+""""+ЭтотОбъект. Метаданные (). Синоним+"""");

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

Процедура НетПриЗавершении (ТочкаМаршрутаБизнесПроцесса, Отказ)

Сообщить ("Досрочное завершение бизнес-процесса: "+""""+ЭтотОбъект. Метаданные (). Синоним+"""");

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


В модуле обычного приложения определяем процедуры:


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

ПараметрыСеанса. ТекущийИсполнитель=Справочники. Сотрудники. НайтиПоКоду (ИмяПользователя ());

ПодключитьОбработчикОповещения ("ОбработчикОповещения");

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

Процедура ОбработчикОповещения (ИмяСобытия, Параметр, Источник) Экспорт

Если ИмяСобытия="ЗаписьСчета" Тогда

Запрос=Новый Запрос;

Запрос. УстановитьПараметр ("Парам", Источник. Ссылка);

Запрос. Текст="ВЫБРАТЬ

|Задача. Ссылка

|Из

|БизнесПроцесс. ПродажаТовара КАК ПродажаТовара ЛЕВОЕ СОЕДИНЕНИЕ Задача. Задача. ЗадачиПоИсполнителю КАК Задача

|ПО ПродажаТовара. Ссылка=Задача. БизнесПроцесс

|ГДЕ (Задача. Выполнена=Ложь) и (ПродажаТовара. Счет=&Парам)";

Выборка=Запрос. Выполнить (). Выбрать ();

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

ТекущаяЗадача=Выборка. Ссылка. ПолучитьОбъект ();

Если ТекущаяЗадача. ТочкаМаршрута=БизнесПроцессы. ПродажаТовара. ТочкиМаршрута. ВыпискаСчета Тогда

ФормаСчета=ТекущаяЗадача. БизнесПроцесс. Счет. ПолучитьФорму ();

Если ФормаСчета. Открыта () =Истина Тогда

Если Вопрос ("Пометить задачу"""+ТекущаяЗадача. Наименование+"""как выполненную?",РежимДиалогаВопрос. ДаНет) =КодВозвратаДиалога. Да Тогда

ТекущаяЗадача. ВыполнитьЗадачу ();

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецЦикла;

КонецЕсли;

Если ИмяСобытия="Списание" Тогда

Запрос=Новый Запрос;

Запрос. УстановитьПараметр ("Парам", Источник. Ссылка);

Запрос. Текст="ВЫБРАТЬ

|Задача. Ссылка

|Из

|БизнесПроцесс. ПродажаТовара КАК ПродажаТовара ЛЕВОЕ СОЕДИНЕНИЕ Задача. Задача. ЗадачиПоИсполнителю КАК Задача

|ПО ПродажаТовара. Ссылка=Задача. БизнесПроцесс

|ГДЕ (Задача. Выполнена=Ложь) и (ПродажаТовара. РасходнаяНакладная=&Парам)";

Выборка=Запрос. Выполнить (). Выбрать ();

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

ТекущаяЗадача=Выборка. Ссылка. ПолучитьОбъект ();

Если ТекущаяЗадача. ТочкаМаршрута=БизнесПроцессы. ПродажаТовара. ТочкиМаршрута. ВыпискаНакладной Тогда

ФормаДокумента=ТекущаяЗадача. БизнесПроцесс. РасходнаяНакладная. ПолучитьФорму ();

Если ФормаДокумента. Открыта () =Истина Тогда

Если Вопрос ("Пометить задачу"""+ТекущаяЗадача. Наименование+"""как выполненную?",РежимДиалогаВопрос. ДаНет) =КодВозвратаДиалога. Да Тогда

ТекущаяЗадача. ВыполнитьЗадачу ();

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецЦикла;

КонецЕсли;

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


В модуле формы документа Заявка покупателя и Продажа товара прописываем процедуру ПриЗаписи для оповещения:


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

Оповестить ("ЗаписьСчета",, ЭтотОбъект);

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

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

Оповестить ("Списание",, ЭтотОбъект);

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


Рисунок 27 - Окно выполненного процесса


Анализ данных в системе 1С 8.2


Вводим в базу не 15 новых документов, по разному сочетая группу товаров. Создаем отчет Статистика, выполняющий анализ данных типа "Общая статистика". В модуле отчета прописываем процедуру:


Процедура КнопкаСформироватьНажатие (Кнопка)

Анализ = Новый АнализДанных;

Анализ. ТипАнализа = Тип ("АнализДанныхОбщаяСтатистика");

запрос = Новый Запрос;

Запрос. Текст = "Выбрать

|ОстаткиТовара. Товары,

|ОстаткиТовара. КолВо

|Из

|РегистрНакопления. ОстаткиТовара КАК ОстаткиТовара";

Анализ. ИсточникДанных = Запрос. Выполнить ();

РезультатАнализа = Анализ. Выполнить ();

Построитель = Новый ПостроительОтчетаАнализаДанных ();

Построитель. Макет = Неопределено;

Построитель. ТипАнализа = Тип ("АнализДанныхОбщаяСтатистика");

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

Построитель. Вывести (РезультатАнализа, ТабДок);

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

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


Рисунок 28 - Окно отчета


Создаем отчет ПоискАссоциаций, выполняющий анализ данных типа "Поиск ассоциаций". Процедуру прописываем в модуле:


Процедура КнопкаСформироватьНажатие (Кнопка)

Анализ = Новый АнализДанных;

Анализ. ТипАнализа =Тип ("АнализДанныхПоискАссоциаций");

Запрос = Новый Запрос;

Запрос. Текст = "Выбрать

|ОстаткиТовара. Регистратор,

| ОстаткиТовара. Товары

|Из

|РегистрНакопления. ОстаткиТовара КАК ОстаткиТовара";

Анализ. ИсточникДанных = Запрос. Выполнить ();

Анализ. Параметры. ТипОтсеченияПравил. Значение = ТипОтсеченияПравилАссоциации. Избыточные;

РезультатАнализа = Анализ. Выполнить ();

Построитель = Новый ПостроительОтчетаАнализаДанных ();

Построитель. Макет = Неопределено;

Построитель. ТипАнализа = Тип ("АнализДанныхПоискАссоциаций");

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

Построитель. Вывести (РезультатАнализа, ТабДок);

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

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


Рисунок 29 - Окно отчета


Создаем отчет ПоискПоследовательностей, выполняющий анализ данных типа "Поиск последовательностей". Процедуру прописываем в модуле:


Процедура КнопкаСформироватьНажатие (Кнопка)

Анализ = Новый АнализДанных;

Анализ. ТипАнализа =Тип ("АнализДанныхПоискПоследовательностей");

Запрос = Новый Запрос;

Запрос. Текст = "Выбрать

|ОстаткиТовара. Контрагент,

|ОстаткиТовара. Товары,

|ОстаткиТовара. Период

|Из

|РегистрНакопления. ОстаткиТовара КАК ОстаткиТовара";

Анализ. ИсточникДанных = Запрос. Выполнить ();

Анализ. НастройкаКолонок. Период. ТипКолонки = ТипКолонкиАнализаДанныхПоискПоследовательностей. Время;

РезультатАнализа = Анализ. Выполнить ();

Построитель = Новый ПостроительОтчетаАнализаДанных ();

Построитель. Макет = Неопределено;

Построитель. ТипАнализа = Тип ("АнализДанныхПоискПоследовательностей");

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

Построитель. Вывести (РезультатАнализа, ТабДок);

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

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


Рисунок 30 - Окно отчета

Вывод


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

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

В отличие от 1С 7.7 восьмая версия намного функциональнее и проще, удобнее как для пользователя, так и для разработчика.


Министерство образования и науки РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ярославск

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ