Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Торговое предприятие (Краткий анализ предметной области, характеристика предприятия и его деятельности)

Содержание:

ВВЕДЕНИЕ

Развитие рыночных условий хозяйствования требуют постоянного совершенствования и существенной реорганизации всей системы экономической работы в коммерческой организации. Поэтому возникает объективная необходимость в повышении эффективности информационного обеспечения процесса управления хозяйствующим субъектом.

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

Предметом настоящей КР является процесс автоматизации торгового учета в ООО «ВЕРНЫЙ».

Целью работы является снижение трудовых и стоимостных затрат в процессе автоматизации торгового учета.

Задачами КР являются:

  • Анализ деятельности компании;
  • Выявление неавтоматизированного процесса и обоснование необходимости его автоматизации;
  • Выбор средств разработки, стратегии и способа приобретения;
  • Выбор параметров разработки информационной системы;
  • Построение основных моделей информационного и программного обеспечения;.

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

В проектной части необходимо рассмотреть этапы жизненного цикла проекта автоматизации, оценить возможные риски.

Также необходимо построить дерево диалога (сценарий работы с системой) и структурную схему пакета.

В третьей части курсового проекта необходимо выбрать методику расчета экономической эффективности и провести все расчеты, направленные на обоснование экономической эффективности проекта.

Глава 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Технико-экономическая характеристика предметной области и предприятия. Анализ деятельности «КАК ЕСТЬ»

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

В настоящем КР рассматривается деятельность общества с ограниченной ответственностью – производственно-строительное объединение ООО «ВЕРНЫЙ».

В таблице 1 представлены технико-экономические показатели деятельности ООО «ВЕРНЫЙ».

Таблица 1

Технико-экономические показатели деятельности ООО «ВЕРНЫЙ»

№ п\п

Наименование характеристики (показателя)

Значение показателя за 2020 год

1

Выручка, всего (тыс. руб.)

11500

2

Себестоимость (тыс. руб.)

10100

3

Коммерческие и управленческие расходы (тыс. руб.)

44 460

4

Прибыль от продаж (тыс. руб.)

97 118

5

Прочие доходы, в том числе % получению (тыс. руб.)

10 124

6

Прочие расходы, в том числе % к уплате (тыс. руб.)

19 866

7

Прибыль до налогообложения (тыс. руб.)

87 376

8

Чистая прибыль отчетного года (тыс. руб.)

  1. 23

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

Организационная структура ООО «ВЕРНЫЙ» представляет собой функционально-иерархическую линейную структуру управления, и характеризуется следующими признаками:

- нижний уровень подчиняется линейно руководителю верхнего уровня;

- конкретные функции управления выполняются директором;

- четко выражена иерархия;

- функциональная специализация по областям и задачам компании.

Организационная структура управления ООО «ВЕРНЫЙ» схематично представлена на рисунке 1.

Рисунок 1. Организационная структура предприятия

Во главе компании находится Генеральный директор.

Директору административно – хозяйственного отдела подчиняются отделы:

- общий отдел;

- склад;

- транспортный отдел.

Директор по маркетингу подчиняются отделы:

- дирекция по ассортиментному управлению лекарственными средствами;

- дирекция по ассортиментному управлению медицинским оборудованием;

- отдел по работе с поставщиками;

- отдел ценообразования.

Организацию функции службы управления персоналом условно можно подразделить на два вида:

  • управление трудовыми отношениями;
  • документальное оформление трудовых отношений.

Менеджер по персоналу занимается следующими вопросами:

  • регулярно осуществляет мониторинг рынка труда на территории нахождения предприятия;
  • анализирует потребность в персонале с учетом развития организации;
  • ежемесячно осуществляет анализ обеспеченности предприятия персоналом;
  • определяет требования к кандидатам на открытые вакансии;
  • организует мероприятия по поиску и подбору кадров:
  • выявляет причины неудовлетворенности сотрудников и вносит предложения по устранению психотравмирующих факторов;
  • осуществляет профессиональное обучение и развитие персонала;
  • анализирует организацию системы вознаграждения (мотивации) и социального развития;
  • координирует работу по управлению качеством условий труда и соблюдению техники безопасности.
  • занимается подготовкой кадровых приказов;
  • ведет обязательный первичный учет документации по учету труда и его оплаты;
  • оформляет трудовые книги;
  • ведет личные дела сотрудников;
  • консультирует сотрудников организации;
  • составляет и корректирует график отпусков;
  • оформляет документы, связанные с различными выплатами, пособиями и льготами.

1.3. Программная и техническая архитектура ис предприятия

Структурная схема технической архитектуры предприятия представлена на рисунке 2.

. В состав серверного входит следующее оборудование:

  • Один коммутатор на 44 порта D-Link DGS-3100-48 L2 управляемый стекируемый 44xGigaUTP, 4xSFP;
  • Один ИБП APC Smart-UPS 750VA
  • Сервера HP ML350G5 (сервер приложений, альтернативный DNS-сервер, сервер-шлюз, первый и резервный контроллеры домена, другие).

Более подробная характеристика данного оборудования приведена в таблицах 2-3.

Рисунок 1. Схема технической архитектуры предприятия

Таблица 1

Технические характеристики сервера HP ML350G5

Характеристика

Значение

Тип процессора

Четырехъядерный процессор Intel® Xeon® X5460 (3,16 ГГц, 120 Вт, 1333 FSB)

Количество процессоров

1 процессор (поддержка до 2-х)

Доступные типы ядра процессора

Двух- или четырехъядерный

Кэш-память

Кэш-память 2 уровня 12 Мб (2 x 6 Мб)

Максимальная память

16 Гб или 32 Гб

Чипсет

Intel® 5000Z

Шина FSB процессора

Шина FSB 1333/1066/667 МГц

Стандартное ОЗУ

512 Мб, 1 Гб или 2 Гб

Тип памяти

PC2-5300 с полной буферизацией DIMM (DDR2-667), работающая на частоте 667 МГц

Таблица 2

Технические характеристики ИБП APC Smart-UPS 750VA

Характеристика

Значение

Максимальная выходная мощность

500 Ватт / 750 ВА

Максимальное задаваемое значение мощности

500 Ватт / 750 ВА

Номинальное выходное напряжение

