Файл: Разработка конфигурации Магазин «Продукты» на платформе 1С:Предприятие.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 18.05.2023

Просмотров: 782

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

1. Краткий анализ предметной области

1.1. Характеристика предприятия и его деятельности

1.2. Организационная структура управления предприятием

2. Анализ существующего программного обеспечения, позволяющего решить поставленную задачу

3. Обоснование выбора системы для разработки прикладного решения

3.1. Сравнительный анализ готовых решений

3.2. Сравнительный анализ способов приобретения ИС

3.3. Сравнительный анализ компаний – разработчиков ИС

4. Обоснование требований к разрабатываемому прикладному решению

4.1. Сравнительный анализ стратегий внедрения ИС

5. Анализ среды разработки

5.1. Риски разработки и внедрения ИС

5.2. Возможные дефекты ИС

5.3. Разграничение прав доступа к ИС

6. Архитектура разрабатываемого прикладного решения

7. Алгоритмы взаимодействия объектов конфигурации

8. Описание основных объектов (элементов) разрабатываемого прикладного решения

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

10. Тестирование разработанного прикладного решения

Заключение

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

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

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

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

КонецЦикла;

Движения.ДеньгиВКассе.Записывать = Истина;

Движения.ДеньгиВКассе.Очистить();

Движение = Движения.ДеньгиВКассе.Добавить();

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

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

Движение.Касса = Касса;

Движение.ДатаОперации = Дата;

Движение.Наличные = ИтогоПоЧеку;

Движение.ДатаОпер = Дата;

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

  1. Модуль формы документа «Возврат» обеспечивает пересчет итога по чеку:

Процедура ТоварыПослеУдаления(Элемент)

Итогопочеку=товары.Итог("Стоимость");

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

  1. Модуль объекта документа «Возврат» обеспечивает ввод на основании продажи и проведение по регистрам:

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

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

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

Касса = ДанныеЗаполнения.Касса;

Кассир = ДанныеЗаполнения.Кассир;

Продажа = ДанныеЗаполнения.Ссылка;

ТипЦен = ДанныеЗаполнения.ТипЦен;

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

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

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

НоваяСтрока.Стоимость = ТекСтрокаТовары.СтоимостьСоСкидкой;

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

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

КонецЦикла;

КонецЕсли;

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

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

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

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

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

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

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

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

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

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

КонецЦикла;

Движения.ДеньгиВКассе.Записывать = Истина;

Движения.ДеньгиВКассе.Очистить();

Движение = Движения.ДеньгиВКассе.Добавить();

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

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

Движение.Касса = Касса;

Движение.ДатаОперации = Дата;

Движение.Наличные = ИтогоПоЧеку;

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

  1. Модуль объекта документа «Инкассация» обеспечивает проведение документа по регистрам:

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

Движения.ДеньгиВКассе.Записывать = Истина;


Движения.ДеньгиВКассе.Очистить();

Движение = Движения.ДеньгиВКассе.Добавить();

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

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

Движение.Касса = Касса;

Движение.ДатаОперации = Дата;

Движение.Наличные = ИзъятаяСумма;

Движение.ДатаОпер = Дата;

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

  1. Модель отчета «Отчет по кассе»:

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

ОтчетПоКассеИнициализация();

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

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

СохранитьЗначение("НастройкаОтчетыОтчетПоКассеОтчетПоКассе_74b127b4-1d6f-48ba-b37b-a28d98dfe291", ПостроительОтчетаОтчетПоКассе.ПолучитьНастройки());

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

Процедура ДействияФормыОтчетПоКассеНастройка(Кнопка)

Форма = ОтчетОбъект.ПолучитьФорму("ОтчетПоКассеНастройка");

Форма.ПостроительОтчета = ПостроительОтчетаОтчетПоКассе;

Настройка = ПостроительОтчетаОтчетПоКассе.ПолучитьНастройки();

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

ОтчетПоКассеВывести();

Иначе

ПостроительОтчетаОтчетПоКассе.УстановитьНастройки(Настройка);

КонецЕсли;

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

Процедура ДействияФормыОтчетПоКассеСформировать(Кнопка)

ОтчетПоКассеВывести();

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

Процедура ОтчетПоКассеВывести()

ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

ПостроительОтчетаОтчетПоКассе.Параметры.Вставить("Период1", Период1);

ПостроительОтчетаОтчетПоКассе.Параметры.Вставить("Период2", Период2);

ПостроительОтчетаОтчетПоКассе.Выполнить();

