- •1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ НЕОБХОДИМОСТИ АВТОМАТИЗАЦИИ ОПЕРАТИВНО – ТЕХНИЧЕСКОМУ УЧЕТУ МАТЕРИАЛОВ В ОРГАНИЗАЦИЯХ ПО ПРОИЗВОДСТВУ ОБУВИ
- •1.1 Особенности автоматизации учета материалов в организации по производству обуви
- •1.2 Обзор и сравнение существующих программных продуктов для автоматизации учета заказов клиентов в организации по позаказному производству пластиковых окон и дверей
- •Выводы по первому разделу
- •2 АНАЛИЗ И ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ АВТОМАТИЗАЦИИ УЧЕТА МАТЕРИАЛОВ В ОРГАНИЗАЦИИ ПО ПРОИЗВОДСТВУ ОБУВИ
- •2.2 Анализ предметной области проектирования информационной системы
- •Проанализировать отрасль в которой работает организация было принято решение провести разработку программного продукта для лучшей работы учета материалов в организации.
- •За счет проведения процесса автоматизации можно ускорить, и упростить учет материалов в данной организации.
- •Основными задачами автоматизации учета материалов являются:
- •2.3 Построение функциональных моделей, описывающих бизнес-процесс учета материалов в организации по производству обуви
- •3 разработКа и тестирование информационной системы для автоматизации учета материалов в организации по производству обуви
- •3.1 Описание таблиц баз данных
- •3.2 Дерево программных модулей
- •3.3 Схемы взаимосвязей модулей и массивов данных
- •3.5 Инструкция пользователя по установке программного продукта и работе с ним
- •3.6 Способы и результаты тестирования программного продукта в различных режимах
- •Выводы по третьему разделу
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ЗАКЛЮЧЕНИЕ
В ходе курсовой работы была раскрыта сущность ERP-систем и необходимость их использования, как для крупных организаций, так и для предприятий малого бизнеса. Был проведен сравнительный анализ трех российских ERP-систем, в итоге которого было предложено два решения внедрения продуктов с пояснениями их особенностей.
Также в ходе работы над данным курсовым проектом была проанализирована предметная область разработки – учет материалов в организации по производству обуви. Итогом анализа предметной области стала постановка цели и задач проектирования информационной системы, на основе которых была построена функциональная модель бизнес-процесса, логическая
ифизическая модели данных.
Врезультате проведенного анализа предметной области и последующего проектирования информационной системы стала возможной разработка приложения клиент-серверной архитектуры на платформе «1С: Предприятие»
учебной версии 8.3.
С целью отражения функциональных возможностей информационной системы было построено дерево модулей, а также схема взаимодействия модулей и массивов данных.
Было проведено тестирование разработанной информационной системы в соответствии с заданием посредством использования метода «черного ящика»,
результаты которого показали корректность работы разработанного приложения.
Результатом работы над курсовым проектом является информационная система для автоматизации процесса учета материалов в организации по производству обуви.
Таким образом, задачи курсового проекта выполнены, соответственно цель достигнута.
35
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. ERP [Электронный ресурс] // Корпоративный менеджмент: финансы,
бизнес-планы, управление компанией. URL: https://ru.wikipedia.org/wiki/ERP (дата обращения: 17.10.2017).
2.1C –[Электронный ресурс] // 1C.ru – полный набор инструментов для бизнеса. URL: https:// http://1c.ru// (дата обращения: 20.10.2017).
3.ERP система для управления клиентами [Электронный ресурс] // ERP - SAP система автоматизации бизнеса и управления клиентами. URL: https://www.sap.com/cis/index.html (дата обращения: 20.10.2017).
4.Тур по ERP системе - ORACLE [Электронный ресурс] // Онлайн ERP
система.. URL: https://www.oracle.com/ru/index.html/ (дата обращения:
20.10.2017).
5.Исаев Г.Н. Проектирование информационных систем: Учебное пособие. М.: Омега-Л, 2013. 424 с.
6.Проектирование информационных систем [Электронный ресурс] URL
http://www.kgau.ru/istiki/umk/pis/pis.htm (дата обращения 15.11.2017).
7. Коваленко В. Проектирование информационных систем. Форум, 2015.
320 с.
8.Вендров А. М. Современные технологии анализа и проектирования информационных систем [Электронный ресурс] // Центр Информационных Технологий. URL http://www.citmgu.ru/ (дата обращения: 13.12.2017).
9.Арутюнов, В. В. Теория экономических информационных систем. М.:
Синтег, 2011. 360 с.
10. Елманова Н. Корпоративные СУБД [Электронный ресурс] //
КомпьютерПресс. URL http://www.compress.ru/article.aspx?id=20548&iid=939
(дата обращения: 02.12.2017).
11. Хоменко А. Д. Базы данных. Учебник для вузов. М.: Синтег, 2012. 262
с.
36
12.Богданова С. В., Ермакова А. Н. Информационные технологии:
учебное пособие для студентов вузов [Электронный ресурс]: Ставрополь:
Сервисшкола, 2014. 211 с. URL http://biblioclub.ru/index. php?page=book_red&id=277476&sr=1 (дата обращения 23.12.2017).
13. Бойко Э. 1С: Предприятие 8.3. Универсальный самоучитель. Омега-Л,
2014. 232 с.
14. Гончаров Д., Хрусталева Е. Решение специальных прикладных задач в
«1С:Предприятии 8.3». 1С-Паблишинг, 2015. 304 с.
15. Ощенко И. Азбука программирования в 1С: Предприятие 8.3. СПб.:
БХВ-Петербург, 2014. 272 с.
16. Радченко М., Хрусталева Е. Инструменты для создания тиражируемых приложений «1С: Предприятия 8.3». 1С-Паблишинг, 2015. 194
с.
17. Центр информации [Электронный ресурс]: 1С: Предприятие8.2
универсальный самоучитель. URL http://www.assessor.ru/forum/index.php?t=1740
(дата обращения 10.12.2017).
18. Беломойцев Д. Е., Волосатова Т. М., Радионов С. В. Основные методы криптографической обработки данных: учебное пособие. М.: Изд. МГТУ им.
Н.Э. Баумана (Московский государственный технический университет имени Н.Э. Баумана), 2014. 76 с.
19. Нечаев Д. Ю., Чекмарев Ю. В. Надежность информационных систем
[Электронный ресурс]: учебное пособие. М.: Изд. «ДМК Пресс» 2012. 64 с. URL http://e.lanbook.com/books/element.php?pl1_id=3030 (дата обращения
20.12.2017).
37
ПРИЛОЖЕНИЕ А Модель бизнес-процесса
Рисунок А.1 – Концептуальный уровень диаграммы (уровень А-0)
Рисунок А.2 – Декомпозиция блока «Процесс учета материалов» (уровень А0)
38
Рисунок А.3 – Декомпозиция блока «Обработка полученых заявок на обувь »
(уровень А1)
Рисунок А.4 – Декомпозиция блока «Составление заказа» (уровень А12)
39
Рисунок А.5 – Декомпозиция блока «Выполнение учета материалов» (уровень А2)
Рисунок А.6 – Декомпозиция блока «Деятельность склада материалов»
(уровень А21)
40
Рисунок А.7 – Декомпозиция блока «Деятельность производственного цеха»
(уровень А22)
Рисунок А.8 – Декомпозиция блока «Завершение учета» (уровень А3)
41
ПРИЛОЖЕНИЕ Б Текст модулей объектов
Листинг Е.1 – Общий модуль РаботаСДокументами
Процедура |
РассчитатьСумму |
СтрокаТабличнойЧасти.Сумма |
= |
(СтрокаТабличнойЧасти) |
Экспорт |
СтрокаТабличнойЧасти.Количество*СтрокаТаблично |
|
|
|
йЧасти.Цена; |
|
|
|
КонецПроцедуры |
|
Листинг Е.2 – Общий модуль РаботаСоСправочниками: Модуль
Функция АктуальнаяЦена(АктуальнаяДата,ЭлементНоменклат уры) Экспорт
//Создать новый вспомогательный объект
Отбор
Отбор = Новый Структура ("Номенклатура", ЭлементНоменклатуры);
//Получить актуальные значения ресурсов регистра
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее (АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
Листинг Е.3 – Общий модуль РаботаСЦенами: Модуль
Функция АктуальнаяЦена(АктуальнаяДата,ЭлементНоменклат уры) Экспорт
//Создать новый вспомогательный объект
Отбор |
|
|
|
Отбор |
= |
Новый |
Структура |
("Номенклатура", ЭлементНоменклатуры);
//Получить актуальные значения ресурсов регистра
ЗначенияРесурсов = РегистрыСведений.ЦеныРеализации.ПолучитьПослед нее(АктуальнаяДата,Отбор);
Возврат ЗначенияРесурсов.Цена; КонецФункции
Листинг Е.4 – Документ ПриходнаяНакладная: Модуль объекта
Процедура ОбработкаПроведения(Отказ, Режим) |
|
Движение.ВидДвижения |
= |
// регистр ОстаткиМатериалов Приход |
|
ВидДвиженияНакопления.Приход; |
|
Движения.ОстаткиМатериалов.Записывать = |
Движение.Период = Дата; |
|
|
Истина; |
|
Движение.Материал |
= |
Для Каждого ТекСтрокаПоступление |
Из |
ТекСтрокаПоступление.Номенклатура; |
|
Поступление Цикл |
|
Движение.Количество |
= |
Движение |
= |
ТекСтрокаПоступление.Количество; |
|
Движения.ОстаткиМатериалов.Добавить(); |
|
КонецЦикла; |
|
|
|
КонецПроцедуры |
|
Листинг Е.5 – Документ ПриходнаяНакладная: Модуль менеджера
Процедура Печать(ТабДок, Ссылка) Экспорт
42
Макет = Документы.ПриходнаяНакладная.ПолучитьМакет("Пе чать");
Запрос = Новый Запрос; |
|
|
Запрос.Текст = |
|
|
"ВЫБРАТЬ |
|
|
| |
ПриходнаяНакладная.Дата, |
|
| |
ПриходнаяНакладная.Номер, |
|
| |
|
|
ПриходнаяНакладная.Поступление.( |
|
|
| |
НомерСтроки, |
|
| |
Номенклатура, |
|
| |
Количество, |
|
| |
Цена, |
|
| |
Сумма |
|
| |
) |
|
|ИЗ |
|
|
| |
Документ.ПриходнаяНакладная |
КАК |
ПриходнаяНакладная |
|
|
|ГДЕ |
|
|
| |
ПриходнаяНакладная.Ссылка |
В |
(&Ссылка)"; |
|
|
Запрос.Параметры.Вставить("Ссылка", |
|
|
Ссылка); |
|
|
Выборка = Запрос.Выполнить().Выбрать(); |
||
ОбластьЗаголовок |
= |
Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьПоступлениеШапка = Макет.ПолучитьОбласть("ПоступлениеШапка");
ОбластьПоступление = Макет.ПолучитьОбласть("Поступление");
ОбластьИтог = Макет.ПолучитьОбласть("Всего");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделитель Страниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка,
Выборка.Уровень());
ТабДок.Вывести(ОбластьПоступлениеШапка)
;
ВыборкаПоступление = Выборка.Поступление.Выбрать();
СуммаИтог = 0; Пока
ВыборкаПоступление.Следующий() Цикл
ОбластьПоступление.Параметры.Заполнить( ВыборкаПоступление);
ТабДок.Вывести(ОбластьПоступление, ВыборкаПоступление.Уровень());
СуммаИтог = СуммаИтог + ВыборкаПоступление.Сумма;
КонецЦикла;
ОбластьИтог.Параметры.ВсегоПоДокументу = СуммаИтог;
ТабДок.Вывести(ОбластьИтог);
ВставлятьРазделительСтраниц =
Истина;
КонецЦикла; КонецПроцедуры
Листинг Е.6 – Документ КарточкаЗаказа: Модуль объекта
Процедура ОбработкаПроведения(Отказ, Режим) |
|
Движение.Клиент = Заказчик; |
|
// регистр Продажи |
|
Движение.Количество |
= |
Движения.Продажи.Записывать = Истина; |
|
ТекСтрокаСоставЗаказа.Количество; |
|
Для Каждого ТекСтрокаСоставЗаказа |
Из |
Движение.Выручка |
= |
СоставЗаказа Цикл |
|
ТекСтрокаСоставЗаказа.Сумма; |
|
Движение |
= |
Движение.Стоимость |
= |
Движения.Продажи.Добавить(); |
|
ТекСтрокаСоставЗаказа.Цена*ТекСтрокаСоставЗака |
|
Движение.Период = Дата; |
|
за.Количество; |
|
Движение.Номенклатура |
= |
КонецЦикла; |
|
ТекСтрокаСоставЗаказа.Наименование; |
|
КонецПроцедуры |
|
Листинг Е.7 – Документ КарточкаЗаказа: Модуль менеджера
Процедура Печать(ТабДок, Ссылка) Экспорт |
| |
|
|
Макет |
= |
КарточкаЗаказа.ДатаЗавершенияПлан, |
|
Документы.КарточкаЗаказа.ПолучитьМакет("Печать |
| |
КарточкаЗаказа.Заказчик, |
|
"); |
|
| |
КарточкаЗаказа.Номер, |
Запрос = Новый Запрос; |
| |
КарточкаЗаказа.СоставЗаказа.( |
|
Запрос.Текст = |
| |
НомерСтроки, |
|
"ВЫБРАТЬ |
| |
Наименование, |
|
| |
КарточкаЗаказа.Дата, |
| |
Количество, |
43
| |
Цена, |
|
|
|
| |
Сумма |
|
|
|
| |
) |
|
Шапка.Параметры.Заполнить(Выборка); |
|
|ИЗ |
|
|
ТабДок.Вывести(Шапка, |
|
| |
Документ.КарточкаЗаказа |
КАК |
Выборка.Уровень()); |
|
КарточкаЗаказа |
|
|
|
|
|ГДЕ |
|
|
|
|
| |
КарточкаЗаказа.Ссылка |
В |
ТабДок.Вывести(ОбластьСоставЗаказаШапка |
|
(&Ссылка)"; |
|
|
); |
|
Запрос.Параметры.Вставить("Ссылка", |
|
ВыборкаСоставЗаказа |
= |
|
Ссылка); |
|
|
Выборка.СоставЗаказа.Выбрать(); |
|
Выборка = Запрос.Выполнить().Выбрать(); |
СуммаИтог = 0; |
|
||
|
|
|
Пока |
|
ОбластьЗаголовок |
= |
ВыборкаСоставЗаказа.Следующий() Цикл |
|
|
Макет.ПолучитьОбласть("Заголовок"); |
|
|
|
|
Шапка = Макет.ПолучитьОбласть("Шапка"); |
ОбластьСоставЗаказа.Параметры.Заполнить |
|||
ОбластьСоставЗаказаШапка |
= |
(ВыборкаСоставЗаказа); |
|
|
Макет.ПолучитьОбласть("СоставЗаказаШапка"); |
|
|
|
|
ОбластьСоставЗаказа |
= |
ТабДок.Вывести(ОбластьСоставЗаказа, |
|
|
Макет.ПолучитьОбласть("СоставЗаказа"); |
|
ВыборкаСоставЗаказа.Уровень()); |
|
|
ОбластьИтог |
= |
СуммаИтог = СуммаИтог |
+ |
|
Макет.ПолучитьОбласть("Всего"); |
|
ВыборкаСоставЗаказа.Сумма; |
|
|
ТабДок.Очистить(); |
|
КонецЦикла; |
|
|
ВставлятьРазделительСтраниц = Ложь; |
|
|
|
|
Пока Выборка.Следующий() Цикл |
|
ОбластьИтог.Параметры.ВсегоПоДокументу |
|
|
|
Если |
|
= СуммаИтог; |
|
ВставлятьРазделительСтраниц Тогда |
|
ТабДок.Вывести(ОбластьИтог); |
|
|
ТабДок.ВывестиГоризонтальныйРазделитель |
ВставлятьРазделительСтраниц |
= |
||
Страниц(); |
|
|
Истина; |
|
|
КонецЕсли; |
|
КонецЦикла; |
|
|
|
|
КонецПроцедуры |
|
ТабДок.Вывести(ОбластьЗаголовок);
Листинг Е.8 – Документ ПроизводственнаяЗадача: Модуль объекта
Процедура |
|
|
|
Движения.ОстаткиМатериалов.Записывать = |
||
ОбработкаЗаполнения(ДанныеЗаполнения, |
|
|
Истина; |
|
|
|
СтандартнаяОбработка) |
|
|
Движения.Записать(); |
|
||
Если |
ТипЗнч(ДанныеЗаполнения) |
= |
|
|
|
|
Тип("ДокументСсылка.КарточкаЗаказа") Тогда |
|
// |
2. Получение запросом |
данных |
||
|
// Заполнение шапки |
|
|
документа и остатков регистра |
|
|
|
ПланДатаЗавершения |
|
= |
Запрос = Новый Запрос; |
|
|
ДанныеЗаполнения.ДатаЗавершенияПлан; |
|
|
Запрос.Текст = |
|
||
|
Заказчик |
|
= |
"ВЫБРАТЬ |
|
|
ДанныеЗаполнения.Заказчик; |
|
|
| |
Комплектующие.Материал |
КАК |
|
|
Для |
Каждого |
Материал, |
|
|
|
ТекСтрокаСоставЗаказа |
|
Из |
| |
СУММА(Комплектующие.Количество) КАК |
||
ДанныеЗаполнения.СоставЗаказа Цикл |
|
|
Количество |
|
|
|
|
НоваяСтрока |
|
= |
|ПОМЕСТИТЬ Комплектующие |
|
|
Заказ.Добавить(); |
|
|
|ИЗ |
|
|
|
|
НоваяСтрока.Количество |
= |
| |
|
|
|
ТекСтрокаСоставЗаказа.Количество; |
|
|
Документ.ПроизводственнаяЗадача.Комплектующие |
|||
|
НоваяСтрока.Продукция |
= |
КАК Комплектующие |
|
||
ТекСтрокаСоставЗаказа.Наименование; |
|
|
|ГДЕ |
|
|
|
|
НоваяСтрока.СуммаПлан |
= |
| |
Комплектующие.Ссылка = &Ссылка |
||
ТекСтрокаСоставЗаказа.Сумма; |
|
|
| |
|
|
|
|
НоваяСтрока.ЦенаПлан |
= |
|СГРУППИРОВАТЬ ПО |
|
||
ТекСтрокаСоставЗаказа.Цена; |
|
|
| |
Комплектующие.Материал |
|
|
|
КонецЦикла; |
|
|
| |
|
|
КонецЕсли; |
|
|
|ИНДЕКСИРОВАТЬ ПО |
|
||
КонецПроцедуры |
|
|
|
| |
Материал |
|
|
|
|
|
|; |
|
|
Процедура |
ОбработкаПроведения(Отказ, |
| |
|
|
||
РежимПроведения) |
|
|
|////////////////////////////////////// |
|||
// 1. Очистка старых движений регистра |
////////////////////////////////////////// |
|||||
Движения.ОстаткиМатериалов.Очистить(); |
|ВЫБРАТЬ |
|
44
| |
Комплектующие.Материал |
КАК |
Материал, |
|
|
| |
|
|
ПРЕДСТАВЛЕНИЕССЫЛКИ(Комплектующие.Материал) |
|
|
КАК МатериалПредставление, |
|
|
| |
Комплектующие.Количество |
КАК |
Количество, |
|
|
| |
ЕСТЬNULL(Остатки.КоличествоОстаток, |
|
0) КАК Остаток |
|
|
|ИЗ |
|
|
| |
Комплектующие КАК Комплектующие |
|
| |
ЛЕВОЕ СОЕДИНЕНИЕ |
|
РегистрНакопления.ОстаткиМатериалов.Остатки( |
||
| |
&МоментВремени, |
|
| |
Материал В |
|
| |
(ВЫБРАТЬ |
|
| |
|
|
Комплектующие.Материал КАК Материал |
|
|
| |
ИЗ |
|
| |
Комплектующие |
|
КАК Комплектующие)) КАК Остатки |
|
|
| |
ПО Комплектующие.Материал = |
|
Остатки.Материал"; |
|
|
Запрос.УстановитьПараметр("Ссылка", |
|
|
Ссылка); |
|
|
Запрос.УстановитьПараметр("МоментВремен и", МоментВремени());
РезультатЗапроса = Запрос.Выполнить();
// 3. Обход результатов запроса ВыборкаКомплектующие =
РезультатЗапроса.Выбрать(); Пока ВыборкаКомплектующие.Следующий()
Цикл
//4. Проверка на
достаточность товаров
Дефицит = ВыборкаКомплектующие.Количество - ВыборкаКомплектующие.Остаток;
Если Дефицит>0 Тогда Отказ = Истина;
Сообщение = Новый
СообщениеПользователю;
Сообщение.Текст =
"Комплектующего "+ВыборкаКомплектующие.МатериалПредставление+" недостаточно в количестве "+Дефицит+" шт.";
Сообщение.Сообщить(); КонецЕсли;
//5. Переход в начало цикла,
если были ошибки Если Отказ Тогда
Продолжить; КонецЕсли;
// 6. Выполнение движений в
регистры
Движение = Движения.ОстаткиМатериалов.ДобавитьРасход();
Движение.Период = Дата; Движение.Материал =
ВыборкаКомплектующие.Материал; Движение.Количество =
ВыборкаКомплектующие.Количество; КонецЦикла;
//7. Установка флага записи движений
вконце транзакции
Движения.ОстаткиМатериалов.Записывать =
Истина; КонецПроцедуры
Листинг Е.9 – Документ ПроизводственнаяЗадача: Модуль менеджера
Процедура Печать(ТабДок, Ссылка) Экспорт |
| |
Цена, |
|
|
Макет |
= |
| |
Сумма |
|
Документы.ПроизводственнаяЗадача.ПолучитьМакет |
| |
) |
|
|
("Печать"); |
|
|ИЗ |
|
|
Запрос = Новый Запрос; |
| |
Документ.ПроизводственнаяЗадача |
||
Запрос.Текст = |
КАК ПроизводственнаяЗадача |
|
||
"ВЫБРАТЬ |
|ГДЕ |
|
|
|
| |
ПроизводственнаяЗадача.Дата, |
| |
ПроизводственнаяЗадача.Ссылка |
В |
| |
|
(&Ссылка)"; |
|
|
ПроизводственнаяЗадача.Исполнитель, |
Запрос.Параметры.Вставить("Ссылка", |
|
||
| |
ПроизводственнаяЗадача.Номер, |
Ссылка); |
|
|
| |
|
Выборка = Запрос.Выполнить().Выбрать(); |
||
ПроизводственнаяЗадача.Ответственный, |
|
|
|
|
| |
|
ОбластьЗаголовок |
= |
|
ПроизводственнаяЗадача.ПланДатаЗавершен |
Макет.ПолучитьОбласть("Заголовок"); |
|
||
ия, |
|
Шапка = Макет.ПолучитьОбласть("Шапка"); |
||
| |
|
ОбластьЗаказШапка |
= |
|
ПроизводственнаяЗадача.ФактДатаЗавершен |
Макет.ПолучитьОбласть("ЗаказШапка"); |
|
||
ия, |
|
ОбластьЗаказ |
= |
|
| |
ПроизводственнаяЗадача.Заказ.( |
Макет.ПолучитьОбласть("Заказ"); |
|
|
| |
НомерСтроки, |
ОбластьИтог1 |
= |
|
| |
Продукция, |
Макет.ПолучитьОбласть("Всего1"); |
|
|
| |
Количество, |
ОбластьКомплектующиеШапка |
= |
|
| |
ЦенаПлан, |
Макет.ПолучитьОбласть("КомплектующиеШапка"); |
|
|
| |
СуммаПлан |
ОбластьКомплектующие |
= |
|
| |
), |
Макет.ПолучитьОбласть("Комплектующие"); |
|
|
| |
|
ОбластьИтог2 |
= |
|
ПроизводственнаяЗадача.Комплектующие.( |
Макет.ПолучитьОбласть("Всего2"); |
|
||
| |
НомерСтроки, |
ТабДок.Очистить(); |
|
|
| |
Материал, |
|
|
|
| |
Количество, |
ВставлятьРазделительСтраниц = Ложь; |
|
45
Пока Выборка.Следующий() Цикл |
|
|
|
|
Если |
|
|
ОбластьИтог1.Параметры.ВсегоПоДокументу |
|
ВставлятьРазделительСтраниц Тогда |
|
1 = СуммаИтог1; |
|
|
|
|
|
ТабДок.Вывести(ОбластьИтог1); |
|
ТабДок.ВывестиГоризонтальныйРазделитель |
|
|
||
Страниц(); |
|
|
|
|
КонецЕсли; |
|
ТабДок.Вывести(ОбластьКомплектующиеШапк |
||
|
|
|
а); |
|
|
|
|
ВыборкаКомплектующие |
= |
ТабДок.Вывести(ОбластьЗаголовок); |
Выборка.Комплектующие.Выбрать(); |
|
||
|
|
|
СуммаИтог2 = 0; |
|
|
|
|
Пока |
|
Шапка.Параметры.Заполнить(Выборка); |
ВыборкаКомплектующие.Следующий() Цикл |
|
||
ТабДок.Вывести(Шапка, |
|
|
|
|
Выборка.Уровень()); |
|
|
ОбластьКомплектующие.Параметры.Заполнит |
|
|
|
|
ь(ВыборкаКомплектующие); |
|
ТабДок.Вывести(ОбластьЗаказШапка); |
ТабДок.Вывести(ОбластьКомплектующие, |
|
||
ВыборкаЗаказ |
= |
ВыборкаКомплектующие.Уровень()); |
|
|
Выборка.Заказ.Выбрать(); |
|
СуммаИтог2 = СуммаИтог2 |
||
СуммаИтог1 = 0; |
|
+ ВыборкаКомплектующие.Сумма; |
|
|
Пока |
ВыборкаЗаказ.Следующий() |
КонецЦикла; |
|
|
Цикл |
|
|
|
|
ОбластьЗаказ.Параметры.Заполнить(Выборк |
ОбластьИтог2.Параметры.ВсегоПоДокументу |
|||
аЗаказ); |
|
|
2 = СуммаИтог2; |
|
|
|
|
ТабДок.Вывести(ОбластьИтог2); |
|
ТабДок.Вывести(ОбластьЗаказ, |
|
|
|
|
ВыборкаЗаказ.Уровень()); |
|
ВставлятьРазделительСтраниц |
= |
|
|
СуммаИтог1 = |
СуммаИтог1 |
Истина; |
|
+ ВыборкаЗаказ.СуммаПлан; |
|
КонецЦикла; |
|
|
КонецЦикла; |
|
КонецПроцедуры |
|
Листинг Е.10 – Документ Квитанция: Модуль объекта
Процедура |
|
|
НоваяСтрока |
= |
ОбработкаЗаполнения(ДанныеЗаполнения, |
|
Заказ.Добавить(); |
|
|
СтандартнаяОбработка) |
|
НоваяСтрока.Количество |
= |
|
Если |
ТипЗнч(ДанныеЗаполнения) |
= |
ТекСтрокаЗаказ.Количество; |
|
Тип("ДокументСсылка.ПроизводственнаяЗадача") |
|
НоваяСтрока.Номенклатура |
||
Тогда |
|
|
= ТекСтрокаЗаказ.Продукция; |
|
|
// Заполнение шапки |
|
НоваяСтрока.Сумма |
= |
|
Заказчик |
= |
ТекСтрокаЗаказ.СуммаПлан; |
|
ДанныеЗаполнения.Заказчик; |
|
НоваяСтрока.Цена |
= |
|
|
ДатаВыполненияПлан |
= |
ТекСтрокаЗаказ.ЦенаПлан; |
|
ДанныеЗаполнения.ПланДатаЗавершения; |
|
КонецЦикла; |
|
|
|
ДатаВыполненияФакт |
= |
КонецЕсли; |
|
ДанныеЗаполнения.ФактДатаЗавершения; |
|
КонецПроцедуры |
|
|
|
Для Каждого ТекСтрокаЗаказ |
Из |
|
|
ДанныеЗаполнения.Заказ Цикл |
|
|
|
Листинг Е.11 – Документ Квитанция: Модуль менеджера
Процедура Печать(ТабДок, Ссылка) Экспорт |
|
| |
Квитанция.ФактОплаты, |
|
|
Макет |
|
= |
| |
Квитанция.Заказ.( |
|
Документы.Квитанция.ПолучитьМакет("Печать"); |
|
| |
НомерСтроки, |
|
|
Запрос = Новый Запрос; |
|
| |
Номенклатура, |
|
|
Запрос.Текст = |
|
| |
Количество, |
|
|
"ВЫБРАТЬ |
|
| |
Цена, |
|
|
| |
Квитанция.Дата, |
|
| |
Сумма |
|
| |
Квитанция.ДатаВыполненияПлан, |
|
| |
) |
|
| |
Квитанция.ДатаВыполненияФакт, |
|
|ИЗ |
|
|
| |
Квитанция.Заказчик, |
|
| |
Документ.Квитанция |
КАК |
| |
Квитанция.Номер, |
|
Квитанция |
|
|
46
|ГДЕ |
|
|
ТабДок.Вывести(Шапка, |
|
|
| |
Квитанция.Ссылка В (&Ссылка)"; |
|
Выборка.Уровень()); |
|
|
Запрос.Параметры.Вставить("Ссылка", |
|
|
|
|
|
Ссылка); |
|
|
|
|
|
Выборка = Запрос.Выполнить().Выбрать(); |
ТабДок.Вывести(ОбластьЗаказШапка); |
|
|||
|
|
|
ВыборкаЗаказ |
= |
|
ОбластьЗаголовок |
= |
Выборка.Заказ.Выбрать(); |
|
||
Макет.ПолучитьОбласть("Заголовок"); |
|
СуммаИтог = 0; |
|
||
Шапка = Макет.ПолучитьОбласть("Шапка"); |
Пока |
ВыборкаЗаказ.Следующий() |
|||
ОбластьЗаказШапка |
= |
Цикл |
|
|
|
Макет.ПолучитьОбласть("ЗаказШапка"); |
|
|
|
|
|
ОбластьЗаказ |
= |
ОбластьЗаказ.Параметры.Заполнить(Выборк |
|||
Макет.ПолучитьОбласть("Заказ"); |
|
аЗаказ); |
|
|
|
ОбластьИтог |
= |
|
|
|
|
Макет.ПолучитьОбласть("Всего"); |
|
ТабДок.Вывести(ОбластьЗаказ, |
|
||
ТабДок.Очистить(); |
|
ВыборкаЗаказ.Уровень()); |
|
||
|
|
|
|
СуммаИтог = СуммаИтог |
= |
ВставлятьРазделительСтраниц = Ложь; |
|
ВыборкаЗаказ.Сумма; |
|
|
|
Пока Выборка.Следующий() Цикл |
|
КонецЦикла; |
|
||
|
Если |
|
|
|
|
ВставлятьРазделительСтраниц Тогда |
|
|
|
|
|
|
|
|
ОбластьИтог.Параметры.ВсегоПоДокументу |
|
|
ТабДок.ВывестиГоризонтальныйРазделитель |
= СуммаИтог; |
|
|
||
Страниц(); |
|
|
ТабДок.Вывести(ОбластьИтог); |
|
|
|
КонецЕсли; |
|
|
|
|
|
|
|
ВставлятьРазделительСтраниц |
= |
|
|
|
|
Истина; |
|
|
ТабДок.Вывести(ОбластьЗаголовок); |
|
КонецЦикла; |
|
|
|
|
|
|
КонецПроцедуры |
|
|
Шапка.Параметры.Заполнить(Выборка);
Листинг Е.12 – Отчет ОтчетПоОстаткамНаСкладе:
ОсновнаяСхемаКомпоновкиДанных
ВЫБРАТЬ |
ОстаткиМатериаловОстаткиИОбороты.Количе |
|
ОстаткиМатериаловОстаткиИОбороты.Матери |
ствоПриход, |
|
ал, |
ОстаткиМатериаловОстаткиИОбороты.Количе |
|
ОстаткиМатериаловОстаткиИОбороты.Количе |
ствоРасход |
|
ствоНачальныйОстаток, |
ИЗ |
|
ОстаткиМатериаловОстаткиИОбороты.Количе |
РегистрНакопления.ОстаткиМатериалов.Ост |
|
ствоКонечныйОстаток, |
аткиИОбороты |
КАК |
|
ОстаткиМатериаловОстаткиИОбороты |
|
Листинг Е.13 – Отчет СписокЗаказов: ОсновнаяСхемаКомпоновкиДанных
ВЫБРАТЬ |
КарточкаЗаказа.Ссылка КАК Документ |
|
КарточкаЗаказа.Заказчик КАК Клиент, |
ИЗ |
|
КарточкаЗаказа.СоставЗаказа.( |
Документ.КарточкаЗаказа |
КАК |
Наименование КАК ЭлементЗаказа, |
КарточкаЗаказа |
|
Количество, |
|
|
Цена, |
УПОРЯДОЧИТЬ ПО |
|
Сумма |
Документ |
|
), |
|
|
Листинг Е.14 – Отчет РейтингПродаж: ОсновнаяСхемаКомпоновкиДанных
ВЫБРАТЬ
47
ПродажиОбороты.ВыручкаОборот |
КАК |
РегистрНакопления.Продажи.Обороты |
КАК |
Выручка, |
|
ПродажиОбороты |
|
ПродажиОбороты.Номенклатура.Ссылка КАК |
|
|
|
Номенклатура |
|
УПОРЯДОЧИТЬ ПО |
|
ИЗ |
|
Выручка УБЫВ |
|
Листинг Е.15 – Отчет БезОплаты: ОсновнаяСхемаКомпоновкиДанных
ВЫБРАТЬ |
Цена, |
Квитанция.ДатаВыполненияФакт, |
Сумма |
Квитанция.Заказ.( |
), |
Ссылка, |
Квитанция.Заказчик, |
НомерСтроки, |
Квитанция.ФактОплаты |
Номенклатура, |
ИЗ |
Количество, |
Документ.Квитанция КАК Квитанция |
Листинг Е.16 – Отчет НеВСрок: ОсновнаяСхемаКомпоновкиДанных
ВЫБРАТЬ |
Номенклатура, |
Квитанция.Заказчик, |
Количество, |
Квитанция.ДатаВыполненияПлан, |
Цена, |
Квитанция.ДатаВыполненияФакт, |
Сумма |
Квитанция.ФактОплаты, |
) |
Квитанция.Заказ.( |
ИЗ |
Ссылка, |
Документ.Квитанция КАК Квитанция |
НомерСтроки, |
|
48