1.6.1 Общая характеристика задачи
Результаты работы задачи «Учет поставок товаров» ИС магазина электроники предназначены для автоматизации учета поставок товаров от поставщиков для дальнейшей розничной реализации ООО «ТехноШторм».
Целью решения задачи является своевременное и качественное формирование приходных ордеров на поставки для заведующего складом, информирование заведующего снабжением о поставках в виде отчетов, учет поставок на основании приходных и налоговых накладных.
Объектом автоматизации при решении задачи является структурное подразделение - склад.
Пользователь задачи «Учет поставок товаров» - кладовщик.
Задача решается в рабочие дни (понедельник - пятница) с 9 до 18.00 по мере необходимости:
? при поставке новой партии товаров;
? при запросе заведующим складом приходных ордеров;
? при предоставлении статистических отчетов.
Длительность решения данной задачи не должна превышать тридцати минут после поступления запроса.
Решение задачи автоматизированным способом прекращается при:
? неисправности технических средств автоматизированного рабочего мест пользователя;
? некорректности работы программных средств;
? выявлении компьютерного вируса;
? невозможности аутентификации пользователя задачи (утеря/забывание пароля);
? аварийном отключении электроэнергии.
Для корректного выхода из системы при аварийном отключении электроэнергии предусмотрено устройство беспрерывного питания. Для предотвращения потери данных осуществляется резервное копирование данных.
Для случая выявления компьютерных вирусов и вредоносных программ предусмотрена установка антивирусной программы AVG Free.
Формирование документов, связанных с решением разрабатываемой задачи осуществляется в соответствии с принятыми нормами и законодательством Украины.
Задача «Учет поставок товаров» ИС магазина электроники информационно связана с задачами:
«Учет товаров на складе»;
«Учет поставщиков товаров»;
«Учет контрактов на поставки».
При внесении данных в базу данных ИС магазина электроники пользователь использует определенный комплекс технических средств и соответствующее программное обеспечение. Заполнение полей производится с помощью мыши и клавиатуры, за исключением полей выбора, где можно воспользоваться только мышью для выбора того, или иного значения (это могут быть обычные перечисления и т.д.).
Вся вводимая информация должна отображаться на экране в виде соответствующих видеограмм, а формируемые отчеты при необходимости выводиться на печать. Валидация значений, внесенных пользователем, в максимальном объеме должна осуществляться интерактивно во время заполнения экранных форм.
Выходная информация задачи «Учет поставок товаров» является входной для задач подсистемы «Снабжение» и др. задач подсистемы «Склад».
1.6.1 Выходная информация
Выходная информация задачи «Учет поставок товаров» ИС магазина электроники подается в виде электронных или печатных документов, перечень сообщений и описание которых представлено в таблице 1.1.
Таблица 1.1 - Перечень и описание выходных сообщений задачи
Полное наименование |
Идентификатор |
Форма представления |
Периодичность и срок выдачи |
Допустимое время задержки |
Получатель информации |
|
Приходный ордер на товары |
P_O |
Электронная форма, печатный документ, информация в БД |
Сразу после оформления поставки |
До 1 минуты |
Заведующий складом |
|
Отчет «О своевременных поставках» |
R_O_D |
По запросу |
Заведующий снабжением |
|||
Отчет «О просроченных поставках» |
R_I_D |
По запросу |
Заведующий снабжением |
|||
Отчет «О поставщиках» |
R_D |
По запросу |
Заведующий снабжением |
|||
Отчет «О поставленных товарах» |
R_P |
По запросу |
Заведующий складом |
Выходная информация задачи предназначена для полного информирования заведующего складом и заведующего снабжением о поставках и всей сопутствующей информацией, в т.ч. отчеты.
Выходные сообщения, которые подаются в виде документов или видеограмм, которые являются электронной копией документа, должны быть отображены в стандартном формате.
Выходное сообщение «Приходный ордер на товары» (P_O) предназначено для информирования заведующего складом о приходе поставки товаров, а также для регистрации товара в системе и формирования отчетности складского учета.
Перечень и описание структурных единиц выходного сообщения «Приходный ордер на товары» (P_O) представлены в таблице 1.2
Таблица 1.2 - Перечень и описание структурных единиц выходного сообщения «Приходный ордер на товары» (P_O)
Полное наименование |
Идентификатор |
Тип информации |
Общее количество символов |
Формат представления |
|
Номер приходного ордера |
ID |
Числовой |
10 |
ххххх (например, 10001) |
|
Дата формирования приходного ордера |
DATE_APPLY |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
Порядковый номер товара |
PR_NO |
Числовой |
10 |
X… (например, 1) |
|
Наименование товара |
PR_NAME |
Символьный |
100 |
Xx…(например, «Lenovo...») |
|
Единицы измерения |
ED_IZ |
Символьный |
10 |
Xx… (например, «шт.») |
|
Количество |
COUNT |
Числовой |
10 |
Xxxx.. (например, 4) |
|
Принял |
STOREKEEP |
Символьный |
100 |
Ххххх Х.Х. (например, «Петров И.И.») |
|
Дата прихода товара |
DATE_COME |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
Выходное сообщение Отчет «О принятых поставках» (R_I_D) предназначен для информирования заведующего снабжением о получении поставок от поставщиков и для контроля выполнения контрактов с поставщиками.
Перечень и описание структурных единиц выходного сообщения отчет «О принятых поставках» (R_I_D) представлены в таблице 1.3
Таблица 1.3 - Перечень и описание структурных единиц выходящего сообщения отчет «О принятых поставках» (R_I_D)
Полное наименование |
Идентификатор |
Тип информации |
Общее количество символов |
Формат представления |
|
Дата формирования |
DATE_FROM |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
За период c |
DATE_FROM |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
За период по |
DATE_TO |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
Порядковый номер |
NO |
Числовой |
5 |
х… (например, 2) |
|
Номер приходного ордера |
DELIVERY_ID |
Числовой |
10 |
ххххх (например, 10045) |
|
Наименование поставщика |
DEL_NAME |
Символьный |
100 |
Xxxxxx... (например, ТОВ «Осака») |
Выходное сообщение отчет «О просроченных поставках» (R_O_D) предназначен для информирования заведующего снабжением о получении поставок от поставщиков и для планирования новых поставок, для заключения новых контрактов и анализа качества работы поставщиков и принятий решения относительно новых поставок.
Перечень и описание структурных единиц выходного сообщения отчет «О просроченных поставках» (R_O_D) представлены в таблице 1.4
Таблица 1.4 - Перечень и описание структурных единиц выходного сообщения отчет «О просроченных поставках» (R_O_D)
Полное наименование |
Идентификатор |
Тип информации |
Общее количество символов |
Формат представления |
|
Дата формирования |
DATE_FROM |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
За период c |
DATE_FROM |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
За период по |
DATE_TO |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
Порядковый номер |
NO |
Числовой |
5 |
х… (например, 2) |
|
Номер приходного ордера |
DELIVERY_ID |
Числовой |
10 |
ххххх (например, 10045) |
|
Наименование поставщика |
DEL_NAME |
Символьный |
100 |
Xxxxxx... (например, ТОВ «Осака») |
Выходное сообщение отчет «О поставщиках» (R_D) предназначен для информирования заведующего снабжением о качестве выполнения поставщиками своих обязанностей по контрактам.
Перечень и описание структурных единиц выходного сообщения отчет «О поставщиках» (R_D) представлены в таблице 1.5
Таблица 1.5 - Перечень и описание структурных единиц выходного сообщения отчет «О поставщиках» (R_D)
Полное наименование |
Идентификатор |
Тип информации |
Общее количество символов |
Формат представления |
|
Дата формирования отчета |
DATE_FROM |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
За период с |
DATE_FROM |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
За период по |
DATE_TO |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
Порядковый номер |
NO |
Числовой |
5 |
х… (например, 2) |
|
Наименование поставщика |
DEL_NAME |
Символьный |
100 |
Xxxxxx... (например, ТОВ «Осака») |
|
Кол-во выполненных поставок |
DEL_COUNT |
Числовой |
10 |
Ххх (например, 10) |
|
Кол-во просроченных поставок |
DEL_O_COUNT |
Числовой |
10 |
Ххх (например, 10) |
|
ФИО составившего отчет |
STOREKEEPER |
Символьный |
100 |
Хххххю Х.Х. (например, Петров И.И.) |
Выходное сообщение отчет «О поставленных товарах» (R_P) предназначен для информирования заведующего складом об общем количестве и наименованиях товаров, поставленных за указанный период.
Перечень и описание структурных единиц выходного сообщения отчет «О поставленных товарах» (R_P) представлены в таблице 1.6
Таблица 1.6 - Перечень и описание структурных единиц выходного сообщения отчет «О поставленных товарах» (R_P)
Полное наименование |
Идентификатор |
Тип информации |
Общее количество символов |
Формат представления |
|
Дата формирования отчета |
DATE_FROM |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
За период с |
DATE_FROM |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
За период по |
DATE_TO |
Дата |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
Порядковый номер |
NO |
Числовой |
5 |
х… (например, 2) |
|
Наименование поставщика |
DEL_NAME |
Символьный |
100 |
Xxxxxx... (например, ТОВ «Осака») |
|
Наименование товара |
PROD_NAME |
Символьный |
100 |
Xxxxxx..(например, «Lenovo S320» |
1.6.2 Входная информация
Перечень и описание входящих сообщений задачи «Учет поставок товаров» ИС магазина электроники подаются в таблице 1.7
Таблица 1.7 - Перечень и описание входных сообщений задачи
Полное именование |
Идентификатор |
Форма представления |
Временные интервалы и частота получения |
Источник |
|
Налоговая накладная |
N_N |
Документ |
По факту прибытия поставки |
Курьер поставщика |
|
Расходная накладная |
R_N |
Документ |
По факту прибытия поставки |
Курьер поставщика |
Перечень и описание структурных единиц входного сообщения «Налоговая накладная» (N_N) представлены в таблице 1.8
Таблица 1.8 - Перечень и описание структурных единиц входного сообщения «Налоговая накладная» (N_N)
Полное наименование |
Идентификатор |
Тип информации |
Общее количество символов |
Формат представления |
|
Дата оформления налоговой накладной |
DATE_APPLY |
Дата |
8 |
ddmmyyyy (например, 10062016) |
|
Номер налоговой накладной |
ID |
Числовой |
10 |
Номер накладной |
Перечень и описание структурных единиц входного сообщения «Расходная накладная» (R_N) представлены в таблице 1.9
Таблица 1.9 - Перечень и описание структурных единиц входного сообщения «Расходная накладная» (R_N)
Полное наименование |
Идентификатор |
Тип информации |
Общее количество символов |
Формат представления |
|
Наименование поставщика |
DEAL_NAME |
Символьный |
100 |
Xxx(например, ТОВ «Осака») |
|
Номер расходной накладной |
RAS_ID |
Числовой |
10 |
X... (например, 45) |
|
Дата оформления расходной накладной |
DATE_APPLY |
ДАТА |
10 |
dd.mm.yyyy (например, 10.06.2016) |
|
Номер контракта |
CONTRACT_NO |
Числовой |
10 |
Xx… (например, 10) |
|
Порядковый номер товара |
PR_NO |
Числовой |
10 |
X (например, 1) |
|
Наименование товара |
PR_NAME |
Символьный |
100 |
Xxxxx… (например, « Lenovo...») |
|
Единицы измерения |
ED_IZ |
Символьный |
10 |
Xx (например, «шт.») |
|
Цена |
PRICE |
Числовой |
10 |
XXX,XX (например, 3456,34) |
|
Количество |
COUNT |
Числовой |
10 |
Xxxx.. (например, 4) |
|
Сумма |
SUMM |
Числовой |
10 |
XXX,XX (например, 3456,34) |
|
Итого |
TOTAL |
Числовой |
10 |
XXX,XX (например, 3456,34) |
2. Разработка обеспечивающей части ИС
2.1 Разработка элементов информационного обеспечения задачи «Учет поставок товаров»
Процесс разработки базы данных делится на три этапа:
? концептуальное проектирование - уточнение требований к хранимой информации и их анализ. На данном этапе разрабатывается модель БД, которая далее становится основой для создания реального хранилища данных. Поскольку результатом данного этапа является модель, то никаких требований к аппаратному обеспечению не предъявляется;
? логическое проектирование - на данном этапе на основании созданной ранее модели данных формируется структура БД, ориентированная на определенную СУБД;
? физическое проектирование - этап реализации структуры, сформированной ранее, разграничения доступа к данным [3].
В ходе разработки элементов информационного обеспечения создается реляционная БД, которая является основой для дальнейшей разработки программного обеспечения, схемы функционирования системы и технического обеспечения.
Схема логической модели данных задачи приведена на рисунке 2.1. Она была построена при помощи веб-средства для быстрого прототипирования и разработки схем - draw.io.
Сведения о сущностях приведены в табл. 2.1.
Таблица 2.1 - Сведения о сущностях
Имя таблицы |
Определение |
|
dealer |
Данные о поставщиках, которая предоставляют товар |
|
contract |
Контракты на куплю-продажу товара, которые заключаются с поставщиками |
|
delivery |
Поставки товаров от поставщиков |
|
product_delivery |
Информация о товарах, пришедших в поставке |
|
product |
Каталог товаров |
|
unit |
Единицы измерения количества товара |
|
storekeeper |
Информация о кладовщиках, зарегистрированных в систем |
|
delivery_date |
Информация о сроках поставки |
Сведения о связях сущностей представлены в таблице 2.2
Таблица 2.2 - Сведения о связях сущностей
Сущность |
Описание связи |
Сущность |
Вид |
|
1 |
2 |
3 |
4 |
|
dealer |
Заключает |
contract |
1:M |
|
delivery |
Поставляются по |
contract |
M:1 |
|
delivery |
Содержит |
product_delivery |
1:M |
|
product |
Есть в |
product_delivery |
1:M |
|
product_delivery |
Имеет |
unit |
M:1 |
|
storekeeper |
Принимает |
delivery |
1:M |
|
delivery_date |
Относится к |
contract |
M:1 |
Схема логической модели БД приведена на рис. 2.1.
На основании созданной логической модели данных разрабатывается физическая модель данных БД. Физическая модель данных показывает типы данных атрибутов сущностей. Схема физической модели данных представлена на рисунке 2.2.
Рисунок 2.1 - Схема логической модели БД
Рисунок 2.2 - Схема физической модели БД
В таблице 2.3 приведено описание свойств атрибутов таблиц БД.
Таблица 2.3 - Описание свойств атрибутов
Тип сущности |
Атрибут |
Описание |
Тип данных, длина |
Ограничения |
Допустимость Null |
|
delivery |
id |
Уникальный идентификатор поставки |
INT (10) |
PK |
нет |
|
storekeeper_id |
Идентификатор кладовщика, принявшего поставку |
INT(10) |
нет |
|||
contract_no |
Номер договора поставки |
INT (10) |
>0 |
нет |
||
tax_no |
Номер налоговой накладной |
INT(10) |
>0 |
да |
||
tax_date |
Дата оформления налоговой накладной |
DATE |
да |
|||
invoice_no |
Номер расходной накладной |
INT(10) |
>0 |
нет |
||
invoice_date |
Дата оформления расходной накладной |
DATE |
нет |
|||
unit |
id |
Уникальный идентификатор единиц измерения |
INT(10) |
PK |
нет |
|
name |
Наименование единицы измерения |
VARCHAR (100) |
нет |
|||
storekeeper |
id |
Уникальный идентификатор кладовщика |
INT(10) |
PK |
нет |
|
name |
ФИО кладовщика |
VARCHAR (100) |
нет |
|||
|
Почтовый ящик кладовщика |
VARCHAR (100) |
нет |
|||
password |
Пароль |
VARCHAR(60) |
нет |
|||
product_delivery |
product_id |
Идентификатор товара |
INT(10) |
PK |
нет |
|
delivery_id |
Идентификатор поставки |
INT(10) |
PK |
нет |
||
count |
Количество товара в поставке |
INT(10) |
>0 |
нет |
||
price |
Цена за единицу товара |
FLOAT |
>0 |
нет |
||
unit_id |
Идентификатор ед. |
INT(10) |
нет |
2.2 Разработка элементов математического обеспечения задачи «Учет поставок товаров»
Математическое обеспечение задачи «Учет поставок товаров» ИС магазина электроники, представляется алгоритмом решения данной задачи.
Данный алгоритм был разработан с помощью онлайн-сервиса draw.io.
Алгоритм предназначен для описания последовательности действий, для решения задачи [6]. Данный алгоритм применяется для обработки и хранения информации о поставках товаров, а также для просмотра данной информации и формирования, с возможностью вывода на печать, необходимых отчетных документов.
В процессе выполнения работы происходит вывод данных на экран, ввод, редактирование данных и формирования отчетов в двух видах: экранная форма и печатный документ. Такими документами являются:
? отчет «О принятых поставках»;
? отчет «О просроченных поставках»;
? Приходный ордер на товар;
? отчет «О поставщиках»;
? отчет «О доставленных товарах».
Схема алгоритма работы задачи «Учет поставок товаров» ИС магазина электроники представлен на рисунке 2.3.
Рисунок 2.3 - Схема алгоритма работы задачи «Учет поставок товаров», лист 1
Рисунок 2.3 - Схема алгоритма работы задачи «Учет поставок товаров», лист 2
Рисунок 2.3 - Схема алгоритма работы задачи «Учет поставок товаров», лист 3
Рисунок 2.3 - Схема алгоритма работы задачи «Учет поставок товаров», лист 4
2.3 Разработка элементов программного обеспечения задачи «Учет поставок товаров»
Программное обеспечение - совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации.
В качестве операционной системы можно использовать любую ОС, в том числе и для мобильных устройств. Рекомендуется Ms Windows 7 ввиду ее распространенности и дружелюбности к пользователям.
В качестве СУБД была выбрана СУБД MySQL 5.6, язык запросов SQL, т.к. решение будет реализовываться в виде веб-решения, а эта СУБД входит в самый популярный стек для разворачивания веб-решений LAMP [5].
MySQL - бесплатная, легковесная, кроссплатформенная и мощная система управления базами данных, которая может работать в разных режимах, на разных ОС и с разными системами хранения данных, в т.ч. InnoDB и MyISAM [3].
Как средство для разработки программы был выбран язык программирования PHP. Выбор обусловлен тем, решение будет веб-базировано, а этот язык занимает доминирующее место в разработке веб-решений.
PHP - язык программирования общего назначения. Язык является C-подобным, то есть имеет схожий стиль, но при этом есть ряд особенностей, среди которых скриптовость, динамическая типизация и не полное следование парадигме ООП [4].
Для начала работы необходимо пройти процедуру аутентификации. Для этого необходимо ввести логин и пароль, и нажать соответствующую кнопку. Экранная форма страницы аутентификации изображена на рисунке 2.4.
Рисунок 2.4 - Экранная форма страницы аутентификации
После успешной аутентификации открывается главная экранная форма программы. Экранная форма главной страницы изображена на рисунке 2.5.
Рисунок 2.5 - Экранная форма главной страницы
У пользователя есть выбор - воспользоваться верхним меню или основным. При выборе пункта «Поставки» пользователь попадает на страницу списка поставок. Экранная форма страницы поставок представлена на рисунке 2.6.
Рисунок 2.6 - Экранная форма страницы «Поставки»
На этой странице есть возможность просмотреть все поставки с учетом фильтров и сортировок по любому из полей. Есть возможность добавить поставку. Экранная форма добавления поставки представлена на рисунке 2.7.
Рисунок 2.7 - Экранная форма страницы «Добавление поставки»
Для добавления еще одной строки в таблицу товаров поставки пользователь должен нажать кнопку «Добавить строку». Пользователь должен ввести все необходимые данные и нажать кнопку «Добавить». После этого пользователь вернется на страницу поставок, где он может выбрать пункт в последнем столбике таблицы «Редактировать поставку». Экранная форма -- это страницы представлена на рисунке 2.8.
Поля и функции страницы анологичны странице добавления поставки, за исключением присутствия в полях формы предыдущих значений. После нажатия кнопки «Сохранить» пользователь возвращается на страницу поставок, где он может сформировать приходный ордер на поставку. Экранная форма страницы предпросмотра сгенерированного приходного ордера представлена на рисунке 2.9.
Рисунок 2.8 - Экранная форма страницы «Редактировать поставку»
Рисунок 2.9 - Экранная форма страницы предпросмотра приходного ордера
На этой странице пользователь может выбрать пункт «Печать» либо же воспользоваться верхним меню для навигации на другие страницы.
Верхнее меню позволяет попасть на страницу «Сгенерировать отчет», экранная форма которой представлена на рисунке 2.10.
Рисунок 2.10 - Экранная форма страницы «Сгенерировать отчет»
После нажатия кнопки «Сгенерировать» пользователь попадет на страницу «Предпросмотр сгенерированного отчета». В зависимости от выбранного типа отчета пользователь увидит он из 4 возможных экранных форм соответственно, которые перечислены на рисунках 2.11-2.14
Рисунок 2.11 - Экранная форма страницы «Предпросмотр сгенерированного отчет» для отчета «О принятых поставках»
Рисунок 2.12 - Экранная форма страницы «Предпросмотр сгенерированного отчет» для отчета «О просроченных поставках»
Рисунок 2.13 - Экранная форма страницы «Предпросмотр сгенерированного отчет» для отчета «О поставщиках»
Рисунок 2.14 - Экранная форма страницы «Предпросмотр сгенерированного отчет» для отчета «О поставленных товарах»
После нажатия кнопки «Печать» отчет уйдет на печать. Для дальнейшей работы и навигации по страницам пользователь может воспользоваться верхним меню.
2.4 Обоснование выбора комплекса технических средств задачи «Учет поставок товаров»
Техническое обеспечение представляет собой комплекс технических средств, обеспечивающих сбор, обработку и хранение информации для пользователей [7].
Для обеспечения функционирования задачи, КТС должен включать:
? Рабочей станции, обеспечивающей работу ОС с возможностью работы с сетью;
? средства ввода данных (манипулятор “мышь”);
? Сервер БД и веб-приложения;
? коммуникационное оборудование (роутер);
? кабельной системы (в случае невозможности реализовать беспроводный Wi-Fi доступ);
? принтер;
? бесперебойные блоки питания для сохранения данных во время аварийного отключения электроэнергии.
В качестве рабочей станции может быть использован персональный компьютер, ноутбук, нетбук, планшет, который может обеспечить нормальную и безотказную работу web-приложения.
Перечень технических средств, установленных в помещении представлен в таблице 2.4
Таблица 2.4 - Спецификация оборудования
Наименование |
Характеристика |
|
Сервер |
D-C Xeon 2*2.8GHz/800/4Mb 2*512Mb DDR2, HDD 2*73.4Gb SCSI, 1.44, 8 Mb, INTEL SC5300LX, LAN Dual Port |
|
Ноутбук |
Lenovo, Intel Core i3 |
|
Блок бесперебойного питания |
UPS Back Pro King BNT-600 VA, стабилизатор напряжения AVR (152-275V),время перехода на бат. 2-4mS |
|
Принтер |
Сanon PIXMA iP2700 |
|
Маршрутизатор |
TP-LINK TL-WR841N Количество портов: 4; LAN-порт: Ethernet 10/100 Мбит/сек |
- Введение
- 1. Формирование требований к задаче «учет поставок товаров» ИС магазина электроники
- 1.1 Описание объекта автоматизации
- 1.2 Обоснование цели разработки задачи
- 1.3 Требования к разрабатываемой задаче в целом
- 1.4 Требования к функциональной структуре задачи
- 1.5 Требования к обеспечивающей части задачи
- 1.6 Описание постановки задачи
- 1.6.1 Общая характеристика задачи
- 2.5 Описание внедрения задачи «Учет поставок товаров» ИС магазина электроники
- Выводы