230V

Номинальное входное напряжение

230V

Входная частота

50/60 Hz +/- 3 Hz (auto sensing)

Тип входного соединения

IEC-320-C14 inlet

Диапазон входного напряжения при работе от сети

160 - 285В

Диапазон регулировки входного напряжения при работе от сети

151 - 302В

Типовая продолжительность работы в автономном режиме под половинной нагрузкой

16.4 Минуты (250 Ватт)

Типовая продолжительность работы в автономном режиме под полной нагрузкой

4.8 Минуты (500 Ватт)

На каждом этаже размещается коммутационный шкаф, в котором располагаются:

  • патч-панель;
  • один коммутатор (D-Link DGS-3100-48 L2);
  • один ИБП APC Smart-UPS 750VA.

Рабочие станции обладают следующей конфигурацией:

  • процессор –Intel Pentium Gold G5420, 3.8 Hz;
  • память – 8 Gb в двух канальном режиме;
  • жесткий диск от 500 GB + 120 GB SSD;
  • CD-ROM - от 48x;
  • Монитор ASUS VP228DE 21.5";
  • клавиатура и мышь Logitech.;
  • операционная система – Windows 7/8/10
  • Дисковод: 3,5" 1.44Mb NEC .

Кроме того, в пользовательском сегменте размещены сетевые МФУ HP LaserJet M1120, основные характеристики которого приведены в таблице 4.

Таблица 3

Технические характеристики МФУ HP LaserJet M1120

Характеристика

Значение

Цветность печати

черно-белая

Технология печати

лазерная

Количество страниц в месяц

8000 стр.

Страниц в месяц

от 6001 до 9000

Количество цветов

1

Макс. разрешение для ч/б печати

600x600 dpi

Скорость

19 стр/мин (ч/б А4)

Макс. формат оригинала сканера

A4

Макc. размер сканирования

216x297 мм

Максимальное разрешение копира (ч/б)

600x600 dpi

Скорость копирования

14 стр/мин (ч/б А4)

В качестве среды передачи данных используется кабель витая пара 5 категории (1000BASE-ТX) со скоростью передачи до 1000 мбит/сек.

Схема используемой программной архитектуры представлена на рисунке 3.

Рисунок 3. Схема программной архитектуры

В качестве операционной системы на АРМ пользователей используется Windows 10, в качестве серверной - Windows Server 2019.

Характеристика комплекса задач, задачи и обоснование необходимости автоматизации

Выбор комплекса задач автоматизации и характеристика

существующих бизнес-процессов

Характеристика основных процессов ООО «ВЕРНЫЙ» приведена на рисунке 4.

Рисунок 4. Характеристика основных процессов ПО

ООО «ВЕРНЫЙ»

Существующие бизнес-процессы ООО «ВЕРНЫЙ» вытекают из набора деловых связей, обозначенных в организационной структуре компании.

Декомпозиция основных процессов приведена на рисунке 5.

Рисунок 5. Декомпозиция основных процессов

К основным процессам относятся закупка и хранение материальных ресурсов, производство продукции, хранение и реализация готовой продукции. Декомпозиция управленческих процессов приведена на рисунке 6.

Рисунок 6. Декомпозиция управленческих процессов

К управленческим процессам относится процесс стратегического управления и процесс тактического управления.

Декомпозиция поддерживающих процессов приведена на рисунке 7.

Рисунок 7. Декомпозиция поддерживающих процессов

Среди всего разнообразия представленных процессов наибольший интерес вызывает процесс автоматизации торгового учета, который входит в состав процесса стратегического управления (рисунок 8).

Рисунок 8. Декомпозиция процесса стратегического управления

В информационной системе предприятия объекты торгового учета раскрываются с помощью специфических приемов и способов: документации; инвентаризации; оценки; группировки и контрольных счетов; планирования, нормирования и лимитирования; контроля; анализа.

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

Сотрудник бухгалтерии, получая отчеты, вносит необходимые данные в журнал учета, тем самым формируя отчет. Таким же образом сотрудник бухгалтерии получает и учитывает данные по объему закупок и расхода сырья, объему продаж готовой продукции. В результате им формируется документ, характеризующий деятельность всего предприятия за определенный период времени. [9]

Схематично данный процесс изображен на рисунке 9.

Рисунок 9. Характеристика торгового учета ООО «ВЕРНЫЙ»

Входная информация: сведения о производстве за цеха, сведения о совершенных закупках, сведения об учтенных заказах;

Выходная информация – отчеты по сырью, запасам и готовой продукции, а также различные виды аналитической отчетности, такие как, анализ произведенного объема продукции, анализ потраченного сырья и других ресурсов, анализ эффективности использования производственных мощностей предприятия и другие.

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

Управление и ограничение процесса выполняется в рамках законодательства РФ и устава компании.

Декомпозиция процесса подготовки аналитических отчетов приведена на рисунке 10.

Рисунок 10. Декомпозиция процесса подготовки
аналитических отчетов

Таким образом, данный процесс включает в себя следующие подпроцессы:

    1. Сбор информации и ее обработку;
    2. Анализ поступивших данных;
    3. Формирование отчетов.

В настоящее время функции учета и планирования выполняет бухгалтерия.

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

Кроме того, такой порядок работы имеет и другие недостатки. Во-первых, бухгалтерия выполняет несвойственные ей функции, что влечет за собой неизбежные ошибки, во-вторых, сам способ хранения информации неудобен для ее анализа, в-третьих, возможны неточности при передаче информации между отделами компании, а также невозможна обработка файлов одновременно несколькими пользователями. Планирование осуществляется на основе данных учета, в связи с этим осуществляется неверно, что влечет за собой понижение эффективности предприятия. [10]

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

Для проведения анализа существующих программных продуктов проведен вначале краткий обзор наиболее распространенных систем управления.

R3 SAP – это комплексная платформа для планирования ресурсов предприятия, функциональные возможности которой позволяют полностью автоматизировать процессы учета и управления в компаниях с использованием наиболее эффективных бизнес-инструментов.

Oracle EBusiness Suite представляет собой полнофункциональный набор бизнес приложений, обеспечивающих эффективное управление взаимодействием с клиентами, предоставлением услуг, выпуском продукции, доставкой заказов, приемом платежей и другими аспектами деятельности предприятия в рамках одной системы, созданной на базе единой информационной архитектуры.

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

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