ПостроительОтчетаОтчетПоКассе.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;

ПостроительОтчетаОтчетПоКассе.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОтчетПоКассе.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОтчетПоКассе.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);

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

ПостроительОтчетаОтчетПоКассе.ОформитьМакет();

ПостроительОтчетаОтчетПоКассе.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

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

Процедура ОтчетПоКассеИнициализация()

ПостроительОтчетаОтчетПоКассе.Текст =

"ВЫБРАТЬ

| ДеньгиВКассеОстаткиИОбороты.Касса КАК Касса,

| СУММА(ДеньгиВКассеОстаткиИОбороты.НаличныеНачальныйОстаток) КАК НаличныеНачальныйОстаток,

| СУММА(ДеньгиВКассеОстаткиИОбороты.НаличныеПриход) КАК НаличныеПриход,


| СУММА(ДеньгиВКассеОстаткиИОбороты.НаличныеРасход) КАК НаличныеРасход,

| СУММА(ДеньгиВКассеОстаткиИОбороты.НаличныеКонечныйОстаток) КАК НаличныеКонечныйОстаток,

| ДеньгиВКассеОстаткиИОбороты.Период

|ИЗ

| РегистрНакопления.ДеньгиВКассе.ОстаткиИОбороты(, , День, , ) КАК ДеньгиВКассеОстаткиИОбороты

|ГДЕ

| ДеньгиВКассеОстаткиИОбороты.Период МЕЖДУ &Период1 И &Период2

|

|СГРУППИРОВАТЬ ПО

| ДеньгиВКассеОстаткиИОбороты.Касса,

| ДеньгиВКассеОстаткиИОбороты.Период

|ИТОГИ

| СУММА(НаличныеНачальныйОстаток),

| СУММА(НаличныеПриход),

| СУММА(НаличныеРасход),

| СУММА(НаличныеКонечныйОстаток)

|ПО

| Касса";

ПостроительОтчетаОтчетПоКассе.ЗаполнитьНастройки();

ПостроительОтчетаОтчетПоКассе.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;

ПостроительОтчетаОтчетПоКассе.ТекстЗаголовка = "Отчет по кассе";

Настройка = ВосстановитьЗначение("НастройкаОтчетыОтчетПоКассеОтчетПоКассе_74b127b4-1d6f-48ba-b37b-a28d98dfe291");

Если Настройка <> Неопределено Тогда

ПостроительОтчетаОтчетПоКассе.УстановитьНастройки(Настройка);

КонецЕсли;

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

  1. Модуль формы отчета по продажам:

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

ОтчетПоПродажамИнициализация();

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

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

СохранитьЗначение("НастройкаОтчетыОтчетПоПродажамОтчетПоПродажам_b925ff45-4de7-4fbd-bda3-080b8b03955e", ПостроительОтчетаОтчетПоПродажам.ПолучитьНастройки());

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

Процедура ДействияФормыОтчетПоПродажамНастройка(Кнопка)

Форма = ОтчетОбъект.ПолучитьФорму("ОтчетПоПродажамНастройка");

Форма.ПостроительОтчета = ПостроительОтчетаОтчетПоПродажам;

Настройка = ПостроительОтчетаОтчетПоПродажам.ПолучитьНастройки();

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

ОтчетПоПродажамВывести();

Иначе

ПостроительОтчетаОтчетПоПродажам.УстановитьНастройки(Настройка);

КонецЕсли;

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

Процедура ДействияФормыОтчетПоПродажамСформировать(Кнопка)

ОтчетПоПродажамВывести();

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

Процедура ОтчетПоПродажамВывести()

ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

ЭлементыФормы.Диаграмма.Очистить();

ПостроительОтчетаОтчетПоПродажам.Параметры.Вставить("Дата1", Дата1);

ПостроительОтчетаОтчетПоПродажам.Параметры.Вставить("Дата2", Дата2);

ПостроительОтчетаОтчетПоПродажам.Выполнить();

ПостроительОтчетаОтчетПоПродажам.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;


ПостроительОтчетаОтчетПоПродажам.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОтчетПоПродажам.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОтчетПоПродажам.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);

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

ПостроительОтчетаОтчетПоПродажам.ОформитьМакет();

ПостроительОтчетаОтчетПоПродажам.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

ПостроительОтчетаОтчетПоПродажам.Вывести(ЭлементыФормы.Диаграмма);

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

Процедура ОтчетПоПродажамИнициализация()

ПостроительОтчетаОтчетПоПродажам.Текст =

