Диплом: Автоматизация и обеспечение информационной безопасности управления процессом отгрузки товара в ООО "Темпо Плюс"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
96
12. Репина Е. О. Автоматизация складской логистики с
использованием программного обеспечения //Ответственный редактор:
Сукиасян Асатур Альбертович, кандидат экономических наук. – 2015. – с. 90.
13. Саати, Т. Принятие решений. Метод анализа иерархий / Т. Саати //
М.: Радио и связь. 2016
14. Туккель И.Л., Сурина А.В., Культин Н.Б. Управление
инновационными проектами: учебник / Под ред. И.Л. Туккеля. – СПб.: БХВ-
Петербург, 2011. - 416 с.
15. Цибизова Т.Ю., Карпунин А.А. Применение метода анализа
иерархий в оценке качества процессов управления // Современные проблемы
науки и образования. – 2015. № 2-1.
16. Щербаков В.В. Основы логистики. – СПб.: Питер, 2019. 432 с.
17. Автоматизированные системы хранения. Для чего они нужны?
Карусель или лифт. [Электронный ресурс] – URL: http://www.logists.kz/ Дата
ознакомления: 24.04.2018
18. Автоматизированные стеллажи лифтового типа. [Электронный
ресурс] – URL: http://sklad-ural.ru/ Дата ознакомления: 24.04.2018
19. «Складская логистика и информационные технологии.
Современные программы автоматизации склада». [Электронный ресурс] –
URL:http://www.xcomp.biz / Дата ознакомления: 27.02.2018.
20. Светлана-Оптоэлектроника. Официальный сайт. [Электронный
ресурс] – URL: http://soptel.ru / Дата ознакомления: 27.08.2017.
21. «Информация о ООО «Темпо Плюс» – Официальный сайт
компании
22. Saleh Alyahya, Qian Wang, Nick Bennett, Application and integration of
an RFID-enabled warehousing management system – a feasibility study / Journal of
Industrial Information Integration. – 2016, Vol. 4, p. 15-25
97
Приложение А
ЛИСТИНГ ПРОГРАММЫ
(обязательное)
Процедура ОбработкаПроведения(Отказ,Режим)
Движения.Хозрасчетный.Записывать = Истина;
Движения.ОстаткиТоваров.Записывать = Истина;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Товар = ТекСтрокаТовары.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаТовары.Количество;
Движение.Сумма = ТекСтрокаТовары.Сумма;
Движение = Движения.Хозрасчетный.Добавить();
Движение.Период = Дата;
Движение.СчетДт = АААААААААААААААААААААААААААААААА
ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.К
онт
рагенты] = Контрагент;
Движение.СчетКт = ПланыСчетов.Хозрасчетный.РасчетныйСчет;
Движение.Сумма = ТекСтрокаТовары.Сумма;
Движение = Движения.Хозрасчетный.Добавить();
Движение.Период = Дата;
Движение.СчетДт = ПланыСчетов.Хозрасчетный.Товары;
Движение.СчетКт = АААААААААААААААААААААААААААААААА
ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
Движение.СубконтоКТ[ПланыВидовХарактеристик.ВидыСубконто.К
онт
рагенты] = Контрагент;
Движение.Сумма = ТекСтрокаТовары.Сумма*0.72;
Движение = Движения.Хозрасчетный.Добавить();
Движение.Период = Дата;
Движение.СчетДт = ПланыСчетов.Хозрасчетный.НДС;
Движение.СчетКт = АААААААААААААААААААААААААААААААА
ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.К
онт
рагенты] = Контрагент;
Движение.Сумма = ТекСтрокаТовары.Сумма*0.18;
КонецЦикла;
КонецПроцедуры
&НаКлиенте АААААААААААААААААААААААААААААААА
98
Процедура ТоварыКоличествоПриИзменении(Элемент)
// Вставить содержимое обработчика.
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма =
СтрокаТабличнойЧасти.Количество
* СтрокаТабличнойЧасти.Цена;
СтрокаТабличнойЧасти.СуммаНДС=УчетНДС.РассчитатьСуммуНДС(С
тро
каТабличнойЧасти.Сумма, АААААААААААААААААААААААААААААААА
УчетНДС.ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС))
;
Объект.СуммаДокумента = Объект.Товары.Итог("Сумма");
Объект.СуммаНДС = Объект.Товары.Итог("СуммаНДС");
КонецПроцедуры
&НаКлиенте АААААААААААААААААААААААААААААААА
Процедура ТоварыЦенаПриИзменении(Элемент)
// Вставить содержимое обработчика.
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма =
СтрокаТабличнойЧасти.Количество
* СтрокаТабличнойЧасти.Цена;
СтрокаТабличнойЧасти.СуммаНДС=УчетНДС.РассчитатьСуммуНДС(С
тро
каТабличнойЧасти.Сумма,
УчетНДС.ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС))
;
Объект.СуммаДокумента = Объект.Товары.Итог("Сумма");
Объект.СуммаНДС = Объект.Товары.Итог("СуммаНДС");
КонецПроцедуры АААААААААААААААААААААААААААААААА
&НаКлиенте АААААААААААААААААААААААААААААААА
Процедура ТоварыСуммаПриИзменении(Элемент)
// Вставить содержимое обработчика.
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.СуммаНДС=УчетНДС.РассчитатьСуммуНДС(С
тро
каТабличнойЧасти.Сумма, АААААААААААААААААААААААААААААААА
УчетНДС.ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС))
;
Объект.СуммаДокумента = Объект.Товары.Итог("Сумма");
Объект.СуммаНДС = Объект.Товары.Итог("СуммаНДС");
КонецПроцедуры
&НаКлиенте АААААААААААААААААААААААААААААААА
Процедура ТоварыСтавкаНДСПриИзменении(Элемент)
// Вставить содержимое обработчика.
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
99
СтрокаТабличнойЧасти.СуммаНДС=УчетНДС.РассчитатьСуммуНДС(С
тро
каТабличнойЧасти.Сумма,
УчетНДС.ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС))
;
Объект.СуммаНДС = Объект.Товары.Итог("СуммаНДС");
КонецПроцедуры
&НаКлиенте
Процедура ТоварыСуммаНДСПриИзменении(Элемент)
// Вставить содержимое обработчика.
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
Объект.СуммаНДС = Объект.Товары.Итог("СуммаНДС");
КонецПроцедуры АААААААААААААААААААААААААААААААА
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные
вручную изменения будут утеряны!!!
// регистр ОстаткиТоваров Приход
Движения.ОстаткиТоваров.Записывать = Истина;
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные
вручную изменения будут утеряны!!!
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст =
"ВЫБРАТЬ АААААААААААААААААААААААААААААААА
| ПеремещениеВРозницуТовары.Номенклатура КАК Товар,
| СУММА(ПеремещениеВРозницуТовары.Количество) КАК
КоличествоВДокументе,
| МАКСИМУМ(ПеремещениеВРозницуТовары.ЦенаВРознице) КАК
ЦенаВРознице
|ПОМЕСТИТЬ НоменклатураДокумента
|ИЗ АААААААААААААААААААААААААААААААА
| Документ.ПеремещениеВРозницу.Товары КАК
ПеремещениеВРозницуТовары
| АААААААААААААААААААААААААААААААА
|СГРУППИРОВАТЬ ПО
| ПеремещениеВРозницуТовары.Номенклатура";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
100
КонецЦикла;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Товар = ТекСтрокаТовары.Номенклатура;
Движение.Склад = СкладОтправитель;
Движение.Количество = ТекСтрокаТовары.Количество;
Движение.Сумма =
ТекСтрокаТовары.Количество*ТекСтрокаТовары.ЦенаВРознице;
КонецЦикла; АААААААААААААААААААААААААААААААА
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
Движения.Записать();
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
Запрос3=Новый Запрос;
Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос3.Текст = "ВЫБРАТЬ
| ОстаткиТоваровОстатки.Товар,
| ОстаткиТоваровОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(
| ,
| Товар В
| (ВЫБРАТЬ
| АААААААААААААААААААААААААААААААА
НоменклатураДокумента.Товар
| ИЗ
| АААААААААААААААААААААААААААААААА
НоменклатураДокумента)
| И Склад = &Склад) КАК
ОстаткиТоваровОстатки
|ГДЕ
| ОстаткиТоваровОстатки.КоличествоОстаток <
0";
Запрос3.УстановитьПараметр("Склад", СкладОтправитель);
РезультатЗапроса = Запрос3.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Не хватает " + Строка (-
ВыборкаДетальныеЗаписи.КоличествоОстаток) +
" единиц товара " +
ВыборкаДетальныеЗаписи.Товар + """";
Сообщение.Сообщить();
101
Отказ = Истина;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ТоварыПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.Дата = Объект.Дата;
КонецПроцедуры
&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
СТЧ = Элементы.Товары.ТекущиеДанные;
ТоварыНоменклатураПриИзмененииНаСервере(СТЧ.Номенклатура,С
ТЧ.
ЦенаВРознице);
КонецПроцедуры
&НаСервере
Процедура АААААААААААААААААААААААААААААААА
ТоварыНоменклатураПриИзмененииНаСервере(Номенклатура,Цена)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ АААААААААААААААААААААААААААААААА
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата,
Номенклатуры = &Номенклатура) КАК
ЦеныНоменклатурыСрезПоследних";
Запрос.УстановитьПараметр("Дата", Объект.Дата);
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
ЦенаМассив = Запрос.Выполнить().Выгрузить();
Если ЦенаМассив.Количество()<>0 Тогда
Цена = ЦенаМассив[0].Цена;
Иначе
Цена = 0;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.РозничныеПродажи.Записывать = Истина;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.РозничныеПродажи.Добавить();
Движение.Период = Дата;
Движение.Товар = ТекСтрокаТовары.Товар;
Движение.Продавец = Продавец;
Движение.Количество = ТекСтрокаТовары.Количество;
Движение.Стоимость = ТекСтрокаТовары.ЦенаВРознице;
Движение.ПродажнаяСтоимость = ТекСтрокаТовары.Сумма;
102
Движения.Хозрасчетный.Записывать = Истина;
Движение = Движения.Хозрасчетный.Добавить();
Движение.Период = Дата;
Движение.СчетДт = ПланыСчетов.Хозрасчетный.РасчетныйСчет;
Движение.СчетКт =
ПланыСчетов.Хозрасчетный.РасчетыСПокупателями;
Движение.Сумма = ТекСтрокаТовары.Сумма;
Движение = Движения.Хозрасчетный.Добавить();
Движение.Период = Дата;
Движение.СчетДт = АААААААААААААААААААААААААААААААА
ПланыСчетов.Хозрасчетный.РасчетыСПокупателями;
Движение.СчетКт = ПланыСчетов.Хозрасчетный.Продажи;
Движение.Сумма = ТекСтрокаТовары.Сумма;
Движение = Движения.Хозрасчетный.Добавить();
Движение.Период = Дата;
Движение.СчетДт = ПланыСчетов.Хозрасчетный.Продажи;
Движение.СчетКт = ПланыСчетов.Хозрасчетный.Товары;
Движение.Сумма = ТекСтрокаТовары.Сумма*0.75;
КонецЦикла; АААААААААААААААААААААААААААААААА
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
Запрос = Новый Запрос; АААААААААААААААААААААААААААААААА
Запрос.Текст = "ВЫБРАТЬ
| ШтатноеРасписаниеСрезПоследних.Период
|ИЗ
| АААААААААААААААААААААААААААААААА
РегистрСведений.ШтатноеРасписание.СрезПоследних(&Дата, )
КАК
ШтатноеРасписаниеСрезПоследних";
Запрос.УстановитьПараметр("Дата",Дата);
ДатаПоследнегоРасписания = Запрос.Выполнить().Выгрузить();
Движения.ШтатноеРасписание.Записывать = Истина;
Если ДатаПоследнегоРасписания.Количество() = 0 Тогда
Для Каждого ТекСтрокаСписокДолжностей Из
СписокДолжностей Цикл
Движение = Движения.ШтатноеРасписание.Добавить();
Движение.Период = Дата;
Движение.Должность =
ТекСтрокаСписокДолжностей.Должность;
Движение.КолМест =
ТекСтрокаСписокДолжностей.КоличествоМест;
КонецЦикла;
Иначе АААААААААААААААААААААААААААААААА
ДатаШР = ДатаПоследнегоРасписания[0].Период;
Если Месяц(ДатаШР) = Месяц(Дата) и Год(ДатаШР) =
103
Год(Дата) Тогда
Отказ = Истина;
Сообщить("В данном месяце штатное расписание уже
было утверждено!");
Иначе
Для Каждого ТекСтрокаСписокДолжностей Из СписокДолжностей
Цикл АААААААААААААААААААААААААААААААА
Движение = Движения.ШтатноеРасписание.Добавить();
Движение.Период = Дата;
Движение.Должность =
ТекСтрокаСписокДолжностей.Должность;
Движение.КолМест =
ТекСтрокаСписокДолжностей.КоличествоМест;
КонецЦикла;
КонецЕсли; АААААААААААААААААААААААААААААААА
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокДолжностейДолжностьПриИзменении(Элемент)
СТЧ = Элементы.СписокДолжностей.ТекущиеДанные;
СписокДолжностейДолжностьПриИзмененииНаСервере(СТЧ.Должнос
ть,
СТЧ.Оклад);
КонецПроцедуры
&НаСервере
Процедура
СписокДолжностейДолжностьПриИзмененииНаСервере(Должность,
оклад)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗаработнаяПлатаСрезПоследних.Сумма
|ИЗ
| РегистрСведений.ЗаработнаяПлата.СрезПоследних(&Дата,
Должность = &Должность) КАК ЗаработнаяПлатаСрезПоследних";
Запрос.УстановитьПараметр("Дата", Объект.Дата);
Запрос.УстановитьПараметр("Должность",Должность);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество()<>0 Тогда
Оклад = РезультатЗапроса[0].Сумма;
КонецЕсли; АААААААААААААААААААААААААААААААА
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
Перепроведение = Истина;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
104
| Сотрудники.Ссылка
|ИЗ АААААААААААААААААААААААААААААААА
| Справочник.Сотрудники КАК Сотрудники
|ГДЕ
| Сотрудники.ФизическоеЛицо = &ФизическоеЛицо";
Запрос.УстановитьПараметр("ФизическоеЛицо",ФизическоеЛицо)
;
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество()= 0 Тогда
Перепроведение = Ложь;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА
СведенияОСотрудникахОстатки.ВидЗанятости =
ЗНАЧЕНИЕ(Перечисление.ВидЗанятости.ОсновноеМестоРаботы)
| ТОГДА 1 АААААААААААААААААААААААААААААААА
| ИНАЧЕ 0.5
| КОНЕЦ) КАК КоличествоЗанятыхМест,
| СведенияОСотрудникахОстатки.Должность,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ
СведенияОСотрудникахОстатки.Сотрудники) КАК Сотрудники
|ПОМЕСТИТЬ ЗанятыеМеста
|ИЗ
| РегистрНакопления.СведенияОСотрудниках.Остатки(
| &Дата,
| Должность = &Должность
| ) КАК СведенияОСотрудникахОстатки
|
|СГРУППИРОВАТЬ ПО
| СведенияОСотрудникахОстатки.Должность
|;
|
|/////////////////////////////////////////////////////////
///
////////////////////
|ВЫБРАТЬ
| ЕСТЬNULL(ШтатноеРасписаниеСрезПоследних.КолМест, 0)
- ЕСТЬNULL(ЗанятыеМеста.КоличествоЗанятыхМест, 0) КАК
КолМест
|ИЗ
| РегистрСведений.ШтатноеРасписание.СрезПоследних(
| &Дата,
| Должность = &Должность
| ) КАК ШтатноеРасписаниеСрезПоследних
105
| ЛЕВОЕ СОЕДИНЕНИЕ ЗанятыеМеста КАК ЗанятыеМеста
| ПО ШтатноеРасписаниеСрезПоследних.Должность =
ЗанятыеМеста.Должность";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Должность",Должность);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество()<>0 и
РезультатЗапроса[0].КолМест>0 Тогда
НовыйСотрудник = АААААААААААААААААААААААААААААААА
Справочники.Сотрудники.СоздатьЭлемент();
ФИО = ФизическоеЛицо.Наименование;
НовыйСотрудник.Наименование = ФИО;
НовыйСотрудник.ФизическоеЛицо = ФизическоеЛицо;
НовыйСотрудник.Должность = Должность;
НовыйСотрудник.ДатаПринятия = Дата;
НовыйСотрудник.ВидЗанятости = ВидЗанятости;
НовыйСотрудник.ГрафикРаботы = ГрафикРаботы;
НовыйСотрудник.Записать();
Сотрудник =
Справочники.Сотрудники.НайтиПоНаименованию(ФизическоеЛицо.
Наименов
ание);
Движения.СведенияОСотрудниках.Записывать = Истина;
Движение = Движения.СведенияОСотрудниках.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Сотрудники = Сотрудник;
Движение.Должность = Должность;
Движение.ВидЗанятости = ВидЗанятости;
Движение.Зарплата = Оклад;
Иначе АААААААААААААААААААААААААААААААА
Отказ = Истина;
Сообщить("Свободных вакансий на данную должность
нет!");
КонецЕсли;
ИначеЕсли Не Перепроведение Тогда
Отказ = Истина;
Сообщить("Данное физическое лицо уже является сотрудником
фирмы!");
Иначе
Сотрудник =
Справочники.Сотрудники.НайтиПоНаименованию(ФизическоеЛицо.
Наименов
ание);
ОбъектСотрудник = Сотрудник.ПолучитьОбъект();

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)