Для разработки использована Java EE5.

Opentaps представляет собой веб-ориентированное ERP и CRM приложение для малого и среднего бизнеса на основе Apache Open for Business. Он также предлагает встроенные инструменты бизнес-аналитики и интеграции мобильности, в том числе с Microsoft Outlook, Google Calendar, а также мобильных телефонов. Для разработки использована Java EE5.

Сравнение рассмотренных систем приведено в таблице 7.

Таблица 7

Сравнение ERP

Наименование

ERP-система

SAP R/3

Oracle E-Business Suite

Infor|Baan

Галактика

opentaps

Поддерживаемые ОС

Windows, Linux

Windows, Linux

Windows, Linux

Windows, Linux

Windows, Linux, Unix

Язык программирования

ABAP

C, C++

4GL

VIP

Java

Платформа

-

-

-

MS SQL Server

Apache OfBiz

Поддерживаемые базы данных

Native SQL, Open SQL

Oracle E-Business Suite

Все СУБД с SQL Links

PostgreSQL

Apache DBCP, Derby,

and Geronimo, PostgreSQL, MySQL

Доступ к серверу

настольное приложение (desktop)

+

+

+

+

+

web-интерфейс

+

+

+

+

+

Продолжение таблицы 7

Установка системы

инсталлятор

самостоятельная сборка

инсталлятор

инсталлятор

инсталлятор

Уровень руссификации

пользовательский интерфейс

неполная

неполная

неполная

полная

неполная

бухгалтерия (поддержка РСБУ)

есть

нет

нет

есть

нет

Все рассматриваемые системы имеют стандартный для ERP-системы набор функциональных блоков. Сюда входят и управление закупками и поставками, управление складом, финансы и бухгалтерия, управление производством. Все вышерассмотренные системы в той или иной степени пригодны к применению на рассматриваемом предприятии, однако возникает следующая сложность – для внедрения системы мониторинга производственными процессами на предприятии должны быть системы автоматизации низшего уровня, к которым в данном случае отнесем системы электронного документооборота, система управления персоналом, система взаимодействия с клиентами. Поэтому в нашем случае более целесообразно разработать такую информационную систему самостоятельно.

Глава 2. ПРАКТИЧЕСКАЯ ЧАСТЬ

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

Все классификаторы в разрабатываемой системе должны вестись администратором системы.

  1. Классификатор сотрудников.

Структурная формула классификатора:

F = [Наименование]:[XX] — код сотрудника

Пример заполнения — 26

  1. Классификатор сырья.

Структурная формула классификатора:

F = [Наименование]:[XXX] — код сырья

Пример заполнения — 001

  1. Классификатор поставщиков.

Структурная формула классификатора:

F = [Наименование ]:[ XXXXX] — код поставщика

Пример заполнения — 00001

  1. Классификатор должностей.

Структурная формула классификатора:

F = [Наименование]:[ X] — код должности

Пример заполнения — 4

  1. Классификатор клиентов.

Структурная формула классификатора:

F = [Наименование]:[XXXXX] — код клиента

Пример заполнения — 13230

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

Структурная формула классификатора:

F = [Наименование]:[ X] — код подразделения

Пример заполнения — 2

  1. Классификатор продукции.

Структурная формула классификатора:

F = [Наименование]:[XXXXX] — код продукции

Пример заполнения — 03452.

К результатным документам относятся:

  • общий объем произведенной продукции за период;
  • общий объем поставленного сырья за период;
  • общий объем реализованной продукции за период;
  • характеристика деятельности поставщиков по объему поставленного сырья и степени выполнения плана поставок;
  • характеристика деятельности клиентов по объему закупленной продукции и степени выполнения заявок на закупку готовой продукции.

Для хранения информации в системе необходимо разработать следующие справочники:

  • сотрудники;
  • продукция
  • клиенты;
  • Сырье и материалы;
  • производство;
  • продажи.

Кроме того, необходимо спроектировать и разработать следующие основные экранные формы:

  • форму авторизации;
  • формы заполнения справочников;
  • формы учета;
  • форму получения отчетных документов.

В рассматриваемой задаче автоматизации, в ходе которой необходимо автоматизировать процесс приема и распределения заявок от клиентов ПО ООО «ВЕРНЫЙ», в качестве технического обеспечения используются следующие средства:

  • персональные компьютеры менеджеров;
  • сервера;
  • соединительные линии локальной вычислительной сети.

Персональные компьютеры оцениваются по следующим основным критериям:

  • быстродействие процессора;
  • объем жесткого диска;
  • объем оперативной памяти;
  • быстродействие видеокарты.

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

Критериями для выбора ОС масштаба предприятия являются следующие характеристики:

  • поддержка многосерверной сети;
  • высокая эффективность файловых операций;
  • возможность эффективной интеграции с другими ОС;
  • наличие централизованной масштабируемой справочной службы;
  • хорошие перспективы развития;
  • эффективная работа удаленных пользователей;
  • разнообразные сервисы: файлсервис, принтсервис, безопасность данных и отказоустойчивость, архивирование данных, служба обмена сообщениями, разнообразные базы данных и другие;
  • поддержка многообразных операционных систем конечных пользователей;
  • поддержка сетевого оборудования стандартов Ethernet;
  • наличие популярных прикладных интерфейсов и механизмов вызова удаленных процедур RPC.

В рамках курсового проекта в качестве серверной ОС для ООО «ВЕРНЫЙ» была выбрана Microsoft Server 2019.

В таблице 8 приведена сравнительная таблица четырех распространенных систем управления базами данных, конкурирующих на рынке программного обеспечения по основным показателям.

Таблица 8

Сравнение СУБД

Критерий

Система управления базой данных

IBM DB2

Microsoft SQL Server 2019

MySQL

Моделирование данных

4

5

3

Особенности архитектуры и функционал

4

4

5

Контроль работы системы

3

4

5

Производительность

5

4

5

Особенности разработки

4

5

5

Надежность

5

4

5

Требования к рабочей среде

3

4

4

Смешанные критерии

4

5

5

Итого:

32

39

33