"ВЫБРАТЬ

| ПродажаТовары.Товар КАК Товар,

| ПРЕДСТАВЛЕНИЕ(ПродажаТовары.Товар),

| ПродажаТовары.Количество КАК Количество

|ИЗ

| Документ.Продажа.Товары КАК ПродажаТовары

|ГДЕ

| ПродажаТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2

|ИТОГИ

| СУММА(Количество)

|ПО

| ОБЩИЕ,

| Товар";

ПостроительОтчетаОтчетПоПродажам.ЗаполнитьНастройки();

ПостроительОтчетаОтчетПоПродажам.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;

ПостроительОтчетаОтчетПоПродажам.ТекстЗаголовка = "Отчет по продажам";

Настройка = ВосстановитьЗначение("НастройкаОтчетыОтчетПоПродажамОтчетПоПродажам_b925ff45-4de7-4fbd-bda3-080b8b03955e");

Если Настройка <> Неопределено Тогда

ПостроительОтчетаОтчетПоПродажам.УстановитьНастройки(Настройка);

КонецЕсли;

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

  1. Модуль формы отчета по остаткам товаров:

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

ОтчетПоОстаткамТоваровИнициализация();

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

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

СохранитьЗначение("НастройкаОтчетыОтчетПоОстаткамТоваровОтчетПоОстаткамТоваров_3e80fb86-a761-4e0b-a66c-e8ddba30e73e", ПостроительОтчетаОтчетПоОстаткамТоваров.ПолучитьНастройки());

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

Процедура ДействияФормыОтчетПоОстаткамТоваровНастройка(Кнопка)

Форма = ОтчетОбъект.ПолучитьФорму("ОтчетПоОстаткамТоваровНастройка");

Форма.ПостроительОтчета = ПостроительОтчетаОтчетПоОстаткамТоваров;

Настройка = ПостроительОтчетаОтчетПоОстаткамТоваров.ПолучитьНастройки();

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

ОтчетПоОстаткамТоваровВывести();

Иначе

ПостроительОтчетаОтчетПоОстаткамТоваров.УстановитьНастройки(Настройка);


КонецЕсли;

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

Процедура ДействияФормыОтчетПоОстаткамТоваровСформировать(Кнопка)

ОтчетПоОстаткамТоваровВывести();

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

Процедура ОтчетПоОстаткамТоваровВывести()

ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

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

ПостроительОтчетаОтчетПоОстаткамТоваров.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;

ПостроительОтчетаОтчетПоОстаткамТоваров.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОтчетПоОстаткамТоваров.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОтчетПоОстаткамТоваров.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);

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

ПостроительОтчетаОтчетПоОстаткамТоваров.ОформитьМакет();

ПостроительОтчетаОтчетПоОстаткамТоваров.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

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

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

ПостроительОтчетаОтчетПоОстаткамТоваров.Текст =

"ВЫБРАТЬ

| ТоварыНаСкладеОстатки.Товар,

| СУММА(ТоварыНаСкладеОстатки.КоличествоОстаток) КАК КоличествоОстаток,

| ТоварыНаСкладеОстатки.Товар.ПолноеНаименование,

| ТоварыНаСкладеОстатки.Товар.ЕдиницаИзмерения,

| ТоварыНаСкладеОстатки.Товар.Производитель,

| ТоварыНаСкладеОстатки.Товар.ОсновнойПоставщик

|ИЗ

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

|

|СГРУППИРОВАТЬ ПО

| ТоварыНаСкладеОстатки.Товар,

| ТоварыНаСкладеОстатки.Товар.ПолноеНаименование,

| ТоварыНаСкладеОстатки.Товар.ЕдиницаИзмерения,

| ТоварыНаСкладеОстатки.Товар.Производитель,

| ТоварыНаСкладеОстатки.Товар.ОсновнойПоставщик";

ПостроительОтчетаОтчетПоОстаткамТоваров.ЗаполнитьНастройки();

ПостроительОтчетаОтчетПоОстаткамТоваров.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;

ПостроительОтчетаОтчетПоОстаткамТоваров.ТекстЗаголовка = "Отчет по остаткам товаров";

Настройка = ВосстановитьЗначение("НастройкаОтчетыОтчетПоОстаткамТоваровОтчетПоОстаткамТоваров_3e80fb86-a761-4e0b-a66c-e8ddba30e73e");

Если Настройка <> Неопределено Тогда

ПостроительОтчетаОтчетПоОстаткамТоваров.УстановитьНастройки(Настройка);