Диплом: Автоматизация учета продаж в магазине компьютерной техники «COMPIX»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
ПРИЛОЖЕНИЕ
ПРИЛОЖЕНИЕ 1
ER-диаграмма
ПРИЛОЖЕНИЕ 2
Документ «Установка цен на товары»
Код формы документа «Установка цен на товары»
Элементы.Номер.Видимость = Ложь;
Элементы.Дата.Видимость = Ложь;
Код модуля объекта «Установка цен на товары»
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ЦеныНаТовары
Движения.ЦеныНаТовары.Записывать = Истина;
Движение = Движения.ЦеныНаТовары.Добавить();
Движение.Товар = Товар;
Движение.НаборСвойств = НаборСвойств;
Движение.Цена = Цена;
КонецПроцедуры
Документ «Продажа товара»
Код формы документа «Продажа товара»
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
НайденнаяЦена = ПолучитьЦены(ТекущиеДанные.Товар,
ТекущиеДанные.НаборСвойств);
Для каждого СтрокаТЧ Из Объект.Товары Цикл
Если СтрокаТЧ.Цена Тогда
ТекущиеДанные.Сумма = ТекущиеДанные.Количество *
ТекущиеДанные.Цена;
Иначе
СтрокаТЧ.Цена = НайденнаяЦена;
ТекущиеДанные.Сумма = ТекущиеДанные.Количество *
ТекущиеДанные.Цена;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
ТекущиеДанные.Сумма = ТекущиеДанные.Количество *
ТекущиеДанные.Цена;
КонецПроцедуры
&НаСервере
Функция ПолучитьЦены(Товар, НаборСвойств)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНаТовары.Цена
|ИЗ
| РегистрСведений.ЦеныНаТовары КАК ЦеныНаТовары
|ГДЕ
| ЦеныНаТовары.Товар = &Товар
| И ЦеныНаТовары.НаборСвойств = &НаборСвойств";
Запрос.УстановитьПараметр("НаборСвойств", НаборСвойств);
Запрос.УстановитьПараметр("Товар", Товар);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() тогда
Возврат Выборка.Цена;
КонецЕсли;
КонецФункции
Элементы.СуммаДокумента.Видимость = Ложь;
Элементы.Номер.Видимость = Ложь;
Элементы.Дата.Видимость = Ложь;
Код модуля объекта «Продажа товара»
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ПродажиТовара
Движения.ПродажиТовара.Записывать = Истина;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.ПродажиТовара.Добавить();
Движение.Период = Дата;
Движение.Сотрудник = Сотрудник;
Движение.Товар = ТекСтрокаТовары.Товар;
Движение.НаборСвойств = ТекСтрокаТовары.НаборСвойств;
Движение.Количество = ТекСтрокаТовары.Количество;
Движение.Сумма = ТекСтрокаТовары.Сумма;
КонецЦикла;
// регистр ОстаткиТовара Расход
Движения.ОстаткиТовара.Записывать = Истина;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.ОстаткиТовара.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Товар = ТекСтрокаТовары.Товар;
Движение.НаборСвойств = ТекСтрокаТовары.НаборСвойств;
Движение.Количество = ТекСтрокаТовары.Количество;
КонецЦикла;
Движения.Записать();
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОстаткиТовараОстатки.Склад,
| ОстаткиТовараОстатки.Товар,
| ОстаткиТовараОстатки.НаборСвойств,
| -ОстаткиТовараОстатки.КоличествоОстаток КАК Количество
|ИЗ
| РегистрНакопления.ОстаткиТовара.Остатки(
| ,
| Склад = &Склад
| И (Товар, НаборСвойств) В
| (ВЫБРАТЬ
| ПродажаТовараТовары.Товар,
|
ПродажаТовараТовары.НаборСвойств
| ИЗ
|
Документ.ПродажаТовара.Товары КАК ПродажаТовараТовары
| ГДЕ
| ПродажаТовараТовары.Ссылка
= &Ссылка)) КАК ОстаткиТовараОстатки
|ГДЕ
| ОстаткиТовараОстатки.КоличествоОстаток < 0";
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
Отказ = Истина;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить("Недостаточно товара " +
ВыборкаДетальныеЗаписи.Товар + " со свойствами " + "(" +
ВыборкаДетальныеЗаписи.НаборСвойств + ")" +" в количестве " +
ВыборкаДетальныеЗаписи.Количество + " шт.");
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
СуммаДокумента = 0;
Для Каждого СтрокаТЧ ИЗ Товары Цикл
СуммаДокумента = СуммаДокумента + СтрокаТЧ.Сумма;
КонецЦикла;
КонецПроцедуры
Документ «Возврат товара»
Код формы документа «Возврат товара»
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
ТекущиеДанные.Сумма = ТекущиеДанные.Количество *
ТекущиеДанные.Цена;
КонецПроцедуры
&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
ТекущиеДанные.Сумма = ТекущиеДанные.Количество *
ТекущиеДанные.Цена;
КонецПроцедуры
&НаКлиенте
Процедура НомерПродажиПриИзменении(Элемент)
Объект.Товары.Очистить();
ЗаполнениеТабличнойЧастиСервер();
КонецПроцедуры
&НаСервере
Процедура ЗаполнениеТабличнойЧастиСервер()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПродажаТовараТовары.Товар,
| ПродажаТовараТовары.НаборСвойств,
| ПродажаТовараТовары.Количество,
| ПродажаТовараТовары.Цена,
| ПродажаТовараТовары.Сумма
|ИЗ
| Документ.ПродажаТовара.Товары КАК
ПродажаТовараТовары
|ГДЕ
| ПродажаТовараТовары.Ссылка.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Объект.НомерПродажи);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Таблица = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(Таблица, ВыборкаДетальныеЗаписи);
КонецЦикла;
КонецПроцедуры
Элементы.Номер.Видимость = Ложь;
Элементы.Дата.Видимость = Ложь;
Код модуля объекта «Возврат товара»
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
«Управление ресурсами проекта» (на примере организации ООО «ЛАКОСТЭ»)
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)