Таким образом, для проекта, рассматриваемого в данном дипломном проекте наиболее приемлема СУБД MSSQL.

В случае использования универсальной среды программирования при разработке системы автоматизации какого-либо предприятия существует целый ряд различных сущностей – товары, клиенты, счета, накладные, документы - а также все способы регистрации их взаимодействия.

Для реализации приложения пользователя ООО «ВЕРНЫЙ» вполне подойдёт встроенный язык программирования платформы 1C: «Предприятие 8.3».

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

Разрабатываемый программный продукт автоматизирует функции обработки данных и подготовки документов по учету в ООО «ВЕРНЫЙ».

Выделяется два подмножества функций системы (рисунок 11):

- служебные функции, к которым относятся вход в систему с учетной записью пользователя, справка по работе с программой;

- основные функции обработки данных: ведение справочников системы, просмотр и печать документов, получаемые отчеты.

Система должна работать в многопользовательском режиме.

Дерево функций системы представлено на рисунке 15.

C:\Users\furbyy\Desktop\схемы\2\дерево.jpg

Рисунок 15. Дерево функций системы

Эти пункты имеют свойство выпадающего списка.

C:\Users\furbyy\Desktop\схемы\2\Дерево2.jpg

Рисунок 16. Сценарий диалога

Далее опишем действия, выполняемые в каждом пункте меню.

Пункт меню «Файл» содержит варианты «Сохранить», «Печать» и «Выход».

Пункт меню «Операции» состоит из «Справочники», «Документы», «Отчеты».

Справочник «Номенклатура» содержит информацию о всех ТМЦ и продукции на предприятии.

Справочник «Организации» содержит информацию о всех помещениях, где работают люди

Справочник «Пользователи» содержит информацию о всех сотрудниках компании.

Справочник «Единицы конфигураций» содержит информацию о всех единицах номенклатуры на рабочем месте.

Документ «Приходная накладная» содержит информацию о поступивших ТМЦ или продукции.

Документ «Расходная накладная» содержит информацию о списанном, перемещенном ТМЦ или продукции.

Отчет «ИНВ 3» содержит информацию о всех единицах номенклатуре, которые проверялись при инвентаризации.

Отчет «ИНВ 19» содержит информацию о недостающей продукции или ТМЦ.

Пункт меню «Сервис» содержит подпункты «Календарь», «Калькулятор», «Журнал регистрации».

Пункт меню «Справка» содержит подпункты «Справка», «О программе».

2.3.2 Характеристика базы данных

Информационная модель представлена на рисунке 17.

Рисунок 17. Информационная модель системы торгового учета

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

В системе предусмотрены следующие справочники:

  • Сотрудники;
  • Сырье и материалы;
  • План поставок;
  • Поставщики;
  • Должности;
  • Клиенты;
  • Подразделения;
  • Категории продукции;
  • Продукция;
  • План производства.

В качестве результатных формируются следующие документы:

  • общий объем произведенной продукции за период (сутки, неделя, месяц, произвольный период);
  • общий объем поставленного сырья за период (сутки, неделя, месяц, произвольный период);
  • общий объем реализованной продукции за период (сутки, неделя, месяц, произвольный период);
  • характеристика деятельности поставщиков по объему поставленного сырья и степени выполнения плана поставок;
  • характеристика деятельности клиентов по объему закупленной продукции и степени выполнения заявок на закупку готовой продукции;
  • сводная ведомость поставщиков;
  • сводная ведомость клиентов;
  • сводная ведомость сырья по видам;
  • сводная ведомость готовой продукции по номенклатуре;
  • список заявок;
  • список сотрудников.

В системе используется СУБД MySQL. База данных состоит из 12 таблиц. ER-диаграмма базы данных приведена на рисунке 18. Ниже приведено даталогическое описание базы данных.

Таблица 11

Таблица «Должности»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код должности

iddolg

int(11)

Наименование

namedolg

varchar(45)

Рисунок 18. ER-модель предметной области ООО «Верный»

Таблица 12

Таблица «Категории»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код категории

idkat

int(11)

Наименование

namekat

varchar(45)

Таблица 13

Таблица «Подразделения»

№ п/п

Название

Идентификатор поля

Тип данных, длина

1.

Код цеха

idGild

int(11)

2.

наименование

nameG

varchar(45)

3.

Краткое наименование

KrnameG

varchar(45)

4.

Отметка об удалении

udalG

int(1)

Таблица 14

Таблица «Клиенты»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код клиента

idKlient

int(11)

Наименование

namekl

varchar(45)

Краткое наименование

krnamekl

varchar(45)

Адрес

adresskl

varchar(45)

Юридический адрес

uradrkl

varchar(45)

Банковские реквизиты

banrekKl

varchar(45)

Контактное лицо

kontlizoKl

varchar(45)

Телефон

tlfKl

varchar(45)

Почта

emailKl

varchar(45)

Дата регистрации

dateregKl

timestamp

Отметка об удалении

udalKl

int(1)

Таблица 15

Таблица «Производство»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код продукции

idMake

int(11)

Код производства

idPrm

int(11)

Код сотрудника

idSm

int(11)

Код цеха

idGm

int(11)

Количество

kolvoM

varchar(45)

Дата

dateM

varchar(25)

Дата регистрации

dateMreg

timestamp

Таблица 16

Таблица «План поставок»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код записи

idPP

int(11)

Дата записи

datePP

date

Код поставщика

idpostPP

int(11)

Код сотрудника

idsirPP

int(11)

Количество

kolvopp

varchar(45)

Таблица 17

Таблица «План производства»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код записи

idPR

int(11)

Дата записи

datePP

varchar(25)

Код клиента

idklpr

int(11)

Код продукции

idprodpr

int(11)

количество

kolvopr

varchar(45)

Таблица 18

Таблица «Поставщики»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код поставщика

idPostav

int(11)

Наименование

nameP

varchar(45)

Краткое наименование

krnameP

varchar(45)

Адрес

adressP

varchar(45)

Юридический адрес

uradrP

varchar(45)

Банковские реквизиты

banrekP

varchar(45)

Контактное лицо

kontlizoP

varchar(45)

Телефон

tlfP

varchar(45)

Почта

emailP

varchar(45)

Дата регистрации

dateregP

timestamp

Отметка об удалении

udalP

int(1)

Таблица 19

Таблица «Продукция»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код продукции

idprod

int(11)

Наименование

nameprod

varchar(45)

Артикул

art

varchar(45)

Единица измерения

edizmpr

varchar(45)

Себестоимость

selfst

varchar(45)

Оптовая цена

optst

varchar(45)

Розничная цена

rozst

varchar(45)

Описание

primP

text

Отметка об удалении

udalPr

int(1)

Таблица 20

Таблица «Сырье и материалы»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код сырья

idS

int(11)

Наименование

names

varchar(45)

Единица измерения

edizms

varchar(45)

Цена

prises

varchar(45)

Срок хранения

srok

varchar(45)

Примечание

primS

text

Отметка об удалении

udalSir

int(1)

Таблица 21

Таблица «Сотрудники»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код сотрудника

idsotr

int(11)

Имя и отчество

name

varchar(45)

Должность

dolg

varchar(45)

Логин

login

varchar(45)

Пароль

parol

varchar(45)

Дата регистрации

dates

varchar(45)

Флаг

fls

varchar(45)

Фамилия

surname

varchar(45)

Дата рождения

datebor

varchar(45)

Код цеха

idGilds

int(11)

Отметка об удалении

udal

int(1)

Таблица 22

Таблица «Заявки»

№ п/п

Название

Идентификатор поля

Тип данных, длина

Код заявки

idZajav

int(11)

Код клиента

idklz

int(11)

Код продукции

idprodz

int(11)

Количество

kolvoprodz

varchar(45)

Дата

datez

varchar(20)

Дата подачи

dateregz

timestamp

Статус

status

int(1)

Код сотрудника

idsotrZ

int(11)

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

Структурная схема пакета представлена на рисунке 19.

Рисунок 19. Структурная схема пакета

Таким образом, разработанная система структурно состоит из следующих модулей:

  • модуль авторизации;
  • модуль получения отчетов;
  • модуль ввода данных;
  • модуль справочников
  • обеспечивающий модуль.

Таблица 23

Характеристика программных модулей

№ п/п

Наименование модуля

Функции модуля

ПМ Авторизация

Содержит процедуры, позволяющие сформировать главное меню

ПМ Меню

Содержит предопределенные процедуры позволяющие создать меню программы

ПМ работы со справочниками

Содержит предопределенные процедуры формы списка и элемента подменю работы со справочниками

ПМ ввода данных

Содержит предопределенные процедуры, позволяющие ввести данные в экранные формы и записать их в БД

ПМ формирования отчета

Содержит предопределенные процедуры, позволяющие сформировать выбранный отчет в табличном виде

ПМ обеспечивающий

Содержит предопределенные процедуры, позволяющие использовать изображения и js-скрипты

Блок –схема формирования плана поставок приведена на рисунке 20.

Рисунок 20. Схема технологического процесса авторизации пользователя в системе и выбора пункта меню

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

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

Проверяемые функции разработанной информационной системы представлены в таблице 24.

Таблица 24

Список проверяемых функций

№ п/п

Проверяемая функция

Примечание

1

Учет и введение справочников

Корректно

2

Учет и введение документов

Корректно

3

Учет и введение отчетов

Корректно

4

Введение регистров

Корректно

Остальные проверяемые функции не нуждаются в проверке, так как в платформе 1С: Предприятие 8.3 присутствует автоматизированный модуль проверки программного кода и структуры метаданных.

Рассмотрим испытания проверки формирования печатной формы, размещенной ранее.

Описание проверок разработанной информационной системы представлены в таблице 25.

Таблица 25

Описание проверки

Параметр

Значение

Функция

1. Печать документа.

Предмет проверки

1.1. Время печати;

1.2. Соответствие формы образцу;

1.3. Правильность вывода полей.

Используемые средства

1.1. Секундомер, драйвер печати в PDF;

1.2. Шаблон документа.

Исходные данные

База данных программы, содержащая 50 записей в основной таблице, наполненных случайными значениями до максимально допустимой длины полей.

Искажения тестовой информации для имитации нештатных ситуаций

А) в записи 48 все поля имеют нулевую длину.

Б) в записи 49 все поля имеют размер более максимально допустимого по заданию.

Ожидаемая реакция

1.1. Время печати не более 10 секунд;

1.2. Напечатанная форма на просвет соответствует шаблону для всех записей, наложения полей на надписи шаблона отсутствуют;

1.3. Поля 1,2,3 и 4 соответствуют полям 2,3,4 и 8 основной таблицы базы данных по каждой записи.

Способ определения результатов

Параметры, определяемые требованиями заказчика.

Рассмотрим пример реализации системы. Вначале рассмотрим первоначальное заполнение справочников системы. На рисунке 21 представлена экранная форма регистрации клиентов.

Рисунок 21. Справочник Клиенты

На рисунке 22 представлена экранная форма справочника Продукция.

Рисунок 22. Форма ввода в Справочник Продукция

На рисунке 23 показана экранная форма Справочника Категории продукции:

Рисунок 23. Справочник Категории продукции

Для регистрации заявок необходимо перейти на соответствующую вкладку (рисунок 24).

Рисунок 24. Регистрация заявки

Список заявок можно посмотреть, перейдя на вкладку Список заявок (рисунок 25).

Рисунок 25. Заявка на производство

Экранная форма плана производства представлена на рисунке 26.

Рисунок 26. Экранная форма плана производства

Экранная форма для ввода данных в Справочник Услуги приведена на рисунке 27.

Рисунок 27. Справочник Услуги

Форма рассылки задач приведена на рисунке 28.

Рисунок 28. Рассылка задач

Экранная форма отчета компании показана на рисунке 29.

Рисунок 29. Экранная форма отчета
компании

Листинг программных модулей приведен в Приложении.

ЗАКЛЮЧЕНИЕ

В результате проведенной работы ясно, что основные задачи курсового проекта — анализ деятельности предприятия, выявление существующих недостатков в текущей технологии управления предприятием, разработка автоматизированной системы торгового учета, в дипломной работе выполнены.

Основным показателем, рассчитываемым в системе, является количество выполненных заявок.

В системе предусмотрены следующие выходные документы:

  • общий объем произведенной продукции за период (сутки, неделя, месяц, произвольный период);
  • общий объем поставленного сырья за период (сутки, неделя, месяц, произвольный период);
  • общий объем реализованной продукции за период (сутки, неделя, месяц, произвольный период);
  • характеристика деятельности поставщиков по объему поставленного сырья и степени выполнения плана поставок;
  • характеристика деятельности клиентов по объему закупленной продукции и степени выполнения заявок на закупку готовой продукции;
  • сводная ведомость поставщиков;
  • сводная ведомость клиентов;
  • сводная ведомость сырья по видам;
  • сводная ведомость готовой продукции по номенклатуре;
  • список заявок;
  • список сотрудников.

Разработанный проект в полной мере соответствует требованиям задания на дипломное проектирование.

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

По итогам написания КР была создана ИС торгового учета на платформе 1С «Предприятие 8.3».

В результате автоматизации торгового учета была повышена экономическая эффетивность процесса учета.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. ГОСТ Р ИСО/МЭК 12207/99. Государственный стандарт РФ. Информационная технология. Процессы жизненного цикла информационных систем. Издание официальное. - М., 2015
  2. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.
  3. Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2011. - 368 с., ил
  4. Астелс, Дэвид; Миллер Гранвилл; Новак, Мирослав, Практическое руководство по экстремальному программированию, Пер. с англ. - М.: Издательский дом "Вильямс", 2016. - 320 с.: ил. - Парал. тит. англ
  5. Баженова И. Ю. , Основы проектирования приложений баз данных, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2017 г., , 328 стр.
  6. Вендров А.М., CASE-технологии. Современные методы и средства проектирования информационных систем - М.: Финансы и статистика, 2018 г, 456 стр.
  7. Вигерс Карл, Разработка требований к программному обеспечению, Пер, с англ. - М.: Издательско-торговый дом "Русская Редакция", 2019. -576с.: ил
  8. Гашков С. Б., Э. А. Применко, М. А. Черепнев Криптографические методы защиты информации, М, Издательство: Академия, 2011г., 304 стр.
  9. Гвоздева Т. В., Б. А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2019 г., 512 стр.
  10. Голицына О. Л., И. И. Попов, Н. В. Максимов, Т. Л. Партыка, Информационные технологии, М, Издательство Инфра-М, 2018 г., 608 стр.
  11. Дейв Крейн, Эрик Паскарелло, Даррен Джеймс. AJAX в действии: Учебник – М.: Вильямс, 2019. 450 – 490 с.
  12. Дэвид Флэнаган. JavaScript. Подробное руководство: Учебник – М.: Символ Плюс, 2019. 243 – 249 с.
  13. Емельянова Н. З., Партыка Т. Л., И. И. Попов, Проектирование информационных систем, М, Издательство: Форум, 2018 г., 432 стр.
  14. Емельянова Н. З., Т. Л. Партыка, И. И. Попов, М, Издательство Форум, 2019 г., , 416 стр.
  15. Илюшечкин В. М. , Основы использования и проектирования баз данных, М, Издательство Юрайт, 2019 г., 224 стр.
  16. Котляров В. П., Т. В. Коликова, Основы тестирования программного обеспечения, Издательства: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2018 г., 288 стр.
  17. Кристиан Дари, Богдан Бринзаре, Филип Черчез-Тоза, Михай Бусика. AJAX и PHP. Разработка динамических веб-приложений: Учебник – М.: Символ Плюс, 2019, 289 стр.
  18. Кузин А. В., С. В. Левонисова, Базы данных, М, Издательство: Академия, 2018 г., 320 стр.
  19. Кузнецов С. Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2019 г., 488 стр.
  20. Молчанов А. Ю., Системное программное обеспечение, М, Издательство: Питер, 2019 г., 400 стр.
  21. Незнанов А. А., Программирование и алгоритмизация, М, Издательство: Академия, 2019 г., 304 стр.
  22. Пирогов В. Ю., Информационные системы и базы данных. М, Организация и проектирование, Издательство: БХВ-Петербург, 2018 г.528 стр.
  23. Предметно-ориентированные экономические информационные системы, М, Издательство: Финансы и статистика, 2019 г., 224 стр.
  24. Реляционные базы данных: практические приемы оптимальных решений. – СПб.: БХВ-Петербург, 2018 – 400с.:ил;
  25. Симионов Ю.Ф., Боромотов В.В. Информационный менеджмент. — Ростов н.Д: Феникс, 2019, 250с., ил.;
  26. Чипига А. Ф., Информационная безопасность автоматизированных систем, М, Издательство: Гелиос АРВ, 2019 г., 336 стр.
  27. ПРИЛОЖЕНИЕ

Программный код

// префикс номера документа

Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)

Префикс = Обмен.ПолучитьПрефиксНомера();

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

// при вводе нового документа

Процедура ОбработкаЗаполнения(Основание, Значение)

ОбщийСрв.ПриВводеНовойЗадачи(ЭтотОбъект); // заполнить все реквизиты по-умолчанию для новой задачи

// если вводится на основании Контрагента

Если ТипЗнч(Основание) = Тип("СправочникСсылка.Контрагенты") Тогда

Контрагент = Основание; // основание - это контрагент

Отвественный = Основание.Отвественный; // отвественный по задаче - ответсвенный по контрагенту

Исполнитель = Исполнители.Добавить(); // первый исполнитель -

Исполнитель.Исполнитель = Основание.Отвественный;

Исполнитель.Процент = 100;

КонецЕсли;

// если вводится на основании другой задачи

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

ОбщийСрв.ПриВводеНовойЗадачи(ЭтотОбъект, Основание);

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

КонецЕсли;

Если ТипЗнч(Основание) = Тип("Структура") Тогда //если вводлится новый из списка с установленным отбором

// то данные заполняются автоматически из отбора "Заполнять из данных заполнения"

КонецЕсли

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

// если копирование - то переопределить логику копирования

Процедура ПриКопировании(ОбъектКопирования)

Автор = ПараметрыСеанса.глПользователь; // автор - текущий пользователь

Отвественный = ПараметрыСеанса.глПользователь; // автор - текущий пользователь

Статус = Справочники.Статусы.Новая; // новая задача - статус Новая

ДокОснование = ОбъектКопирования.Ссылка; // Док основание - та задача из котрой скопировали

Переписка.Очистить();

Исполнители.Очистить();

Подзадачи.Очистить();

Номенклатура.Очистить();

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

// перед удалением документа

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

// проверка на закрытый период

Если ОбщийСрв.ВЗакрытомПериоде(ЭтотОбъект) Тогда

Сообщить(ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект) + "Находится в закрытом периоде. Удаление невозможно");

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

Возврат;

КонецЕсли;

// проверка Проведена

Если (ЭтотОбъект.Проведен И Константы.ЗапретПроведенных.Получить()) И Не ПараметрыСеанса.глЗаписьВедетИсполнитель Тогда

Сообщить(ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект) + "Уже выполнена. Удаление невозможно");

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

Возврат;

КонецЕсли;

// проверка прав

Если Не ОбщийСрв.ПроверкаПрав(Автор, ПараметрыСеанса.глПользователь) Тогда

Сообщить(ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект) + "Нет прав удалять чужой документ");

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

Возврат;

КонецЕсли;

// удалить вхождение этого документа в табличную часть Подзадачи любых остальных документов

ТЗРодителей = СформироватьСписокРодителей(ЭтотОбъект.Ссылка); // сформировать ТЗ всех документов, в которые входит удаляемая

Для Каждого СтрокаРодитель Из ТЗРодителей Цикл // для каждого родителя

УдалитьПодзадачу(СтрокаРодитель.Ссылка, ЭтотОбъект.Ссылка); // удалить текущую(удяляемую) задачу из родителя

КонецЦикла

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

// удалить ЗадачаРебенок из табличной части Подзадачи у ЗадачаРодитель

Процедура УдалитьПодзадачу(ЗадачаРодитель, ЗадачаРебенок)

Если ЗадачаРодитель.Пустая() Тогда

Возврат;

КонецЕсли;

ЗадачаРодительОбъект = ЗадачаРодитель.ПолучитьОбъект();

СтруктураОтбора = Новый Структура("Подзадача", ЗадачаРебенок);

МассивУдаляемыхСтрок = ЗадачаРодительОбъект.Подзадачи.НайтиСтроки(СтруктураОтбора);

Для Каждого ЭлементМассива Из МассивУдаляемыхСтрок Цикл

ЗадачаРодительОбъект.Подзадачи.Удалить(ЭлементМассива);

КонецЦикла;

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

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

// сформироват ТЗ документов, в которые ПодЗадачаРебенок входит в таб часть Подзадачи ( вявном виде, не через рекурсию)

Функция СформироватьСписокРодителей(ПодЗадачаРебенок)

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

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

"ВЫБРАТЬ

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

|ИЗ

| Документ.Задача.Подзадачи КАК ЗадачаПодзадачи

| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Задача КАК Задачи

| ПО ЗадачаПодзадачи.Ссылка = Задачи.Ссылка

|ГДЕ

| ЗадачаПодзадачи.Подзадача = &ПодзадачаРебенок

|";

Запрос.УстановитьПараметр("ПодзадачаРебенок", ПодзадачаРебенок);

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

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

Возврат ТЗ;

КонецФункции

// провести все непроведенные подзадачи из ЗадачаОбъект и провести ее саму

Процедура ВыполнитьВсеПодзадачиПринудительно(ЗадачаОбъект)

Для Каждого ТекСтрокаПодзадача Из ЗадачаОбъект.Подзадачи Цикл // по всем строкам таб. части Подзадачи

Если ТекСтрокаПодзадача.Подзадача.Проведен <> Истина Тогда // если не была проведена

ВыполнитьВсеПодзадачиПринудительно(ТекСтрокаПодзадача.Подзадача.ПолучитьОбъект()); // провести все ее подзадачи

ТекСтрокаПодзадача.Подзадача.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный); // провести ее саму

Сообщить("Выполнена подзадача " + ОбщийСрв.ПредставлениеЗадачи(ТекСтрокаПодзадача.Подзадача));

КонецЕсли;

КонецЦикла;

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

// проверить, есть ли среди ТЧ Исполнители записи без отметки исполнения

Функция ПроверитьИсполнение()

Исполненно = Истина;

Для Каждого ТекСтрокаИсполнитель Из Исполнители Цикл

Если ТекСтрокаИсполнитель.ДатаИсполнения = Дата(01,01,0001,00,00,00) Тогда

Сообщить("Задача не может быть выполнена, так как исполнитель \" + ТекСтрокаИсполнитель.Исполнитель +

"\ не проставил отметку исполнения");

Исполненно = Ложь;

КонецЕсли;

Если Не ТекСтрокаИсполнитель.РезультатИсполнения.Пустая() Тогда

Если Не ТекСтрокаИсполнитель.РезультатИсполнения.Успех Тогда

Сообщить("Задача не может быть выполнена, так как исполнитель \" + ТекСтрокаИсполнитель.Исполнитель +

"\ проставил отрицательную отметку исполнения");

Исполненно = Ложь;

КонецЕсли;

КонецЕсли;

КонецЦикла;

Возврат Исполненно;

КонецФункции

// действия при проведении документа

Функция ПриПроведении(Отказ)

// проверка того, что все исполнители проставили отметку об исполнении

Если Константы.ПроверятьИсполнениеПриВыполнении.Получить() Тогда // общая константа

Если ОбщийСрв.ПолучитьКонстанту(ТекущаяДата(), ОбщийСрв.ПолучитьГлПользователь(), "ПроверятьИсполнениеПриВыполнении") Тогда // настройка пользователя

Если Не ПроверитьИсполнение() Тогда

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

Возврат Ложь;

КонецЕсли;

КонецЕсли;

КонецЕсли;

// проверка того, что все подзадачи проведены

ЕстьНеВыполненыеПодзадачи = Ложь;

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

Если ТекСтрокаПодзадача.Подзадача.Проведен <> Истина Тогда

Сообщить(ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект) + " имеет невыполненные подзадачи");

ЕстьНеВыполненыеПодзадачи = Истина;

КонецЕсли;

КонецЦикла;

Если ЕстьНеВыполненыеПодзадачи = Истина Тогда

Если (Константы.ПринудительноВыполнятьПодзадачи.Получить()) И // общая константа

(ОбщийСрв.ПолучитьКонстанту(ТекущаяДата(), ОбщийСрв.ПолучитьГлПользователь(), "ПринудительноВыполнятьПодзадачи")) Тогда // настройка пользователя

Сообщить("Подзадачи будут выполнены принудительно...");

ВыполнитьВсеПодзадачиПринудительно(ЭтотОбъект); // автоматически провести все подзадачи данной задачи

Иначе // нельзя автоматически выполнять подзадачи

Сообщить(ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект) + " не может быть выполнена");

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

Возврат Ложь;

КонецЕсли;

КонецЕсли;

Возврат Истина

КонецФункции

// обработка проведения

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

Если Не ПриПроведении(Отказ) Тогда // проверить проведение подзадач

Возврат;

КонецЕсли;

// регистр ИспользованниеНоменклатуры

Движения.ИспользованиеНоменклатуры.Записывать = Истина;

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

Если ТекСтрокаНоменклатура.Наличие Тогда // если в ТЧ стоит признак наличия

Продолжить;

КонецЕсли;

Если НЕ ТекСтрокаНоменклатура.Номенклатура.ВидНоменклатуры.Списывается Тогда // если номенклатуру не надо списывать

Продолжить;

КонецЕсли;

Движение = Движения.ИспользованиеНоменклатуры.Добавить();

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

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

Движение.Задача = ЭтотОбъект.Ссылка;

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

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

КонецЦикла;

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

// обработка распроведения

Процедура ОбработкаУдаленияПроведения(Отказ)

Если Не ОтменитьПроведениеРодителей(ЭтотОбъект.Ссылка) Тогда // отменитиь проведение задач-родителей

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

Возврат;

КонецЕсли;

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

// отменить проведение всех родителей ДокСсылкаРебенок

Функция ОтменитьПроведениеРодителей(ДокСсылкаРебенок)

МассивОтменяемых = ОбщийСрв.СформироватьСписокОтменяемых(ДокСсылкаРебенок); // сформировать массив распроводимых документов

Если МассивОтменяемых.Количество() Тогда // если есть хоть один - сообщить

Сообщить ("Отмена выполнения " + ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект)

+ " приводит к отмене выполнения задач-родителей...");

КонецЕсли;

Для Каждого СтрокаОтменяемый Из МассивОтменяемых Цикл // для каждого документа из распроводимых

Если ОбщийСрв.ВЗакрытомПериоде(СтрокаОтменяемый.Значение) Тогда // если находится в закрытом периоде

Сообщить("Отмена выполенния " + ОбщийСрв.ПредставлениеЗадачи(ДокСсылкаРебенок)

+ " приводит к отмене выполенния " + ОбщийСрв.ПредставлениеЗадачи(СтрокаОтменяемый.Значение)

+ ", находящейся в закрытом периоде. Отмена не может быть выполнена");

Возврат Ложь;

КонецЕсли;

Если Не ОбщийСрв.ПроверкаПрав(СтрокаОтменяемый.Значение.Автор, ПараметрыСеанса.глПользователь) Тогда // проверка прав

Сообщить("Отмена выполенния " + ОбщийСрв.ПредставлениеЗадачи(ДокСсылкаРебенок)

+ " приводит к отмене выполенния " + ОбщийСрв.ПредставлениеЗадачи(СтрокаОтменяемый.Значение)

+ ", на редактирование которого у Вас нет прав. Отмена не может быть выполнена");

Возврат Ложь;

КонецЕсли;

КонецЦикла;

// распровести каждый

Для Каждого СтрокаОтменяемый Из МассивОтменяемых Цикл

Если СтрокаОтменяемый.Значение.ПолучитьОбъект().Проведен Тогда

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

Сообщить("Отменено выполнение родительской " + ОбщийСрв.ПредставлениеЗадачи(СтрокаОтменяемый.Значение));

КонецЕсли;

КонецЦикла;

Возврат Истина;

КонецФункции

// перед любой записью (включая проведение и распроведение) - проверка

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Головная = ЭтоГоловная(); // установить признак - головная или нет

Если ОбщийСрв.ВЗакрытомПериоде(ЭтотОбъект) Тогда // провера на закрытый период

Сообщить(ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект) + "Находится в закрытом периоде. Редактирование невозможно");

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

Возврат;

КонецЕсли;

// проверка того что проведен (тогда редактирование запрещено)

Если Не (РежимЗаписи = РежимЗаписиДокумента.Проведение Или

РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения) Тогда

Если (ЭтотОбъект.Проведен И Константы.ЗапретПроведенных.Получить()) И Не ПараметрыСеанса.глЗаписьВедетИсполнитель

И Не ПараметрыСеанса.ИдетОбменДанными Тогда

Сообщить(ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект) + "Уже выполнена. Редактирование невозможно");

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

Возврат;

КонецЕсли;

КонецЕсли;

// проверка прав

Если Не ОбщийСрв.ПроверкаПрав(Автор, ПараметрыСеанса.глПользователь) Тогда

Сообщить(ОбщийСрв.ПредставлениеЗадачи(ЭтотОбъект) + "Нет прав редактировать чужой документ");

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

Возврат;

КонецЕсли;

Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда

РеальнаяДатаВыполнения = ТекущаяДата(); // дата реального выполнения - дата проведения

Если Константы.УстанавливатьЗавершенаУспешно.Получить() = Истина Тогда

Статус = Справочники.Статусы.ЗавершенаУспешно; // статус - успешно

КонецЕсли;

КонецЕсли;

Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда

РеальнаяДатаВыполнения = 0; // если распровели - значит нет реальной даты завершения

Статус = Справочники.Статусы.ПустаяСсылка(); // и нет статуса

КонецЕсли;

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

// проверка на то, что данная задача не входит ни в одну другую в качетсве подзадачи

Функция ЭтоГоловная()

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

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

"ВЫБРАТЬ

| ЗадачаПодзадачи.Подзадача

|ИЗ

| Документ.Задача.Подзадачи КАК ЗадачаПодзадачи

| ГДЕ ЗадачаПодзадачи.Подзадача = &ИскомаяЗадача

|";

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

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