Разработка информационно-аналитической системы проведения маркетинговых исследований для функционирования на предприятии ТОО "Десятка"

 

ВВЕДЕНИЕ


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

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

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

Объектом рассмотрения данного дипломного проекта является ТОО «Десятка».

Предметом исследования является деятельность ТОО «Десятка» в области систем коммуникационных сетей.

Целью дипломного проекта является разработка информационно-аналитической системы проведения маркетинговых исследований для функционирования на предприятии ТОО «Десятка».

Для достижения цели ставятся задачи:

-изучить работу предприятия;

-разработать информационную модель системы;

-автоматизировать решения;

-возможность хранения данных;

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

-повысить степень достоверности информации и степень ее защищенности;

-значительно увеличит количество аналитических показателей на базе исходных.

1. АНАЛИТИЧЕСКАЯ ЧАСТЬ


1.1Технико-экономическая характеристика предметной области


1.1.1Характеристика предприятия

В качестве предмета исследования данного дипломного проекта выступает ТОО «Десятка», расположенное в г. Усть-Каменогорск, Республика Казахстан. С момента основания она успешно развивается в сфере продажи компьютерного оборудования, комплектующих, программного обеспечения и монтажа коммуникационных сетей.

Целью функционирования данной организации является:

-установка и настройка телефонных станций

-монтаж телефонных сетей

-монтаж и настройка компьютерных сетей

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

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

Основными стратегическими целями организации ТОО «Десятка» являются:

-повышение качества оказываемых услуг;

-повышение количества оказываемых услуг;

-извлечение максимальной прибыли.

Существующая организационная структура предприятия состоит из директора, заместителя директора, отдела продаж, отдел обслуживания, отдела бухгалтерии и отдела снабжения.

1.1.2Краткая характеристика подразделения и видов его деятельности

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

Личный состав предприятия подчиняется в административном отношении - генеральному директору ТОО «Десятка», в принятии решений - заместителю директора ТОО «Десятка».

Назначение данного предприятия - предоставление предприятием услуг в сфере коммуникационных сетей (КС), а также реализация материалов и оборудования КС.

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

-действующим законодательством РК;

-процедурой внутреннего контроля, установленного на предприятии;

-кодексом деловой этики ТОО «Десятка»;

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

-другой организационно-распорядительной документацией, выпускаемой ТОО «Десятка».

Руководство персоналом ТОО «Десятка» осуществляет заместитель директора на основе единоначалия.

Заместитель директора назначается и освобождается от занимаемой должности генеральным директором ТОО «Десятка», а остальной персонал предприятия - заместителем директора.

Функции предприятия:

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

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

-подготовка информации, связанной с результатами деятельности предприятия для руководства предприятия.

-исполнение распоряжений и приказов администрации предприятия.

Взаимосвязь с техническим отделом:

Отдел представляет:

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

-акты выполненных работ.

Отдел получает:

-доверенности на получение материалов;

-график выполняемых работ.

Взаимосвязь с бухгалтерией:

Отдел представляет:

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

Отдел получает:

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

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

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

Взаимосвязь с отделом по работе с персоналом:

Отдел представляет:

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

-рекомендации по внесению изменений в штатное расписание персонала;

-график отпусков;

-сведения о нарушении трудовой дисциплины и Правил внутреннего распорядка;

-положение об отделе, должностные инструкции и иные документы, касающиеся персонала предприятия.

Отдел получает:

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

Взаимосвязь со складом:

Отдел представляет:

-копии договоров, приобретений для оформления приходов;

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

-указания по ведению складского учета, подготовке отчетов.

Отдел получает:

-отчеты по движению и остаткам материалов на складе.


1.2Экономическая сущность задачи


Во время исследования функционирования предприятия ТОО «Десятка» был выявлены некоторые вопросы, которые можно решить путем автоматизации.

Одним из главных вопросов предприятия является анализ выполнения услуг предприятием, их контроль и учет. Решение данной проблемы позволит систематизировать услуги, вести за ними контроль и позволит увеличить объем предоставляемых услуг.

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

Учет на предприятии является одной из наиболее трудоемких функций управления. Отличительными чертами учета являются:

-большая массовость исходных и итоговых показателей;

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

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

Управление процессами в ТОО «Десятка» основывается на информации, отражающей объем, структуру, качество и своевременность оказания услуг. Движение информации между ТОО «Десятка» и внешней средой (подрядчиками, заказчиками) осуществляется в виде потоков информации. Также необходимо различать входные, внутренние и выходные информационные потоки (входную, внутреннюю и выходную информацию). От правильной организации потоков информации предприятия, способов сбора, регистрации, передачи, хранения и обработки информации, ее состава и своевременного получения зависят оперативность и эффективность управления процессами на предприятии.

Учет выполнения услуг осуществляется по мере выполнения данных услуг.

Рассмотрим информационные потоки предприятия. Заказчик (юридическое или физическое лицо) делает заявку на нужную ему продукцию.

Заявка обрабатывается, и формируются необходимые документы, которые поступают в технический отдел.

Технический отдел на основе документов об оказании услуг формирует список материалов и оборудования для оказания данных. После этого делается заявка на склад. При наличии необходимых материалов на складе резервируется необходимое количество и формируется товарная накладная. Если каких-либо материалов нет, то оформляется заявка на поставку.

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

После того, как заказчик сделал предоплату, по выставленному ему счету, производится выполнение требуемых услуг.[4]


1.3Обоснование необходимости и цели использования вычислительной техники для решения задачи


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

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

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

Каждому предприятию необходимо учитывать всевозможные затраты при предоставлении услуг по обслуживанию учитывать амортизацию оборудования при проведении обслуживания клиентов предприятия, чтобы уметь их грамотно контролировать и по возможности минимизировать эти затраты, чтобы не оказаться в убытке.[6]

Рисунок 1.4 - Структурно-функциональная модель предприятия


Рисунок 1.5 Разбиение блока ТОО «Десятка»


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


1.4Постановка задачи


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

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

Основными задачи данного дипломного проекта, являются:

-защиту от несанкционированного доступа к информации;

-организация прав доступа к информации;

-контроль заполнения данных по услугам;

-формализация необходимых графиков работ;

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

-формирование выходных документов в виде отчетов и графиков;

-изменение информации в базе данных;

-вывод отчетов в удобном для пользователя виде.


1.4.1Цель и назначение автоматизированного варианта решения задачи

Целью создания автоматизированной информационной системы является разработка информационно-аналитической системы (АИС), обеспечивающей максимально удобную и автоматизированную работу, разработка GUI интерфейса, ранее не использовавшегося в подобных АИС. Также АИС должна выполнять следующие задачи:

-реализация системы учета;

-максимальная возможная независимость от прикладных программ;

-сокращение времени на обработку и получение необходимой информации;

-автоматизация процесса передачи информации;

-контроль оказания услуг;

-своевременность получения внесения информации;

-повышение степени достоверности информации;

-увеличение количества аналитических показателей на базе исходных;

-минимизация затрат на обработку и получение необходимой информации;

-возможность хранения данных.

Автоматизированная информационная система предназначена для:

-анализа и минимизации затрат при обслуживании клиентов;

-анализа эффективности работы предприятия;

-централизованного управления всеми ресурсами предприятия;

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

-выполнения расчетов и выдача результатных документов;

-выдачи справочной информации.


1.4.2Общая характеристика организации решения задачи на ЭВМ

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

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

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

Внедрение автоматизированной информационной системы позволит:

-существенно сократить время на проведение анализа затрат;

-сократить время на проведение расчета цены продажи;

-контролировать процесс ввода первичной информации;

-автоматически обрабатывать входную информацию;

-выдавать необходимые отчеты.

Обработка информации о затратах будет проходить автоматически.

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

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


1.4.3Формализация расчетов

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

Для формирования графика работ используются данные полученные со счета фактуры. Далее рассчитывается длительность проведения работ.[4]

Расчет длительности проведения оказываемой услуги производится по формуле:


ДЛ - ТР/Кчел /Конст


ДЛ - длительность;

ТР - трудоемкость;

Кчел - количество чел.;

Конст - Постоянная.

Расчет периода выполнения оказываемой услуги производится по формуле:


Докнч = Днач + (ДЛ*Конст)


Докнч - Дата окончания работы;

Днач - Дата окончания работы.

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

ПВ - период времени, для хронологической проверки услуг;

ТЗ - таблицу значений, содержащую исходные данные для прогноза.

В данном анализе используется формулы:


Зн = УС + Колисп / 100%


Зн = Значимость используемой услуги, работы;

УС - Услуга;

Колисп - Количество, выполненных услуг.


ПС = (Колдокусл / Колдокобщ*100%)/ Зн


Колдокусл - Количество документов, через которые проходит данная услуга;

Колдокобщ - Общее количество документов.

Отчеты по документам

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

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

Формирование цены материалов

Формирование цены на материалы происходит следующим образом по формуле:


Ц = СП + ПР + НДС


где:

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

СП - полная фактическая себестоимость материалов;

ПР - прибыль;

НДС - налог на добавленную стоимость;

Отпускная цена предприятия должна быть выше себестоимости продукции на величину прибыли, на величину НДС и сумму налога с продаж. Оба налога должны перечисляться в бюджет.[4]


1.5Анализ существующих разработок и выбор технологии проектирования


1.5.1Анализ существующих разработок

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

«ИНТЕР-DINO»

Описание системы

Система «ИНТЕР-DINO» представляет собой базу данных для хранения информации по учету услуг. Основной задачей, которая ставилась при разработке данной системы, являлся учет работы предприятия в сфере доставки.

При внедрении системы «ИНТЕР-DINO» у руководства появлялась возможность анализировать работу системы, планировать доставку, гибко строить ценовую политику при работе с клиентами. Недостатком системы было отсутствие формирования графика работ, четкого контроля за отгрузкой материалов.

В системе происходит ввод и выписка всех форм первичных документов:

-накладных на поставку товаров;

-журналов и отчетов предоставлению услуг;

-справок.

Назначение системы

Система «ИНТЕР-DINO» предназначена для учета оказываемых услуг по доставке. Система охватывает небольшой спектр работы с клиентами.

Область применения

Система «ИНТЕР-DINO» предназначена для небольших фирм, работающих в данной экономической среде.

Требования к пользователям системы

Минимальное знание работы с компьютером (На уровне пользователя).

При внедрении системы «ИНТЕР-DINO» специалисты Фирмы «ИНТЕР-DINO» приводят обучение сотрудников и дают практические навыки работы с программным обеспечением.

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

-оборотные ведомости по клиентам (2 различных отчета);

-ведомость расчета прибыли;

-накладные;

-книга поставок;

-счета-фактуры.

«ИС Руководитель»

Описание системы

Система «ИС Руководитель» представляет собой базу данных для учета услуг в сфере асфальтоукладки. Основной задачей данной системы являлся контроль проведения работ предприятием.

При внедрении системы «ИС Руководитель» появлялась возможность планировать проведение работ при укладке асфальта, составлять график работ. Недостатком системы было отсутствие автоматизированного управления, четкого контроля за работой, из-за неполного формирования структуры системы.

В системе происходит ввод и выписка всех форм первичных документов:

-журналов и отчетов по проведенным работам;

-списка рабочих;

-справок.

Назначение системы

Система «ИС Руководитель» предназначена для контроля проведения асфальтоукладочных работ. Система охватывает малый спектр работы с клиентами и ориентирована на использование с государственными структурами.

Область применения

Система «ИС Руководитель» предназначена для предприятий с узким кругом деятельности.

Требования к пользователям системы

Минимальное знание работы с компьютером (На уровне пользователя).

При внедрении системы «ИС Руководитель» специалисты Фирмы «ИС Руководитель» приводят обучение сотрудников и дают практические навыки работы с программным обеспечением.

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

-отчет по выполненным работам (2 различных отчета);

-график работ;

-ведомость «Расходование сырья».

«Montana»

Описание системы

Система «Montana» - Данная система была разработана в США, Монтана для фермерской организации. Система включает в себя базу данных для хранения информации по сельхозоборудованию и технике, а также информацию о проведенных сельхозоперациях. Основная задача данной системы, является учет всех сельхозопераций, всей техники и оборудования.

При внедрении системы «Montana» у руководства появлялась возможность планировать все операции, четко контролировать цены при работе с клиентами. Недостатком системы было отсутствие мониторинга операций, необходимого из-за постоянно меняющихся сроков выполнения операций.

В системе происходит ввод и выписка всех форм первичных документов:

-накладных на поставку товаров;

-служебных выписок на ремонт оборудования и техники;

-журналов и отчетов по операциям;

-справочной информации.

Назначение системы

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

Область применения

Система «Montana» предназначена для средних организаций, работающих в среде сельского хозяйства.

Требования к пользователям системы

Минимальное знание работы с компьютером (На уровне пользователя).

При внедрении системы «Montana» специалисты организации «Montana» приводят обучение сотрудников и дают практические навыки работы с программным обеспечением.

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

-оборотные ведомости по клиентам (3 различных отчета);

-ведомость расчета прибыли;

-накладные;

-служебные записки;

-отчет по амортизационным отчислениям;

-книга заказов;

-счета-фактуры.


1.5.2Обоснование выбора технологии проектирования

Очень трудно разработать ИС предприятия, с учетом всех ее потребностей, без обдуманного методологического подхода.

В настоящее время важнейшими критериями разработки ИС являются:

-Четкое выполнение установленных правил на всех этапах жизненного цикла системы;

-Учет критических задач и контроль их решения;

-Возможность анализа, реконструирования ИС.

Для успешной реализации проекта объект проектирования (ИС) должен быть, прежде всего, адекватно описан, должны быть построены полные и непротиворечивые функциональные и информационные модели ИС. Накопленный к настоящему времени опыт проектирования ИС показывает, что это логически сложная, трудоемкая и длительная по времени работа, требующая высокой квалификации участвующих в ней специалистов. Однако до недавнего времени проектирование ИС выполнялось в основном на интуитивном уровне с применением неформализованных методов, основанных на искусстве, практическом опыте, экспертных оценках и дорогостоящих экспериментальных проверках качества функционирования ИС. Кроме того, в процессе создания и функционирования ИС информационные потребности пользователей могут изменяться или уточняться, что еще более усложняет разработку и сопровождение таких систем.

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

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

Современные методы создания ИС разного назначения базируются в основном, на трех подходах:

-объектно-ориентированная технология;

-основанная на знаниях (интеллектуальная) технология;

-CASE-технология.

В области создания ИС доминируют структурные подходы, так как они максимально приспособлены для взаимодействия с пользователями, не являющимися специалистами в области ИТ. Адекватными инструментальными средствами, поддерживающими структурный подход к созданию ИС, являются CASE -системы автоматизации проектирования.[6]технология - методология и набор инструментальных средств проектирования ИС, позволяющих в наглядной форме моделировать предметную область. Также может анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей.

Сущность структурного подхода разработки ИС заключается в ее декомпозиции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны.[6]


1.6Обоснование проектных решений по видам обеспечения


1.6.1По техническому обеспечению

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

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

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

Требования к аппаратному обеспечению представлены в таблице 1.1.


Таблица 1.1

Требования к аппаратному обеспечению

1ПроцессорIntel Pentium III 1,62Оперативная память:256 Мбайт3Жесткий диск:404МониторSamsung SyncMaster 765mb5МышьIntel-совместимая6ПринтерSamsung ML-1430 (Лазерный)

1.6.2По программному обеспечению

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

В качестве средства разработки приложения была выбрана платформа 1С: Предприятие 8.0.

С:Предприятие 8.0 - это Технологическая платформа, на базе которой разрабатываются прикладные программы самой фирмой "1С" и ее многочисленными партнерами. Поэтому очевидно, что функциональность этих решений изначально определяется возможностями платформы 1С:Предприятие 8.0 основные возможности:

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

-сохранение начального уровня массовых решений, начинающегося от самых маленьких предприятий и индивидуальных пользователей, а также повышение индустриальности поддержки массовых решений.[3]

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

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

Одним из наиболее существенных нововведений "1С:Предприятия 8.0" является реализация современной 3-х уровневой архитектуры "клиент-сервер".

В версии 8.0 на одном из компьютеров работает сервер 1С:Предприятия; программа, работающая у пользователя, взаимодействует с сервером 1С:Предприятия, а сервер при необходимости обращается к серверу баз данных.

Использование сервера 1С:Предприятия позволяет сосредоточить на нем выполнение наиболее объемных операций обработки данных. Например, при выполнении даже весьма сложных запросов, программа, работающая у пользователя, будет получать только необходимую ей выборку данных, а вся промежуточная обработка будет выполняться на сервере. При этом физически сервер 1С:Предприятия и сервер баз данных могут располагаться как на одном компьютере, так и на разных. Это позволяет администратору при необходимости распределять нагрузку между серверами. Другим важным аспектом использования 3-х уровневой архитектуры является удобство администрирования и упорядочивание доступа пользователей к информационной базе. В этом варианте пользователь не должен знать о физическом расположении конфигурации или базы данных. Весь доступ осуществляется через сервер 1С:Предприятия.[9]

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

Версия 8.0 значительно полнее использует возможности MS SQL Server для эффективной выборки информации. Механизм запросов в новой версии ориентирован на максимальное использование MS SQL Server для выполнения расчетов и составления отчетов. Кроме того, в новой версии реализована специальная механика для оптимизации динамического просмотра больших списков, которая обеспечивает просмотр списка без выполнения большого количества обращений к базе данных. Это необходимо, например, при интерактивной работе пользователя с большими справочниками или списками документов. При этом пользователю предоставляются возможности эффективного поиска, а также настройки отбора и сортировки.

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

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

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

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

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

Расширение спектра решаемых задач.

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

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

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

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

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

В 1С:Предприятии 8.0 значительно усовершенствована модель бухгалтерского учета. Введено неограниченное количество ресурсов и измерений учета (как с поддержкой баланса, так и без поддержки баланса).

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

Эти и другие возможности версии 8.0 позволяют эффективно реализовать разнообразные способы учета, в том числе "западный" и управленческий, вести так называемый "трехвалютный" учет, параллельный учет нескольких количественных показателей и т.д. При этом в одном прикладном решении может поддерживаться несколько параллельных систем бухгалтерского учета.

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

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

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

Кроме перечисленных новшеств внесены различные усовершенствования практически во все объекты, используемые для описания данных предметной области.

Новый эргономичный интерфейс

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

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

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

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

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

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

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

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

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

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

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

В списках (справочников, документов и др.) введена возможность настройки пользователем состава и расположения колонок, гибкой настройки отбора и сортировки списка.

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

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

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

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

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

Интуитивно-понятный интерфейс разработан с учетом европейской модели восприятия данных (слева-направо и сверху-вниз) и особенностей чтения текста с экрана монитора.

Развитие средств построения экономической и аналитической отчетности

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

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

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

-Spreadsheet-подобный дизайн.

-Линейные, иерархические и кросс-отчеты.

-Поддержка группировки.

-Поддержка расшифровки отдельных элементов отчета (drill-down).

-Строки с различной шириной колонок.

В 1С:Предприятии 8.0 реализован новый механизм интеллектуального построения отчетов - Построитель отчета. Механизм выполняет автоматическое построение иерархических отчетов, многомерных кросс-отчетов, диаграмм, drill-down отчетов и сводных таблиц.

Построитель отчета обеспечивает получение любых аналитических данных без доработки прикладного решения.

Также возможна произвольная настройка пользователем отборов, измерений, полей, сортировки, а также поддерживает выполнение расшифровок, сохранение и восстановление настроек отчета. [3]

При использовании построителя отчета разработчик определяет, какие возможности по настройке отчета будут заложены в самом прикладном решении, а какие будут предоставлены пользователю.

В версии 8.0 реализован такой удобный инструмент интерактивного анализа многомерных данных, как сводные таблицы.

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

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

Совершенствование средств быстрой разработки прикладных решений

Значительное внимание в новой версии уделено развитию эргономичности и функциональности средства разработки прикладных решений (конфигуратора).

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

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

-Развитие встроенного языка и объектной модели в новой версии позволяет заметно повысить единообразие и наглядность разрабатываемых решений.

-Расширены возможности использования встроенного языка.

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

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

-Расширен состав типов, доступных для полей объектов, хранящихся в базе данных. При описании полей данных в новой версии может указываться набор из нескольких типов, допустимых для данного поля.

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

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

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

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

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

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

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

-Существенно расширен состав элементов управления, размещаемых на форме. Введены новые элементы управления, такие как: Панель, Командная панель, Разделитель. А также Индикатор, Полоса регулирования, Поле календаря, Поле табличного документа, Поле текстового документа, Диаграмма, Поле HTML документа.

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

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

-Отладчик и механизм замера производительности (профайлер) интегрированы в среду разработки прикладного решения (Конфигуратор). В отладчике расширены возможности просмотра значений переменных и свойств.

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

Например, введена возможность сравнения и настройки объединения на уровне отдельных свойств объектов и отдельных процедур модулей.

-В конфигураторе реализован редактор картинок.

-Введен механизм стилей, позволяющий эффективно управлять оформлением прикладного решения.

-Введена возможность хранения в конфигурации двоичных данных, HTML - документов и объектов типа "ActiveDocument".

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

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

Развитие возможностей интеграции

В 1С:Предприятии 8.0 существенно расширены возможности интеграции c другими системами.

Наряду с поддержкой механизма Automation в версии 8.0 реализован новый механизм COM-соединения, позволяющий любым приложениям получать доступ к объектам "1С:Предприятия".

Это обеспечивает возможность решения широкого круга задач, в которых необходимо эффективное и надежное взаимодействие с другими приложениями, а также открывает возможности включения 1С:Предприятия в интегрированные программные комплексы.

В новой версии в систему встроены возможности, обеспечивающие доступ из "1С:Предприятия" к интернет-протоколам HTTP, FTP, MAPI.

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

В новой версии встроен механизм для чтения и записи текстовых файлов большого объема.

В механизме форм 1С:Предприятия 8.0 реализована возможность размещения в форме объектов ActiveX.

Реализованная в клиент-серверном варианте 1С:Предприятия 8.0 трехуровневая архитектура существенно улучшает эксплуатационные характеристики системы с точки зрения администратора.

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

Механизм прав доступа в "1С:Предприятии 8.0" позволяет задавать для одного пользователя несколько ролей. Это позволяет органично отражать в настройке прав совмещение сотрудниками организации нескольких должностей, без создания специальных ролей.

Введена возможность аутентификации пользователя средствами Windows. Это значит, что пользователь вошедший в систему Windows со своим именем и паролем может обращаться к информационной базе 1С:Предприятие без ввода имени и пароля.

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

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

Для создания резервных копий достаточно в файловом варианте обеспечить сохранение файла информационной базы, а в клиент-серверном - базы SQL Server.

Интернационализация

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

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

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

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


1.6.3По информационному обеспечению

Функционирование системы управления предприятием опирается на информацию. Организация информационного обеспечения в любой системе управления основывается на понятии информационной базы, под которой понимается совокупность упорядоченной информации, используемой при функционировании информационной системы, а также взаимосвязь различных составляющих этой информации. При этом совокупность упорядоченной информации должна соответствовать по составу и содержанию требованиям тех задач, которые решаются на ее основе. Информационная база влияет на эффективность всей системы, возможность решения функциональных задач и т.д.[6]

В состав информационной базы входят:

-Массивы постоянной нормативно-справочной информации;

-Массивы, содержащие текущие данные о состоянии управляемого объекта;

-Массивы, содержащие данные, поступающие из внешней среды;

-Массивы, содержащие накапливаемые данные за определенный промежуток времени.

Информационное обеспечение предприятия условно можно разделить на внемашинное и внутримашинное.

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

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


1.6.4Обоснование проектных решений по технологическому обеспечению

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

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

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

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

-загрузка и актуализация данных;

-обеспечение достоверности вводимых данных;

-обеспечение защиты данных;

-обеспечение надежности хранения данных.

Для обеспечения достоверности вводимых данных предусмотрены:

-контроль вводимой информации: визуальный, логический, внутрисистемный;

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

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

В процессе решения комплекса задач будет применяться диалоговый режим с использованием языка общения типа «диалогового меню». При использовании для общения языка «меню» в системе должно происходить: управление процессом диалога, обеспечение интерфейса пользователя, обеспечение сервисных и справочных функций, вызов обрабатывающих программ. В таком режиме работы с системой пользователю будет удобно и комфортно работать с программой.[6]

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


2. ПРОЕКТНАЯ ЧАСТЬ


2.1Информационное обеспечение


2.1.1Структурно-функциональная модель

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

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

Рисунок 2.1 - Структурно-функциональная модель


Рисунок 2.2 - Декомпозиция блока отдела КС


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















Рисунок 2.3 - Декомпозиция блока Отдел продаж


2.1.2Характеристика классификаторов и систем кодирования

Для обеспечения эффективного поиска, обработки и передачи информации, ее необходимо представить в цифровом виде. Но для этого сперва ее нужно упорядочить (классифицирование), а затем формализовать (кодирование) с использованием классификатора.

В моей ИС была произведена классификация следующих объектов:

-контрагенты;

-услуги;

-сотрудники.

Далее будет подробно описано, как осуществляется классификация и кодирование перечисленных объектов.

Классификация контрагентов

Иерархический метод классификации.

Множество объектов - «Контрагенты»;

На втором уровне классификации:

Признак классификации - «Родитель»;

Классификационные группировки:

-Подрядчик;

-Поставщик;

-Заказчик.


Рисунок 2.4 - Классификатор контрагентов


Для кодирования данного подмножества объектов была использована поразрядная (позиционная) система кодирования.

Длина кода - 5 знаков.


Структура кода: Х-ХХХ

Порядковый номер контрагента

Родитель


Классификация Услуг

Иерархический метод классификации.

Множество объектов - «Услуги»;

На втором уровне классификации:

Признак классификации - «Родитель»;

Классификационные группировки:

-Другие услуги;

-Кроссирование;

-Монтажные работы;

-Настройка оборудования;

-Установка оборудования.


Рисунок 2.5 - Классификатор номенклатуры


Для кодирования данного подмножества объектов была использована поразрядная (позиционная) система кодирования.

Длина кода - 5 знаков.


Структура кода: Х-ХХХ

Порядковый номер услуги

Родитель


Классификация сотрудников

Иерархический метод классификации.

Множество объектов - «Сотрудники»;

На втором уровне классификации:

Признак классификации - «Родитель»;

Классификационные группировки:

-Водители;

-Рабочие;

-Сетевой отдел.

Рисунок 2.6 - Классификатор сотрудников


Для кодирования данного подмножества объектов была использована поразрядная (позиционная) система кодирования.

Длина кода - 5 знаков.


Структура кода: Х-ХХХ

Порядковый номер сотрудника

Родитель


2.1.3Характеристика нормативно-справочной и входной информации


Справочник «Услуги»

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

Справочник «Сотрудники»

Содержит справочную информацию о сотрудниках работающих на фирме.

Справочник «Контрагенты»

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

Справочник «Договор»

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

Справочник «Дополнительное соглашение»

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

Справочник «Единицы измерения»

Содержит справочную информацию единицах измерения в которых измеряется товар.

Справочник «Банки»

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

Справочник «Номенклатура»

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

Справочник «Объекты»

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

Справочник «Склад»

Содержит справочную информацию о складах, имеющихся в распоряжении фирмы.


2.1.4Характеристика внутримашинной информации, инфологическая модель данных

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

Использование даталогического проектирования позволяют определить возможности физической организации данных, предоставляемые конкретной СУБД.

Информационная система содержит справочники:

-«Услуги»;

-«ЕдиницыИзмерения»;

-«Контрагенты»

-«Банки»;

-«Объекты»;

-«Сотрудники»;

-«Договор»;

-«ДопСоглашение»;

-«Номенклатура»

Документы:

-«ПриходнаяНакладная»;

-«ТоварнаяНакладная»;

-«Плановые»;

-« ГрафикРабот»;

-«СчетФактура»;

-«АктВыполненныхРабот».

Перечисления:

-«ВидДокумента»;

-«Вид»;

-«Затраты»;

-«Трудоемкость»;

-«СостоянияОбъектов».

Далее будет подробно описана структура каждой из таблиц.


Таблица 2.1

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

Наименование поляТипДлинаКлючКодЧисло15 символов*НаименованиеСтрока50 символовТрудоемкостьЧисло15 символовЦенаЧисло15символов

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


Таблица 2.2

Справочник Номенклатура

Наименование поляТипДлинаКлючКодЧисло15 символов*НаименованиеСтрока25 символовЕд.измеренияСправочникСсылка.ЕдиницыИзмеренияЦенаЧисло15 символовВидПеречислениеСсылка.видПроцентЧисло15 символовРозничная ЦенаЧисло15 символов

Таблица содержит справочную информацию о материалах и оборудовании, а также цену (себестоимость), процентную ставку (НДС) и итоговую сумму.


Таблица 2.3

Справочник ЕдиницыИзмерения

Наименование поляТипДлинаКлючКодЧисло15 символов*НаименованиеСтрока50 символовПолное наименованиеСтрока50 символов

Таблица содержит справочную информацию о единицах измерения материалов.


Таблица 2.4

Справочник Контрагенты

Наименование поляТипДлинаКлючКодЧисло15 символов*ВлицеСтрока50 символовАдресСтрока50 символовРасчетный счетЧисло15 символовБИКЧисло9 символовБанкСправочникСсылка.Банки50 символовИННЧисло12 символов

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


Таблица 2.5

Справочник Банки

Наименование поляТипДлинаКлючКодЧисло15 символов*НаименованиеСтрока50 символов*

Таблица содержит справочную информацию о банках города.


Таблица 2.6

Справочник Объекты

Наименование поляТипДлинаКлючКодЧисло15 символов*НаименованиеСтрока50 символов*

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

Таблица 2.7

Справочник Сотрудники

Наименование поляТипДлинаКлючКодЧисло15 символов*ДолжностьСтрока25 символовНомерЧисло50 символовДата выдачиДатаПочтовый адресСтрока100 символовДолжностьСтрока25 символовНомерЧисло50 символовДата выдачиДатаПочтовый адресСтрока100 символовДата рожденияДатаСИКСтрока16 символовИННСтрока12 символовВид документаПеречислениеСсылка.ВидДокументаСерияСтрока12 символовВыданСтрока25 символов

Таблица содержит справочную информацию о сотрудниках, работающих на предприятии в данный момент и их основные данные об их должности, дате рождения, ИНН, СИКе, паспорте или удостоверении.


Таблица 2.8

Справочник Договор

Наименование поляТипДлинаКлючКодЧисло15 символов*НаименованиеСтрока25 символов*

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


Таблица 2.9

Справочник ДопСоглашение

Наименование поляТипДлинаКлючКодЧисло15 символов*НаименованиеСтрока25 символов*

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


Таблица 2.10

Документ ПриходнаяНакладная

Наименование поляТипДлинаКлючКод приходнойЧисло15 символов*СкладСправочникСсылка.СкладОрганизацияСправочникСсылка.КонтрагентыНаим прихСтрока15 символовКомментарийСтрока100 символовНоменклатураСправочникСсылка.НоменклатураЕдИзмСправочникСсылка.ЕдиницыИзмеренияКоличествоЧисло15 символовЦенаЧисло15 символовСуммаЧисло15 символов

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


Таблица 2.11

Документ ТоварнаяНакладная

Наименование поляТипДлинаКлючКод товарнойЧисло15 символов*СкладСправочникСсылка.СкладОбъектСправочникСсылка.ОбъектыЗаказчикСправочникСсылка.КонтрагентыПодрядчикСправочникСсылка.КонтрагентыНомер договораСправочникСсылка.ДоговорДопСоглашениеСправочникСсылка.ДопСоглашениеАвтоСправочникСсылка.АвтоВодительСправочникСсылка.СотрудникиНаименование работСтрока150 символовНоменклатураСправочникСсылка.НоменклатураЕдИзмСправочникСсылка.ЕдиницыИзмеренияКоличествоЧисло15 символовЦенаЧисло15 символовСуммаЧисло15 символовКоличество остЧисло15 символов

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


Таблица 2.12

Документ Плановые

Наименование поляТипДлинаКлючКод плановойЧисло15 символов*ОбъектСправочникСсылка.ОбъектыЗаказчикСправочникСсылка.КонтрагентыПодрядчикСправочникСсылка.КонтрагентыНомер договораСправочникСсылка.ДоговорДопСоглашениеСправочникСсылка.ДопСоглашениеСумма материаловЧисло15 символовТранс расходЧисло15 символовНакл расхЧисло15 символовНормат трудЧисло15 символовСметная прибыльЧисло15 символовНаименование поляТипДлинаКлючСумма докЧисло15 символовПоле ввода процент наклЧисло10 символовПоле ввода процент нормЧисло10 символовПоле ввода процент сметнЧисло10 символовПоле ввода процентЧисло10 символовНаименование работСтрока150 символовСумма доп работЧисло15 символовНач периодаДатаКон периодаДатаТаб. часть ПлановыеМатериалыНоменклатураСправочникСсылка.НоменклатураЕдИзмСправочникСсылка.НоменклатураКоличествоСправочникСсылка.ЕдиницыИзмеренияЦенаЧисло15 символовСуммаЧисло15 символовТаб. Часть ЗатратыУслугаПеречислениеСсылка.ЗатратыСмет потребностьЧисло10 символовЦенаЧисло15 символовСуммаЧисло15 символовТекущ уровеньЧисло6 символовВсегоЧисло15 символовТаб. Часть МашиныМашинаСправочникСсылка.АвтоСмет потр машЧисло10 символовТекущ ур машЧисло6 символовВсего машЧисло15 символовТаб. часть ДопРаботыНаименованиеСтрока30 символовСтоимостьСтрока10 символов

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


Таблица 2.13

Документ ГрафикРабот

Наименование поляТипДлинаКлючКод документаЧисло15 символов*ОрганизацияСправочникСсылка.КонтрагентыЗаказчикСправочникСсылка.КонтрагентыКоличествоЧеловекЧисло2 символовДоговорСправочникСсылка.ДоговорСоглашениеСправочникСсылка.ДопСоглашениеОбъектСправочникСсылка. ОбъектыНаименованиеРаботСтрока150 символовТаб. Часть ГрафикВидРаботСправочникСсылка.НоменклатураДлительностьЧисло5 символовДатаНачалаДатаДатаОкончанияДатаТрудоёмкостьЧисло6 символов

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


Таблица 2.14

Документ АктВыполненныхРабот

Наименование поляТипДлинаКлючКодЧисло15 символов*ЗаказчикСправочникСсылка.КонтрагентыСкладСправочникСсылка.СкладТаб. Часть МатериалыНаименованиеСправочникСсылка.НоменклатураЕдИзмСправочникСсылка.ЕдиницыИзмеренияКоличествоЧисло15 символовСуммаЧисло15 символов

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


Таблица 2.15

Документ Счет-Фактура

Наименование поляТипДлинаКлючКод документаЧисло15 символов*ОбъектСправочникСсылка.ОбъектыЗаказчикСправочникСсылка.КонтрагентыПодрядчикСправочникСсылка.КонтрагентыНомер договораСправочникСсылка.ДоговорДопСоглашениеСправочникСсылка.ДопСоглашениеТаб. Часть ДопРаботыНаименованиеСтрока50 символовКоличествоЧисло15 символовЦенаЧисло15 символовСуммаЧисло15 символов

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


2.2Программное обеспечение системы


2.2.1Структурная схема пакета дерева вызова процедур и программ

Работа АИС начинается с загрузки модуля «Главная форма».

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

Основные функции модуля:

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

-Переход к модулю документы. В данном модуле происходит оформление заявок выполняемых работ и оформление заявок на расходование материалов для проведения данных работ.


















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


2.2.2Схема технологического процесса сбора, передачи, обработки и выдачи информации


























Рисунок 2.18 - Общая блок-схема технологического процесса


Далее приводится описание работы программного модуля согласно блок-схеме, изображенной на рисунке 2.18.

Шаг 1:Начало работы приложения;

Шаг 2:Загрузка системы, переход на шаг 3;

Шаг 3:Ввод пароля;

Шаг 4:Проверка пароля и идентификация пользователя, переход к шагу 5;

Шаг 5:Загрузка меню пользователя, переход к шагу 6;

Шаг 6:Переход к модулю Справочники;

Шаг 7:Переход к модулю Документы;

Шаг 8:Переход к модулю Отчеты;

Шаг 9:Выход из системы;

Шаг 10:Конец работы.

Далее приводится описание работы программного модуля согласно блок-схеме, изображенной на рисунке 2.19.




















Рисунок 2.19 - Блок-схема технологического процесса модуля Документы


Шаг 1:Загрузка модуля Документы, переход на шаг 2;

Шаг 2:Загрузка меню выбора операций, переход к шагу 3;

Шаг 3:Создание нового документа;

Шаг 4:Генерация кода нового документа и переход к шагу 5;

Шаг 5:Ввод первичных данных;

Шаг 6:Просмотр готовых документов;

Шаг 7:Просмотр отчетов по документам.

Далее приводится описание работы программного модуля согласно блок-схеме, изображенной на рисунке 2.20.

















Рисунок 2.20 - Блок-схема технологического процесса модуля Справочники


Шаг 1:Загрузка модуля Справочники, переход на шаг 2;

Шаг 2:Загрузка меню выбора операций, переход к шагу 3;

Шаг 3:Просмотр справочников;

Шаг 4:Заполнение справочной информации;

Шаг 5:Печать справочников.

Далее приводится описание работы программного модуля согласно блок-схеме, изображенной на рисунке 2.21.

Шаг 1:Загрузка модуля Отчеты, переход на шаг 2;

Шаг 2:Загрузка меню выбора операций, переход к шагу 3;

Шаг 3:Просмотр видов отчетов;

Шаг 4:Выбор критериев формирования отчетной информации;

Шаг 5:Формирование отчетов;

















Рисунок 2.21 - Блок-схема технологического процесса модуля Отчеты


2.2.3Сценарий диалога

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

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

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

Далее рассмотрим подробнее функции каждого из модулей, описанных на рисунке 2.22.

Форма-Справочник.Услуги - открывает форму справочника услуг.

Форма-Справочник.Контрагенты - открывает форму справочника контрагентов.


Рисунок 2.22 - Схема вызова процедур и программ


Форма-Справочник.ЕдиницыИзмерения - открывает форму справочника единиц измерения.

Форма-Справочник.СпецификацииНоменклатуры - открывает форму справочника спецификаций номенклатуры.

Форма-Справочник.Авто - открывает форму справочника, содержащего перечень автомашин.

Форма-Справочник.Номенклатура - открывает форму справочника товаров.

Форма-Справочник.Банки - открывает форму справочника банков.

Форма-Справочник.Объекты - открывает форму справочника со списком обслуживаемых объектов.

Форма-Справочник.Сотрудники - открывает форму справочника, содержащего список сотрудников.

Форма-Справочник.Банки - открывает форму справочника банков.

Форма-Справочник.Договор - открывает форму справочника списка договоров, заключенных с заказчиками.

Форма-Справочник.ДопСоглашение - открывает форму справочника со списком дополнительных соглашений.

Форма-Документ.СчетФактура - открывает форму ввода новой заявки на услуги.

Форма-Документ.ПриходнаяНакладная - открывает форму ввода новой приходной.

Форма-Документ.ТоварнаяНакладная - открывает форму ввода новой товарной накладной.

Форма-Документ.ГрафикРабот - открывает форму ввода нового графика работ.

Форма-Документ.АктВыполненныхРабот - открывает форму ввода нового акта выполненных работ.

Форма-Документ.Плановые - открывает форму ввода нового документа по расчету плановых показателей.

Форма-Журнал. СчетФактура - открывает журнал заявок на услуги.

Форма-Журнал.ПриходнаяНакладная - открывает журнал приходных накладных.

Форма-Журнал.ТоварнаяНакладная - открывает журнал товарных накладных.

Форма-Журнал. ГрафикРабот - открывает журнал графиков работ.

Форма-Журнал.АктВыпРабот - открывает журнал актов выполненных работ.

Форма-Отчет.ОчетПоУслугам - открывает форму для формирования отчета по услугам и формирования рейтинга самой потребляемой услуги.

Форма-Отчет.Анализ услуг - открывает форму для формирования отчета по анализу последовательностей использования услуг.

Форма-Отчет.АнализРасходованияМатериалов - открывает форму для формирования отчета и анализа последовательности расходования материалов.

Форма-Отчет.РейтингЗаказчиков - открывает форму для формирования отчета рейтинга заказчиков.

Форма-Отчет.ОстаткиМатериалов - открывает форму для формирования отчета по остаткам материалов и оборудования на складе.


2.2.4Схема взаимосвязи программных модулей и информационных файлов

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

Основное назначение создаваемой АИС - это контроль и анализ услуг. Следовательно, структуру программы можно описать следующими блоками:

Рисунок 2.23 - Блок-схема основных модулей программы


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

Модуль Справочники предназначен для хранения постоянной или условно-постоянной информации, которая в дальнейшем используется в работе пользователя.

Модуль Документы предназначен для ввода новых документов пользователем.

Модуль Журналы предназначен для хранения документов.

Модуль Отчеты предназначен для формирования отчетов.


2.3Описание контрольного примера реализации проекта


Все рассмотренные выше теоретические методы, способы учета, применяемые в ТОО «Десятка», нуждаются в практической проверке.

Пример использования программы:

Шаг 1. Начало работы.

Шаг 2. Заполнение справочной информации о поставщиках и заказчиках.

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

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

Заполнение справочников Услуги

Заполнение справочников Материалы

Заполнение справочников Контрагенты

Шаг 3. Далее необходимо оформить заявку на предоставление услуг, проведение работ заказчикам. Эта операция осуществляется нажатием на главной форме кнопки «Заявка на выполнение работ».

Выполнение необходимых операций выполняется нажатием соответствующей кнопки.

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

Из созданного документа «Оказание услуг, выполнение работ» на основании заполненных данных производится автоматическое заполнение документов «График Работ», «Акт выполненных работ» и «Товарная накладная».

Шаг 4. Получение отчетов. Отчеты о движении материалов, выполнения услуг и остатке товара на складе можно просмотреть на форме Отчеты, которая открывается нажатием на соответствующую кнопки на главной форме программы.

Форма выбора отчетов

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

Форма отчета Рейтинг услуг

Форма отчета Анализ последовательностей использования услуг

3. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА


3.1 Понятие экономической эффективности


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

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

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

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

Показатели экономической эффективности программного изделия определяются:

-экономической оценкой результатов влияния программного изделия на конечный результат их использования (основное направление анализа и расчета показателей эффективности - для прикладных программных продуктов);

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

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

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

При необходимости определения экономической эффективности программных изделий, входящих в АСУ, САПР, АСНИ и другие системы через оценку влияния программного изделия на конечные результаты функционирования этих систем в народном хозяйстве, доля эффекта от программного изделия оценивается по коэффициенту долевого участия программных продуктов в показателях эффективности автоматизированных систем. Эти показатели рассчитываются по результатам основной деятельности организаций (предприятий, научных учреждений) на основе соответствующих общегосударственных, отраслевых и ведомственных методик. Долевой коэффициент участия программного изделия в показателях эффективности автоматизированных систем в зависимости от условий расчета может определяться как отношение годовых приведенных затрат на программное изделие к годовым приведенным затратам на систему. Кроме того, его также можно определить как отношение капитальных вложений в программный продукт к капитальным вложениям в систему, как отношение трудозатрат на разработку программного изделия к трудозатратам на разработку системы, а также методом экспертных оценок по взаимному соглашению разработчиков, изготовителей и пользователей.


3.2 Выбор и обоснование методики расчета трудоемкости и стоимости разработки


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

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

Экономическую эффективность проектируемого программного изделия (ПИ) можно оценить при помощи ряда показателей:

- трудоемкость разработки;

- длительность разработки;

годовая экономия;

единовременные затраты на разработку и внедрение;

текущие затраты на функционирование.

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

В зависимости от этого:

- первые методы основаны на четкой идентификации операций процесса разработки ПП;

- вторые - на определении функциональных требований и/или конечного продукта.

3.2.1 Методика оценивания затрат СОСОМО II

В конце 70-х годов Барри Боэмом была разработана модель оценивания объемов работ при разработке информационных систем, и получила название конструктивная модель стоимости (Constructive Cost Model -COCOMO). На сегодняшний день данная модель оценки трудоёмкости разработки ПП является наиболее известной среди множества подобных моделей.

С течением времени и ростом требованиям к системам, модель СОСОМО оказалась устаревшей в значительной своей части. Непосредственно по этой причине и ряд других немаловажных проблем, была разработана модель СОСОМО II, впервые опубликованная в 1999 году.

Модель ориентирована на порционность поступления информации для оценивания на протяжении всего периода разработки ПП и является трехуровневой [8].

- Предварительная модель - обеспечивает предварительную оценку трудозатрат на ПС на ранних стадиях разработки. Модель предназначена для оценки трудоемкости прототипирования, а также разработки ПС с использованием интегрированных сред (ICASE);

Предпроектная модель - обеспечивает предварительную оценку трудозатрат на разработку как ПС в целом, так и отдельных программных компонентов (подсистем) на предпроектных стадиях ЖЦ. Может применяться для технико-экономического обоснования затрат на создание ПС, а также для распределения затрат по стадиям разработки.

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

В рамках модели COCOMO II оценки трудоемкости проекта и времени, требующегося на его выполнение, определяются тремя разными способами на вышеперечисленных уровнях проекта:

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

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


, (3.1)


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

оценивается уровень производительности,.

трудозатраты на разработку вычисляются в человеко-месяцах (чел-мес.) по формуле:


. (3.2)


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

Трудоемкость вычисляется следующим образом:


, (3.3)


где - трудозатраты на автоматически генерируемый код;

- фактор процесса разработки, который вычисляется по формуле:


, (3.4)

где факторы Wi принимают значения от 0 до 5:

W1 - предсказуемость проекта для данной организации, от полностью знакомого (0) до совсем непредсказуемого (5);

W2 - гибкость процесса разработки, от полностью определяемого командой при выполнении общих целей проекта (0) до полностью фиксированного и строгого (5);

W3 - степень удаления рисков, от полной (0) до небольшой (5), оставляющей около 80% рисков;

W4 - сплоченность команды проекта, от безукоризненного взаимодействия (0) до больших трудностей при взаимодействии (5);

W5 - зрелость процессов в организации, от 0 до 5 в виде взвешенного количества положительных ответов на вопросы о поддержке ключевых областей процесса в модели CMM.

- произведение семи коэффициентов затрат, каждый из которых лежит в интервале от 1 до 6:

- возможности персонала;

надежность и сложность продукта;

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

сложность платформы;

опытность персонала;

использование инструментов;

плотность графика проекта.

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

Формула для трудоемкости имеет вид:


, (3.5)


Где

, (3.6)


где


, (3.7)


где AT - процент автоматически генерируемого кода;

AA - фактор трудоемкости перевода компонентов в повторно используемые;

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

CM - процент модифицируемого для повторного использования кода;

IM - процент затрат на интеграцию и тестирование повторно используемых компонентов;

SU - фактор понятности повторного использования кода.

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

Коэффициент вычисляется как (1 + (процент кода, выброшенного из-за изменений в требованиях)/100).

Коэффициент является произведением 17 коэффициентов затрат, имеющих значения от 1 до 6:

- надежность продукта;

сложность продукта;

размер базы данных разрабатываемого приложения;

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

требуемый уровень документированности;

уровень производительности по времени;

уровень требований к занимаемой оперативной памяти;

изменчивость платформы;

возможности аналитика проекта;

возможности программистов;

опыт работы команды в данной предметной области;

опыт работы команды с используемыми платформами;

опыт работы команды с используемыми языками и инструментами;

уровень текучести персонала в команде;

возможности используемых инструментов;

возможности общения между членами команды;

фактор сжатия графика проекта.

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


, (3.8)


где tразр.- срок разработки информационной системы, в месяцах;

Т(А) - линейный коэффициент зависимости срока разработки типа проекта;

T - трудоемкость в человеко-месяцах;

Т(В) - экспоненциальный коэффициент зависимости срока разработки от типа проекта;

- сумма корректировочных коэффициентов факторов масштабирования.

Модель СОСОМО II имеет ряд достоинств, среди которых следует отметить объективность и простоту применения.


3.2.2 Методика расчета трудоемкости программного средства Госкомтруда 1986 года

В течение восьмидесятых годов в СССР были разработаны собственные модели оценки трудоемкости разработки программных систем, утвержденные Госкомтруда в 1986 году. Базовая трудоемкость разработки программных средств в данной методике определяется в зависимости от группы сложности и от объема.

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

Параметр «Стадии разработки ПС» может принимать значения:

«Техническое задание»;

«Эскизный проект»;

«Технический проект»;

«Рабочий проект»;

«Внедрение»;

«Предварительное проектирование».

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

- использование CASE-технологий;

объединение технического и рабочего проекта.

При использовании CASE-технологии стадии «Техническое задание», «Эскизный проект» и «Технический проект» объединяются в одну стадию «Предварительное проектирование», за которой следуют стадии «Рабочий проект» и «Внедрение».

Объединение стадий «Технический проект» и «Рабочий проект» в одну стадию «Технорабочий проект», предполагает обязательное наличие этих двух стадий.

Параметр «Элементы, повышающие сложность ПС» может принимать значения:

«Наличие экранных подсказок и меню функций»;

«Выдача на экран контекстно-зависимой помощи»;

«Обеспечение хранения и поиска данных в сложных структурах»;

«Возможность связи с другими ПС».

Параметр «Степень новизны ПС» может принимать одно из следующих значений:

- «Принципиально новое ПС, не имеющее доступных аналогов»;

«ПС, являющееся развитием определенного параметрического ряда ПС на новом типе ЭВМ/ операционной системы (ОС)»;

«ПС, являющееся развитием определенного параметрического ряда ПС на прежнем типе ЭВМ/ОС».

Параметры «Новый тип ЭВМ» и «Новый тип ОС» определяют, используется ли новый тип ЭВМ или ОС при разработке ПС

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

- «Свыше 60%»;

«От 40% до 60%»;

«От 20% до 40%»;

«До 20%».

Параметр «Средства разработки ПС» может принимать одно из следующих значений:

- «Язык Ассемблера»;

«Процедурные языки высокого уровня (C, Pascal, и др.)»;

«Системы программирования на основе СУБД»;

«CASE-средства».

Параметр «Характер среды разработки» может принимать одно из следующих значений:

- «Большие ЭВМ без «дружелюбной» среды (ЕС ЭВМ с ОС ЕС)»;

«Большие ЭВМ с «дружелюбной» средой (RS, mainframe)»;

«Малые ЭВМ без дружелюбной среды (СМ ЭВМ с ОС РВ, UNIX)»;

«Малые ЭВМ с «дружелюбной» средой (VAX, DEC)»;

«Персональные ЭВМ (с MS-DOS, Windows)»;

«Другие персональные ЭВМ (Apple)»;

«Сети ЭВМ локальные (типа NetWare)»;

«Глобальные сети (через модемы)».

Параметр «Характеристики ПС» может принимать значения:

1)«Наличие мощного интеллектуального языкового интерфейса высокого уровня с пользователем (без учёта подсказок и меню функций)»;

2)«Режим работы в реальном времени»;

3)«Обеспечение телекоммуникационной обработки данных»;

)«Машинная графика»;

)«Криптография и другие методы защиты от несанкционированного доступа»;

)«Обеспечение существенного распараллеливания вычислений»;

)«Оптимизационные расчеты»;

)«Моделирование объектов и процессов»;

)«Задачи анализа и прогнозирования»;

10)«Сложные экономические, инженерные или научные расчеты»;

11)«Обеспечение настройки ПС на изменения структур входных и выходных данных».

Характеристики ПС определяют параметр «Группа сложности», пункты 1 - 6 соответствуют максимальной группе сложности, 7 - 11 - средней группе сложности, если же разрабатываемое ПС не обладает ни одной из перечисленных характеристик, оно относится к минимальной группе сложности.

Параметр «Функции ПС» может принимать значения:

«Управление работой компонентов ПС»;

- «Обработка прерываний»;

«Ввод данных в интерактивном режиме»;

«Вывод данных в табличной форме на экран и на печать»;

«Обработка ошибочных ситуаций»;

«Система настройки ПС на условия применения»;

«Формирование последовательных файлов»;

«Сортировка файлов»;

«Обработка файлов»;

«Формирование базы данных»;

«Обработка записей базы данных»;

«Организация поиска и поиск в базе данных»;

«Статистическая обработка данных»;

«Расчет экономических показателей»;

«Экономический анализ и прогнозирование»;

«Составление сводных балансов».

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

Расчет трудоемкости разработки программного продукта осуществляется по формуле:


, (3.9)


где Тобщ - общая трудоемкость разработки ПС (в чел.-днях);

Тi - трудоемкость i-ой стадии разработки ПС (в чел.-днях), i = 0..5;

n - количество стадий разработки ПС.

Трудоемкость i-ой стадии разработки ПС, i = 0..5, определяется по формуле:


Ti = Li * Кн * То, для i = 0,1,2,3,5, (3.10)

Ti = Li * Кн *Кт * То, для i = 4,

гдеLi - удельный вес трудоемкости i-ой стадии разработки ПС, учитывающий наличие той или иной стадии и использование CASE-технологии, определяется по таблице, причем


(3.11)


В случае отсутствия стадии «Эскизный проект» L3 = L2 + L3.

В случае объединение стадий «Технический проект» и «Рабочий проект» в одну стадию «Технорабочий проект» L3 = 0,85 * L3 + L4.

Кн - поправочный коэффициент, учитывающий степень новизны ПС и использование при разработке ПС новых типов ЭВМ и ОС, определяется по таблице;

Кт - поправочный коэффициент, учитывающий степень использования в разработке (типовых) стандартных ПС, определяется по таблице;

То - общая трудоемкость разработки ПС (в чел.-днях) определяется по формуле:


То = Тур * Ксл, (3.12)


где Тур - трудоемкость разработки ПС с учетом конкретных условий разработки (в чел.-днях);

Ксл -коэффициент сложности ПС, определяется по формуле:


, (3.13)


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

n - количество дополнительно учитываемых характеристик ПС.

Трудоемкость разработки ПС с учетом конкретных условий разработки определяется по формуле:


Тур = Тб * Кур , (3.14)


гдеТб - базовая трудоемкость разработки ПС (в чел.-днях), учитывающая Vо - объем ПС и группу сложности, определяется по таблице;

Кур - поправочный коэффициент, учитывающий характер среды разработки и средства разработки ПС, определяется по таблице;

Общий объем разрабатываемого ПС, определяется по формуле:


, (3.15)


гдеVi - объем i-ой функции ПС, i = 1..16, учитывающий тип ЭВМ, определяется по таблице;

n - общее число функций.

Продолжительность разработки программного продукта определяется по формуле:


. (3.16)


Среднее число исполнителей реализации программного продукта рассчитывается:


Ч = Tобщ/t . (3.17)

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

- для предсказания усилий на разработку в модели COCOMO II необходимо сначала предсказать размер конечной системы в единицах KDSI (Thousands of Delivered Source Instructions, тысяч строк исходных инструкций поставляемого кода), то есть данная модель основана на размере кода ПП, а длина кода не всегда отражает размер современных программных продуктов;

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

точность модели COCOMO II согласована с большим количеством фактических данных и зависит от точности оценивания входных данных.

Таким образом, использование методики расчета трудоемкости программного средства Госкомтруда 1986 года в данном случае является наиболее целесообразным, так как она, по сравнению с моделью COCOMO II включает определения основных понятий и количественных характеристик без ограничения общности или разнообразия типов ПС. Данная методика повышает объективность оценок путем применения шкалы оценок, учитывающих влияние разных атрибутов на оценку трудозатрат. Методика расчета трудоемкости программного средства Госкомтруда 1986 года проста для понимания и применения, что также является немаловажным фактором при выборе методики.


3.3 Расчет частных показателей экономической эффективности


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

-трудоемкость разработки программного изделия;

-длительность разработки программного изделия;

-годовая экономия (годовой прирост прибыли);

-суммарные затраты на создание, внедрение и функционирование ПП (включают в себя единовременные затраты на разработку и внедрение, текущие затраты на функционирование.


3.3.1Расчет трудоемкости разработки программного изделия

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

-стадии разработки ПС;

-сложность ПС;

-степень новизны ПС;

-новый тип ЭВМ;

-новый тип ОС;

-степень охвата реализуемых функций стандартными ПС;

-средства разработки ПС;

-характер среды разработки;

-характеристики ПС;

-группа сложности;

-функции ПС;

-тип ЭВМ.

Параметр «Стадии разработки ПС» может принимать значения:

-«Техническое задание»;

-«Эскизный проект»;

-«Технический проект»;

-«Рабочий проект»;

-«Внедрение»;

-«Предварительное проектирование».

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

-использование CASE-технологий;

-объединение технического и рабочего проекта.

При использовании CASE-технологии стадии «Техническое задание», «Эскизный проект» и «Технический проект» объединяются в одну стадию «Предварительное проектирование», за которой следуют стадии «Рабочий проект» и «Внедрение».

Объединение стадий «Технический проект» и «Рабочий проект» в одну стадию «Технорабочий проект», предполагает обязательное наличие этих двух стадий.

Параметр «Элементы, повышающие сложность ПС» может принимать значения:

-«Наличие экранных подсказок и меню функций»;

-«Выдача на экран контекстно-зависимой помощи»;

-«Обеспечение хранения и поиска данных в сложных структурах»;

-«Возможность связи с другими ПС».

Данные элементы могут присутствовать как вместе, так и по отдельности.

Параметр «Степень новизны ПС» может принимать одно из следующих значений:

-«Принципиально новое ПС, не имеющее доступных аналогов»;

-«ПС, являющееся развитием определенного параметрического ряда ПС на новом типе ЭВМ/ операционной системы (ОС)»;

-«ПС, являющееся развитием определенного параметрического ряда ПС на прежнем типе ЭВМ/ОС».

Параметры «Новый тип ЭВМ» и «Новый тип ОС» определяют, используется ли новый тип ЭВМ или ОС при разработке ПС. На данные параметры влияет значение параметра «Степень новизны ПС». Если ПС является развитием определенного параметрического ряда ПС на новом типе ЭВМ/ОС, то необходимо наличие хотя бы одного из параметров «Новый тип ЭВМ» и «Новый тип ОС». Если же ПС является развитием определенного параметрического ряда ПС на прежнем типе ЭВМ/ОС, то данные параметры не рассматриваются.

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

-свыше 60%;

-от 40% до 60%;

-от 20% до 40%;

-до 20%.

Параметр «Средства разработки ПС» может принимать одно из следующих значений:

-язык Ассемблера;

-процедурные языки высокого уровня (C, Pascal, и другие);

-системы программирования на основе СУБД;

-CASE-средства.

Параметр «Характер среды разработки» может принимать одно из следующих значений:

-«Большие ЭВМ без «дружелюбной» среды (ЕС ЭВМ с ОС ЕС)»;

-«Большие ЭВМ с «дружелюбной» средой (RS, mainframe)»;

-«Малые ЭВМ без «дружелюбной» среды (ЭВМ с ОС UNIX)»;

-«Малые ЭВМ с «дружелюбной» средой (VAX, DEC)»;

-«Персональные ЭВМ IBM-PC совместимые (с MS-DOS, Windows)»;

-«Другие персональные ЭВМ (Apple)»;

-«Сети ЭВМ локальные (типа NetWare)».

-«Глобальные сети (через модемы)».

Параметр «Характеристики ПС» может принимать значения:

-«Наличие мощного интеллектуального языкового интерфейса высокого уровня с пользователем (без учёта подсказок и меню функций)»;

-«Режим работы в реальном времени»;

-«Обеспечение телекоммуникационной обработки данных»;

-«Машинная графика»;

-«Криптография и другие методы защиты от несанкционированного доступа»;

-«Обеспечение существенного распараллеливания вычислений»;

-«Оптимизационные расчеты»;

-«Моделирование объектов и процессов»;

-«Задачи анализа и прогнозирования»;

-«Сложные экономические, инженерные или научные расчеты»;

-«Обеспечение настройки ПС на изменения структур входных и выходных данных».

Характеристики ПС определяют параметр «Группа сложности», пункты 1 - 6 соответствуют максимальной группе сложности, 7 - 11 - средней группе сложности, если же разрабатываемое ПС не обладает ни одной из перечисленных характеристик, оно относится к минимальной группе сложности. Данные элементы могут присутствовать как вместе, так и по отдельности.

Параметр «Функции ПС» может принимать значения:

-«Управление работой компонентов ПС»;

-«Обработка прерываний»;

-«Ввод данных в интерактивном режиме»;

-«Вывод данных в табличной форме на экран и на печать»;

-«Обработка ошибочных ситуаций»;

-«Система настройки ПС на условия применения»;

-«Формирование последовательных файлов»;

-«Сортировка файлов»;

-«Обработка файлов»;

-«Формирование базы данных»;

-«Обработка записей базы данных»;

-«Организация поиска и поиск в базе данных»;

-«Статистическая обработка данных»;

-«Расчет экономических показателей»;

-«Экономический анализ и прогнозирование»;

-«Составление сводных балансов».

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

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

Тобщ - общая трудоемкость разработки ПС (в чел.-днях) рассчитывается по формуле:


, (3.1)


где Тi - трудоемкость i - ой стадии разработки ПС (в чел.-днях), i = 0..5;

n - количество стадий разработки ПС.

Тi - трудоемкость i - ой стадии разработки ПС, i = 0..5 определяется по формуле:


Ti = Li ? Кн ? То, для i = 0,1,2,3,5 (3.2)


гдеLi - удельный вес трудоемкости i - ой стадии разработки ПС, учитывающий наличие той или иной стадии и использование CASE-технологии, причем


, (3.3)


в случае отсутствия стадии «Эскизный проект» L3 = L2 + L3; в случае объединение стадий «Технический проект» и «Рабочий проект» в одну стадию «Технорабочий проект» L3 = 0,85 ? L3 + L4.

Кн - поправочный коэффициент, учитывающий степень новизны ПС и использование при разработке ПС новых типов ЭВМ и ОС;

Кт - поправочный коэффициент, учитывающий степень использования в разработке стандартных ПС;

То - общая трудоемкость разработки ПС (в чел.-днях) определяется по формуле:


То = Ксл ? Тур, (3.4)


где Ксл -коэффициент сложности ПС, определяется по формуле:


, (3.5)

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

n - количество дополнительно учитываемых характеристик ПС.

Тур - трудоемкость разработки ПС с учетом конкретных условий разработки, определяется по формуле:


Тур = Тб ? Кур, (3.6)


гдеТб - базовая трудоемкость разработки ПС (в чел.-днях), учитывающая Vо- объем ПС и группу сложности;

Кур - поправочный коэффициент, учитывающий характер среды разработки и средства разработки ПС;

Vо- общий объем разрабатываемого ПС, определяется по формуле:


, (3.7)


гдеVi - объем i- ой функции ПС, i = 1..16, учитывающий тип ЭВМ; n - общее число функций.


3.3.2Расчет длительности разработки программного изделия и числа исполнителей

Длительность разработки программного изделия t рассчитывается по формуле, месяцев:


, (3.8)


где Tобщ - трудоемкость разработки программного изделия, рассчитывается по формуле (3.1), чел-мес.

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


Чn = Tобщ / t , (3.9)


где Тобщ - трудоемкость разработки программного изделия, чел-мес;

t - длительность разработки программного изделия, месяцев.


3.3.3Расчет годовой экономии функционирования программного изделия

Годовая экономия функционирования ПИ рассчитывается следующим образом:


Пг = (П1 + П2 + П3) ? (1+ЕН ?Т), (3.10)


где П1 - экономия, получаемая в t - году в результате сокращения затрат трудовых и материальных ресурсов, тг;

П2 - экономия, получаемая в t - году в результате повышения качества новой техники, ее потребительских свойств, тг;

П3 - дополнительная прибыль в t - году от приоритетной новизны решения, полученного в автоматизируемой системе в кратчайшие сроки, тг;

ЕН - норматив эффективности капитальных вложений (тг/год)/тг; Значение ЕН принимается равным 0,15 для всех отраслей народного хозяйства. ЕН представляет собой минимальную норму эффективности капитальных вложений, ниже которых они нецелесообразны.

?Т - сокращение длительности автоматизируемого процесса, лет.


3.3.4Расчет единовременных затрат

Единовременные затраты на создание ПП определяются по формуле:

К = КП + КК, (3.11)


где КП - предпроизводственные затраты, тг;

КК - капитальные затраты на создание, тг.

Предпроизводственные затраты на создание определяются по формуле:


КП = Косн.зп. + Кдоп.зп. + Кпр, (3.12)


где Косн.зп. - затраты на основную заработную плату разработчиков, тг;

Кдоп.зп. - затраты на дополнительную заработную плату разработчиков (составляют 20% от основной заработной платы), тг;

Кпр - прочие расходы, включают расходы на машинное время, тг.

Затраты на основную заработную плату разработчиков определяются по формуле:


Косн.зп. = О ? t , (3.13)


где О - оклад разработчика, тг;

t - трудоемкость разработки, чел-мес.

Прочие расходы включают расходы на машинное время:


Кпр = Тмаш ? Смаш, (3.14)


где Тмаш - длительность разработки, отладки и тестирования программного изделия, час;

Смаш - стоимость 1 часа маш.времени, тг.

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


Кк=Кктс+Кмонт+Кинв+Кзд+Кос+Ктр+Ксоп+Квысв, (3.15)


где Кктс - сметная стоимость КТС, тг;

Кмонт- затраты на установку, монтаж и запуск КТС в работу, тг;

Кинв - затраты на производственно-хозяйственный инвентарь, тг;

Кзд - затраты на строительство и реконструкцию зданий для размещения КТС, тг;

Кос - сумма оборотных средств, тг;

Ктр - транспортно-заготовительные расходы, тг;

Ксоп - сметная стоимость системы стандартного обеспечения применения КТС, тг;

Квысв- остаточная удельная стоимость высвобожденных средств, тг.

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


Квысв = Кперв ? (1 - а?Ттехн), (3.16)


где Кперв - первоначальная стоимость высвобожденных технических средств, тг;

а - годовая норма амортизации;

Ттехн - срок эксплуатации высвобожденного оборудования, лет.


3.3.5Расчет текущих затрат

Т.к. ПП находится на этапе создания, то предпочтение отдаем нижеописанному методу расчета.

Годовые текущие затраты Иг определяются по формуле:

, (3.17)


где Иi - затраты, вызванные решением i-й задачи, тг;

n - число задач, решаемых в течение года, шт;

Исист - общесистемные затраты за год, тг.

Расчет суммарных текущих затрат на функционирование программного продукта за время работы с приведением к расчетному году (первому году функционирования программного продукта):


(3.18)


где Игi - годовые текущие затраты (вычисляются по формуле 3.17), тг.


3.3.6Расчет суммарных затрат за год на создание, внедрение и функционирование программного изделия

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


Зг = ИГ + К, (3.19)


где ИГ - годовые текущие издержки на функционирование ПП (без учета амортизации на реновацию) (вычисляются по формуле 3.17), тг;

К - единовременные затраты на создание ПП (вычисляются по формуле 3.11), тг.

3.4 Определение обобщающих показателей экономической эффективности


К основным обобщающим показателям экономической эффективности относятся:

-годовой экономический эффект;

-экономический эффект от функционирования за весь расчетный период;

-коэффициент экономической эффективности функционирования;

-срок окупаемости системы.


3.4.1 Расчет годового экономического эффекта от разработки и внедрения программного изделия

Годовой экономический эффект от разработки и внедрения ПП определяется как разность между годовой экономией (или годовым приростом прибыли) от функционирования системы и суммарными затратами на создание системы:


ЭГ = ПГ - ЗГ , (3.20)


где ЭГ - годовой экономический эффект от разработки и внедрения ПП, тыс.тг.;

ПГ - годовая экономия (годовой прирост прибыли) (вычисляется по формуле 3.10), тыс.тг.;

ЗГ - суммарные затраты за год (вычисляются по формуле 3.19), тыс.тг.


3.4.2 Расчет суммарного экономического эффекта функционирования программного изделия

Экономический эффект функционирования ПИ за весь расчетный период определяется разностью суммарных результатов в стоимостной оценке и затрат:


Эо = По - Зо , (3.21)


где По, Зо - суммарные по годам расчетного периода экономия и затраты (тыс.тг.), рассчитываются следующим образом:


, (3.22)

, (3.23)


где Пt - экономия в t-ом году расчетного периода (рассчитывается по формуле 3.10), тыс.тг;

Зt - затраты в t-ом году расчетного периода (рассчитываются по формуле 3.19), тыс.тг;

tn и tk - соответственно начальный и конечный годы расчетного периода;

?t - коэффициент приведения разновременных затрат и результатов к расчетному году.


3.4.3 Расчет коэффициента экономической эффективности единовременных затрат

Коэффициент экономической эффективности единовременных затрат представляет собой отношение годовой экономии (годового прироста прибыли) к единовременным затратам на разработку и внедрение:


, (3.24)

где П - годовая экономия (годовой прирост прибыли) (рассчитывается по формуле 3.10), тыс.тг;

Иг - годовые текущие издержки на функционирование, (рассчитываются по формуле 3.19), тыс.тг;

К - единовременные затраты на разработку и внедрение, (вычисляются по формуле 3.11), тыс.тг.

Если для коэффициента ЕК выполняется условие: ЕК>=ЕН, капитальные вложения считаются экономически эффективными.


3.4.4 Расчет срока окупаемости программного изделия

Срок окупаемости представляет собой отношение единовременных суммарных затрат на разработку и внедрение ПИ к годовой экономии (к годовому приросту прибыли):


, (3.25)


где К - единовременные затраты на разработку и внедрение, (вычисляются по формуле 3.11), тыс.тг;

Пг - годовая экономия (годовой прирост прибыли) (рассчитывается по формуле 3.10), тыс.тг;

Иг - годовые текущие издержки на функционирование, (рассчитываются по формуле 3.19), тыс.тг.


3.5 Расчет цены программного продукта


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

Цена программной продукции формируется на базе экономически обоснованной (нормативной) себестоимости её производства и прибыли, тг.:


Цпп = С + Пн + Нэ , (3.26)


где С - себестоимость ПП, тг. (используем единовременные затраты (3.11 );

Пн - нормативная прибыль, тг.;

Нэ - надбавка к цене, тг., если годовой экономический эффект от применения ПП больше 10 тыс. тг., надбавка к цене за эффективность берется 20 % от нормативной прибыли: Нэ = 0.2 ?Пн тг.

Нормативная прибыль определяется как:


Пн = Уп ? Фзп , (3.27)


где Уп - уровень прибыли в процентах к фонду заработной платы разработчиков ПП;

Фзп - фонд заработной платы разработчиков ПП, тг.

Уровень прибыли рассчитывается по формуле:


Уп = Руп + Рп , (3.28)


где Руп - расчётный уровень прибыли (норматив рентабельности), включаемый в цену на разработку (ориентировочно 90-100 % к Фзп);

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


3.6 Расчет показателей экономической эффективности


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

Для расчета экономической эффективности был определен ряд исходных параметров, которые представлены в виде таблицы (таблица 3.1).


Таблица 3.1

Исходные данные для расчета

Наименование показателейУсловные обозначенияЕдиница измеренияЗначения показателябез ППс ПП12345Оклад программистаОтг-35000Стоимость одного часа машинного времениСМтг4040Сметная стоимость КТСККТСтг700070000Трудоемкость обработки информации по одной задачеtЗчас3 чел/час0,05 час (маш. вр.)Эксплуатац.расходы функционирования ПП (% от сметной стоимости) - амортизация (5%) - текущий ремонт(2%) - содержание оборудования (2,5%) Итого: Исист тг тг тг тг 3500 1400 1750 6650Зарплата специалиста (включая отчисления)тг50000Удельная стоимость трудозатрат одного специалистаСспецтг170170Количество задач решаемых за годNЗЗадач/год11003600Период функционирования ППТЛет-5Для расчета трудоемкости разработки программного продукта выделим основные параметры, влияющие на данный расчет:

-стадии разработки ПС: «предварительное проектирование», «рабочий проект» и «внедрение», так как используется CASE-технология;

-сложность ПС принимает значение «выдача на экран контекстно-зависимой помощи» и «возможность связи с другими ПС»;

-степень новизны ПС принимает значение «ПС, являющееся развитием определенного параметрического ряда ПС на прежнем типе ЭВМ/ОС»;

-степень охвата реализуемых функций стандартными ПС - от 40% до 60%;

-средства разработки ПС - процедурные языки высокого уровня (C, Pascal, и другие);

-характер среды разработки - персональные ЭВМ совместимые (с MS-DOS, Windows);

-характеристики ПС - «оптимизационные расчеты», а также «задачи анализа и прогнозирования»;

-группа сложности - средняя;

-функции ПС: ввод данных в интерактивном режиме, вывод данных в табличной форме на экран и на печать, обработка ошибочных ситуаций, обработка записей базы данных, расчет экономических показателей;

Вычислим по формуле (3.7) общий объем разрабатываемого ПС и получим:

Vо = 1580 + 3740 + 3790 + 2750 + 8630 = 20490 исходных команд.

Трудоемкость разработки ПС с учетом конкретных условий разработки, определяется по формуле (3.6):

Тур = 1613 × 0,17 = 274,21 чел-дни.

Коэффициент сложности ПС, вычисленный по формуле (3.5), равен:

Ксл = 1 + (0,07 + 0,09) = 1,16.

Общая трудоемкость разработки ПС определяется по формуле (3.4) следующим образом:

То = 1,16 × 274,21 = 318,08 чел-дн.

Определим трудоемкость каждой стадии разработки ПС по формуле (3.2):

= L0 × Кн × То = 0,45 × 0,40 × 318,08 = 57,25 чел-дн.

T4 = L4 × Кн × Кт × То = 0,30 × 0,40 × 0,9 × 318,08 = 34,34 чел-дн.

T5 = L5 × Кн × То = 0,18 × 0,40 × 318,08 = 22,9 чел-дн.


Тогда общая трудоемкость разработки ПС будет равна:

Тобщ = 57,25 + 34,34 + 22,9 = 114,49 чел-дн.

Для перевода в чел-мес делим на 22 рабочих дня в месяце:

Тобщ = 114,49 / 22 = 5,2 чел-мес.

Длительность разработки программного изделия t рассчитывается по формуле (3.8), мес:

t = 2,5 × (5,2)0,32 = 4,23 мес.

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


Чn = Tобщ / t = 5,2 / 4,23 = 1 чел.


Расчет экономии от функционирования программного продукта.

Расчет экономии, получаемой в результате повышения качества нового продукта и его потребительских свойств:


П2 = Сспец · tЗ · NЗ - (Сспец +См)· tЗ · NЗ = 170 × 3 × 1100 - (170 + 40) × 0,05 × ?3600 = 523200 тг.


Определим сокращение длительности автоматизируемого процесса по формуле:

лет

Расчет годовой экономии производится по формуле (3.10):

Пг = 523200 · (1 + 0,15 · 0,49) = 561655,2 тг.

Расчет единовременных затрат на создание и внедрение программного продукта, по формуле (3.11):

Причем Кк = 0, т.к. используется старая ВТ,


К = КП = Косн.зп. + Кдоп.зп. + Кпр


Косн.зп. = 35000 × 5,2 = 182000 тг.

Кдоп.зп. = 0,2 × 182000 = 36400 тг.

Кпр включают расходы на машинное время (т.к. продолжительность разработки программного продукта составляет 4,23 месяцев, на разработку, отладку и тестирование программного продукта с использованием вычислительной техники приходится порядка шести месяцев: берется в месяце 22 рабочих дня по 8 часов).


Тмаш = t × 22 × 8 = 4 × 22 × 8 = 704 час.


Кпр = 3 ? 704 × 40 = 84480 тг.

К = 182000 + 36400 + 84480 = 302880 тг.

Расчет текущих затрат. Расчет годовых текущих затрат производится по формуле (3.17):

Исист = 6650 тг

Иi= (100 + 40) × 0,05 = 7 тг.

Иг = 6650 + 7 × 3600 = 31850 тг.

Суммарные текущие затраты на функционирование программного продукта за 5 лет с приведением к расчетному году (первому году функционирования программного продукта) по формуле (3.18):

И = 31850 · (1,0 + 0,91 + 0,83 + 0,75 + 0,68 + 0,62) = 152561,5 тг.

Расчет суммарных затрат за год на создание, внедрение и функционирование программного изделия по формуле (3.19):


Зг = К + Иг = 302880 + 31850 = 334730 тг.


Расчет экономии от функционирования программного продукта за 5 лет по формуле (3.22):

По = 561655,2 × (1,0 + 0,91 + 0,83 + 0,75 + 0,68 + 0,62) = 2690328,4 тг.

Расчет суммарных затрат на создание и 5-ти летнее функционирование программного продукта по формуле (3.23):


Зо = К + И = 302880 + 152561,5 = 455441,5 тг.


Годовой экономический эффект по формуле (3.20) будет равен:


Эг = П - ИГ = 561655,2 - 31850 = 529805,2 тг.


Экономический эффект за 5 лет по формуле (3.21) равен:

Э = 2690328,4 - 455441,5 = 2234886,9 тг.

Коэффициент экономической эффективности единовременных затрат, по формуле (3.24):

Ек= (561655,2 - 31850) / 302880 = 1,74

Cрок окупаемости, по формуле (3.25):

Т = 1 / 1,74 = 0,57 года.

Для расчета цены программного продукта необходимо определить фонд заработной платы. Фонд заработной платы, состоит из основной Косн и дополнительной заработной платы разработчиков Кдоп (20% от основной зар.платы).

Фзп = 182000 + 0,2 × 182000 = 218400 тг.

Для расчета цены необходимо определить расчетный уровень прибыли (норматив рентабельности), по формуле (3.28): примем Руп = 90 %, Рп = 5 % к Фзп, тогда уровень прибыли будет равен:

Уп = 0,9 + 0,05 = 0,95

Определим нормативную прибыль, по формуле (3.27):

Пн = 0,95 × 218400 = 207480 тг.

Поскольку годовой экономический эффект от применения ПП составляет отрицательную величину, то надбавку к цене за эффективность не рассчитываем. Таким образом, договорная цена ПП по формуле (3.26) составит:

Цпп = С + Пн = 302880 + 207480 = 510360 тг.

Расчет эффективности показывает, что информационная выгодна в экономическом отношении, так как коэффициент экономической эффективности единовременных затрат ЕК = 1,74 превышает норматив эффективности капитальных вложений ЕН, который принимается равным 0,15 для всех отраслей народного хозяйства. В первый год эксплуатации аналитической системы экономический эффект является равен 529805,2, за пять лет функционирования системы экономический эффект составит 2234886,9 тенге. Средства, вложенные на разработку программного обеспечения, а именно 302880 тенге, окупятся менее чем за 0,57 года его функционирования.

4. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ ПРОЕКТА


4.1 Общие положения по безопасности проекта

информация кодирование программный файл

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

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

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

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

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

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

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

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

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

Опасным называется производственный фактор, воздействие которого на работающего в определенных условиях приводит к внезапному ухудшению здоровья. Если производственный фактор вызывает заболевание или снижает работоспособность, то его считают вредным (ГОСТ 12.0.002-80). В зависимости от уровня продолжительности воздействия вредный фактор может стать опасным.

В ГОСТ 12.0.003-74 "ССБТ. Опасные и вредные производственные факторы. Классификация" приводится классификация элементов условий труда, выступающих в роли опасных и вредных производственных факторов. Они подразделяются на четыре группы: физические, химические, биологические, психофизиологические.

При работе с ЭВМ мы сталкиваемся, в основном, с физическими и психофизиологическими - опасными и вредными производственными факторами. Биологические и химические - опасные факторы при этой работе не встречаются.

К физическим - опасным производственным факторам при работе с ЭВМ, можно отнести:

-электромагнитные излучения;

-повышенная напряженность электрических и магнитных полей;

-повышенная запыленность воздуха в рабочей зоне;

-повышенная температура воздуха в рабочей зоне;

-повышенный уровень шума на рабочем месте;

-недостаток или отсутствие естественного света;

-неправильное размещение источников искусственного освещения.

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

Рентгеновское излучение генерируется в результате торможения электронов в слое люминофора на поверхности экрана монитора. При ускоряющем анодном напряжении менее 25 кВ энергия рентгеновского излучения полностью поглощается стеклом экрана.

Электростатический потенциал вне монитора появляется вследствие высокого напряжения в электронно-лучевой трубке (ЭЛТ), а его природа аналогична электрическому полю кинескопа обычного телевизора. Напряжение, возникающее на теле человека, может достигать нескольких киловольт; его величина зависит от одежды, от влажности окружающего воздуха. При длительной работе с компьютером под воздействием заряженных частиц на теле человека может появиться аллергическая сыпь.

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


4.2 Безопасность, эргономика и техническая эстетика рабочего места инженера-программиста


Эргономическая безопасность персонального компьютера может быть охарактеризована следующими требованиями:

-к визуальным параметрам средств отображения информации индивидуального пользования (мониторы);

-к эмиссионным параметрам ПК - параметрам излучений дисплеев, системных блоков, источников питания и др.

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

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

Если при работе на ПК необходимо одновременно пользоваться документами, то следует иметь в виду, что зрительная работа с печатным текстом и с изображением на экране имеет принципиального отличия: изображение светится, мелькает, дрожит, состоит из дискретных элементов, менее контрастно. Снизить или устранить утомление можно только правильным выбором режима воспроизведения изображения на экране, источника освещения (местного или общего), расположения материалов (в целях уменьшения длины или частоты перевода взгляда).

Человек должен так организовать свое рабочее место, чтобы условия труда были комфортными и соответствовали требованиям СНиП:

-удобство рабочего места (ноги должны твердо опираться на пол; голова должна быть наклонена немного вниз; должна быть специальная подставка для ног);

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

-необходимый обзор (центр экрана монитора должен быть расположен чуть ниже уровня глаз; монитор должен отстоять от глаз человека на расстоянии 45-60 сантиметров; должна регулироваться яркость и контрастность изображения);

-рациональное расположение аппаратуры и ее органов управления и контроля (монитор должен быть расположен на расстоянии 60 сантиметров и более от монитора соседа; человек должен использовать держатель бумаги);

-достаточное освещение (внешнее освещение должно быть достаточным и равномерным; должна быть настольная лампа с регулируемым плафоном для дополнительного подсвета рабочей документации);

-нормальные условия в отношении шума и вибрации;

-нормальный температурный режим;

-нормальная влажность воздуха;

-необходимая вентиляция.

К рабочему месту инженера-программиста предъявляются следующие требования:

  1. Требования к параметрам микроклимата и воздушной среды (ГОСТ 12.1.005-88. Общие санитарно-гигиенические требования к воздуху рабочей зоны).

Оптимальные параметры микроклимата приведены в таблице 4.1.


Таблица 4.1

Оптимальные параметры микроклимата.

СезонТемпература воздуха, tºСОтносительная влажность, %Скорость движения воздуха,м/сХолодный и переходный (средне суточная температура меньше 10 ºС)22-2460-400.1Теплый (среднесуточная температура воздуха 10 ºС и выше)21-23 23-2460-40 60-400.1 0.2

  • Запылённость воздуха не должна превышать 0.75 мг/м3. На одного инженера - программиста должен приходиться объём помещения 15м3 при площади 4.5 м2 (без учёта проходов и оборудования). В течение трудового дня необходимо обеспечить воздухообмен помещения объёмом 25-50 м3, отвод влаги 350-500 г и тепла 50 кДж на каждый килограмм массы тела работающего.
  • Требования к уровню шума (ГОСТ 12.1.003-83. Шум).

Уровень шума для инженера - программиста составляет не более 50 дБ.

  1. Требования к освещенности;

Нормативное значение коэффициента естественного освещения (КЕО) при боковом освещении равно 1.3 %, освещённость при работе с экраном дисплея - 200 лк, при работе с экраном дисплея и документом - 300 лк.

  1. Требования безопасности к излучению от дисплея.

В стандарт Р 50948-96 и в СНиП включены требования и нормы на параметры излучений дисплеев (они соответствуют шведскому стандарту): напряженность электромагнитного поля в 50 сантиметрах вокруг дисплея по электрической составляющей равна 2.5 В/м.

Плотность магнитного потока в 50 сантиметрах вокруг дисплея составляет 250 нТл в диапазоне частот 5 Гц-2КГц; поверхностный электростатический потенциал составляет 500 В. Время работы за дисплеем не должно превышать 4-х часов в сутки.

  1. Требования эргономики и технической эстетики (ГОСТ 12.2.032-78. Рабочее место при выполнении работ сидя).

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

Рабочее место оператора ЭВМ состоит из монитора, системного блока, клавиатуры, мыши, принтера. Клавиатура должна быть расположена непосредственно перед оператором. Расстояние от глаз оператора до монитора должно составлять 0.5 - 0.7 м. На столе, на котором расположена ПЭВМ, должно оставаться место для наглядного, графического материала, для возможности работать с литературой, делать какие-либо пометки.

К размерам рабочего места предъявляются требования:

-высота рабочей поверхности 655 мм;

-высота сидения 420 мм (желательно регулируемого);

-расстояние от сидения до нижнего края рабочей поверхности 150мм;

-размеры пространства для ног 650x500x600.

  1. Требования к выполнению правил пожарной безопасности.

В случае пожара необходимо:

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

-по возможности вынести легковоспламеняющиеся, взрывоопасные материалы и наиболее ценные предметы;

-приступить к тушению пожара имеющимися средствами (огнетушитель, песок и т.д.);

-для тушения пожара в лаборатории предусмотрен огнетушитель химический воздушно-пенный ОХВП-10, установленный в легко доступном месте.

  1. Требования к электробезопасности.

Рассмотрим требования безопасности при работе с ЭВМ. Работа производится в лаборатории, где стоят точные приборы.

Следовательно, это подразделение можно отнести к 1 классу помещений по степени опасности поражения электрическим током. К 1 классу относятся помещения без повышенной опасности: сухие, беспыльные помещения с нормальной температурой воздуха, изолирующими (например, деревянными полами), не имеющими или имеющими очень мало заземленных предметов.

ГОСТ 12.2.007-75 подразделяет электрические изделия по способу защиты человека от поражения электрическим током на пять классов: 0, 01, 1, 2, 3.

ЭВМ можно отнести к классу 01, то есть, к изделиям, имеющим, по крайней мере, рабочую изоляцию, элемент для заземления и провод без заземляющей жилы для присоединения к источнику питания. При начале работы с ЭВМ необходимо проверить герметичность корпуса, не открыты ли токоведущие части. Убедиться в подключении заземляющего проводника к общей шине заземления, проверить его целостность. Если заземляющий проводник отключен, подключать его можно только при отключении машины от питающей сети. Для повышения безопасности работать можно с использованием резиновых ковриков.

Опасность поражения человека электрическим током определяется множеством факторов:

-индивидуальные особенности людей;

-продолжительность воздействия тока на организм человека;

-путь тока в теле человека;

-род и частота тока.

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

Каждому работающему в лаборатории следует помнить:

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

-с неисправным оборудованием не работать;

-не загромождать рабочее место посторонними предметами;

-держать свободными проходы между рабочими местами и проход к силовому рубильнику;

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

При поражении электрическим током следует:

-освободить пострадавшего от воздействия электрического тока;оказать доврачебную помощь;

-вызвать врача.

4.3 Создание условий для организации режима труда и отдыха при работе с ЭВМ


Режимы труда и отдыха при работе с ПЭВМ организовываются в зависимости от вида и категории трудовой деятельности.

Виды трудовой деятельности разделяются на 3 категории тяжести и напряженности, каждая из которых подразделяется на 3 группы:

-группа А - работа по считыванию информации с экрана ПЭВМ с предварительным запросом;

-группа Б - работа по вводу информации;

-группа В - творческая работа в режиме диалога с ПЭВМ.

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

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

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

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

Для 8-часовой рабочей смены при работе с ПЭВМ регламентированные перерывы рекомендуется установить:

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

-для 2 категории работ - через 2 часа от начала рабочей смены и через 1.5-2 часа после обеденного перерыва продолжительностью 15 минут каждый или через каждый час работы продолжительностью 10 минут каждый;

-для 1 категории работ через 1.5-2 часа от начала рабочей и через 1.5-2 часа после обеденного перерыва продолжительностью 20 минут каждый или через каждый час работы продолжительностью 15 минут каждый.

При работе с ПЭВМ в ночную смену (с 22 до 6 часов) независимо от вида и категории трудовой деятельности, продолжительность регламентированных перерывов увеличивается на 60 минут.

При 12-часовой рабочей смене регламентированные перерывы рекомендуется установить в первые 8 часов работы аналогично перерывам при 8-часовой рабочей смене, а в течение последних 4 часов, независимо от вида и категории трудовой деятельности, каждый час работы продолжительностью 15 минут.

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

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

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


4.4 Экологичность проекта


Человек оказался в ловушке противоречия между своей консервативной биологической сущностью и нарастающим отчуждением от природы. Используя изобретенные им технологии и средства жизнеобеспечения, человек в большей мере освободился от давления естественного отбора и межвидовой конкуренции. Он на несколько порядков превысил биологическую видовую численность и еще в десятки раз - объем использования веществ и энергии для удовлетворения надбиологических потребностей [12].

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

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

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

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

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

Экологические проблемы человечества тесно сопряжены с экономическими и социальными проблемами. Региональные экологические проблемы часто становятся прямым источником имущественного неравенства, социальных и геополитических коллизий [13].

Перечень проблем, рассмотренные выше, позволяют понять многообразие задач экологии. Важнейшие общие задачи современной экологии в ее широком понимании это:

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

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

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

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

Формирование такой стратегии поведения человеческого общества, такой экономики и таких технологий, которые приведут масштабы и характер хозяйственной деятельности в соответствие с экологической выносливостью природы и остановят глобальный экологический кризис [13].

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

Охрана окружающей природной среды складывается из:

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

-материального стимулирования природоохранной деятельности, стремящегося сделать её экономически выгодной для предприятий;

-инженерной охраны, разрабатывающей природоохранную и ресурсосберегающую технологию и технику.

Охране подлежат следующие объекты:

-естественные экологические системы, озоновый слой атмосферы;

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

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

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

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

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

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

-стациально-деструкционное загрязнение (стация - место обитания популяции, деструкция - разрушение), представляющее собой изменение ландшафтов и экологических систем в процессе природопользования.

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

Существует два основных направления природоохранной деятельности предприятий. Первое - очистка вредных выбросов.

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

ЗАКЛЮЧЕНИЕ


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

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

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

. Была рассмотрена работа предприятия ТОО «Десятка».

. Разработана информационная модель системы.

. Разработана АИС, в среде 1С: Предприятие 8.0.

. Внедрена АИС, в среде 1С: Предприятие 8.0.

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

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

Таким образом, можно сделать вывод, что разработка и внедрение данной системы прошла успешно.

СПИСОК ЛИТЕРАТУРЫ


1.Габец А. П., Гончаров Д. И., Козырев Д. В., Кухлевский Д. С., Радченко М. Г. «Профессиональная разработка в системе 1С:Предприятие 8» - М.: 1С-Паблишинг, 2007. - 808 с.: ил.

2.1С:Предприятие - Советы - #"justify">.Описание системы 1С:Предприятие 8.0 - #"justify">.Основы коммерческой деятельности: Учебное пособие - #"justify">.Оформление торговых операций - #"justify">.Организация, технология и проектирование торговых предприятий: Учебное пособие - #"justify">.Положение о документах и документообороте в Российской Федерации - #"justify">.Сборник типовых договоров - #"justify">.Технологическая платформа "1С:Предприятие 8.0" - направления развития - #"justify">.Цены и ценообразование: Учебное пособие - #"justify">.Телефонизация России: Отрасль связи и информации - #"justify">.Управление организацией - #"justify">.Экономика предприятия торговли и сферы услуг: Уч. Пособие - #"justify">.Экономика. Учебник по курсу Экономическая теория. - #"justify">ПРИЛОЖЕНИЕ А


Листинг кода

Процедура ПриНачалеРаботыСистемы(Отказ)

Обработки.ОбработкаФормыСпр.ПолучитьФорму("ЗагрузкаФорма").Открыть();

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

РаботаСДокументами

Процедура РассчитатьСумму(СтрокаТабличнойЧасти)Экспорт

СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;

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

РаботаСоСправочниками

Функция РозничнаяЦена(ЭлементНоменклатуры) Экспорт

Отбор = Новый Структура("Номенклатура",ЭлементНоменклатуры);

ЦенаМатериала = Справочники.Номенклатура.НайтиПоНаименованию("Отбор");

Возврат ЦенаМатериала.Цена;

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

ОбщегоНазначения

// Определяет заполнено ли переданное значение

//

// Параметры:

// Значение - значение, заполенение которого надо проверить

//

// Возвращаемое значение:

// Истина - значение не заполнено, ложь - иначе.

//

Функция ЗначениеНеЗаполнено(Значение) Экспорт

Результат = Ложь;

ТипЗначения = ТипЗнч(Значение);

// Сначала примитивные типы

Если Значение = Неопределено Тогда

Результат = Истина;

ИначеЕсли Значение = NULL Тогда

Результат = Истина;

ИначеЕсли ТипЗначения = Тип("Строка") Тогда

Если СокрЛП(Значение) = "" Тогда

Результат = Истина;

КонецЕсли;

ИначеЕсли ТипЗначения = Тип("Число") Тогда

Если Значение = 0 Тогда

Результат = Истина;

КонецЕсли;

ИначеЕсли ТипЗначения = Тип("Дата") Тогда

Если Значение = Дата('00010101') Тогда

Результат = Истина;

КонецЕсли;

ИначеЕсли ТипЗначения = Тип("Булево") Тогда

Результат = Ложь; // Булево будем считать не пустым

//Отдельное определение, так как конструкторов данного типа не существует

ИначеЕсли ТипЗначения = Тип("РежимПроведенияДокумента") Тогда

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

Результат = Ложь;

КонецЕсли;

// Для остальных будем считать значение пустым, если оно равно

// дефолтному значению своего типа

Иначе

Если Значение = Новый(ТипЗначения) Тогда

Результат = Истина;

КонецЕсли;

КонецЕсли;

Возврат Результат;

КонецФункции // ЗначениеНеЗаполнено()

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

//

// Параметры:

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

// ЭлементФормы - элемент формы документа, который надо заполнить;

// СтандартнаяОбработка, - булево, признак выполнения стандартной (системной) обработки события

// начала выбора для данного элемента формы документа.

//

Процедура НачалоВыбораЗначенияСпецификации(Номенклатура, ЭлементФормы, СтандартнаяОбработка) Экспорт

СтандартнаяОбработка = Ложь;

ФормаВыбораСпецификации = Справочники.СпецификацииНоменклатуры.ПолучитьФормуВыбора(, ЭлементФормы);

ФормаВыбораСпецификации.Отбор.СпецификацииИзделийПоНоменклатуре.ВидСравнения = ВидСравнения.Равно;

ФормаВыбораСпецификации.Отбор.СпецификацииИзделийПоНоменклатуре.Значение = Номенклатура;

ФормаВыбораСпецификации.Отбор.СпецификацииИзделийПоНоменклатуре.Использование = Истина;

ФормаВыбораСпецификации.РежимВыбора = Истина;

ФормаВыбораСпецификации.ПараметрВыборГруппИЭлементов = ЭлементФормы.ВыборГруппИЭлементов;

Если Не ЗначениеНеЗаполнено(ЭлементФормы.Значение) Тогда

ФормаВыбораСпецификации.ПараметрТекущаяСтрока = ЭлементФормы.Значение;

КонецЕсли;

ФормаВыбораСпецификации.Открыть();

КонецПроцедуры // НачалоВыбораЗначенияСпецификации()

Процедура ЕдинИзмНажатие(Элемент)

ФормаСправочников = Справочники.Номенклатура.ПолучитьФормуСписка();

ФормаСправочников.Открыть();

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

Процедура ПроцентПриИзменении(Элемент)

РознЦена = Цена*(Процент/100+1);

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

Процедура Печать1(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать1)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Номенклатура.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Выборка = Справочники.Номенклатура.ВыбратьИерархически();

Пока Выборка.Следующий() = Истина Цикл

Объект = Выборка.ПолучитьОбъект();

Если Объект.ЭтоГруппа = Истина Тогда

Область = Макет.ПолучитьОбласть("Группа");

Область.Параметры.Код = Объект.Код;

Область.Параметры.Наименование = Объект.Наименование;

ТабДок.Вывести(Область);

Иначе

Область = Макет.ПолучитьОбласть("Элемент");

Область.Параметры.Код = Объект.Код;

Область.Параметры.Шифр = Объект.Шифр;

Область.Параметры.Наименование = Объект.Наименование;

Область.Параметры.ЕдИзм = Объект.ЕдИзм;

Область.Параметры.Остаток = Объект.Остаток;

Область.Параметры.Процент = Объект.Процент;

Область.Параметры.Цена = Объект.Цена;

Область.Параметры.РознЦена = Объект.РознЦена;

ТабДок.Вывести(Область);

КонецЕсли;

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

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

Процедура СправочникСписокПриАктивизацииСтроки(Элемент)

ЭлементыФормы.СправочникДерево.ТекущаяСтрока = ЭлементыФормы.СправочникСписок.ТекущийРодитель;

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

Процедура СписокПриАктивизацииСтроки(Элемент)

ЭлементыФормы.СправочникДерево.ТекущаяСтрока = ЭлементыФормы.СправочникСписок.ТекущийРодитель;

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

///////////////////////////////////////////////////////////////////////////////

// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ВНЕШНИМ ВИДОМ ФОРМЫ

// Процедура управляет доступностью/видимостью элементов формы

//

Процедура ДоступностьЭлементовФормы(СтрокаТЧ, ФормаТЧ)

Если СтрокаТЧ = Неопределено Тогда

Возврат;

КонецЕсли;

//Если НЕ ЗначениеНеЗаполнено(СтрокаТЧ.Номенклатура) Тогда

////КолонкаХарактеристикаНоменклатуры = ФормаТЧ.Колонки.ХарактеристикаНоменклатуры;

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

//Если СтрокаТЧ.Номенклатура.ВестиУчетПоХарактеристикам

// ИЛИ НЕ ЗначениеНеЗаполнено(СтрокаТЧ.ХарактеристикаНоменклатуры) Тогда

//КолонкаХарактеристикаНоменклатуры.Доступность = Истина;

//Иначе

//КолонкаХарактеристикаНоменклатуры.Доступность = Ложь;

//КонецЕсли;

//Иначе

//КолонкаХарактеристикаНоменклатуры.Доступность = Ложь;

//КонецЕсли;

//КонецЕсли;

КонецПроцедуры // ДоступностьЭлементовФормы()

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

ЭлементыФормы.ДатаУтверждения.Видимость = (Состояние = Перечисления.СостоянияОбъектов.Утвержден);

ЭлементыФормы.НадписьДатаУтверждения.Видимость = (Состояние = Перечисления.СостоянияОбъектов.Утвержден);

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

Процедура СостояниеПриИзменении(Элемент)

Если Состояние = Перечисления.СостоянияОбъектов.Утвержден Тогда

ДатаУтверждения = РабочаяДата;

Иначе

ДатаУтверждения = Неопределено;

КонецЕсли;

ЭлементыФормы.ДатаУтверждения.Видимость = (Состояние = Перечисления.СостоянияОбъектов.Утвержден);

ЭлементыФормы.НадписьДатаУтверждения.Видимость = (Состояние = Перечисления.СостоянияОбъектов.Утвержден);

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

///////////////////////////////////////////////////////////////////////////////

// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ РЕКВИЗИТОВ ТЧ ИСХОДНЫЕ КОМПЛЕКТУЮЩИЕ

// Процедура - обработчик события "ПриАктивизацииСтроки" табличной части "Исходные комплектующие".

//

Процедура ИсходныеКомплектующиеПриАктивизацииСтроки(Элемент)

ДоступностьЭлементовФормы(Элемент.ТекущиеДанные, ЭлементыФормы.ИсходныеКомплектующие);

КонецПроцедуры // ИсходныеКомплектующиеПриАктивизацииСтроки()

// Процедура - обработчик события "ПриНачалеРедактирования" табличной части "Исходные комплектующие".

//

Процедура ИсходныеКомплектующиеПриНачалеРедактирования(Элемент, НоваяСтрока)

ДоступностьЭлементовФормы(Элемент.ТекущиеДанные, ЭлементыФормы.ИсходныеКомплектующие);

КонецПроцедуры // ИсходныеКомплектующиеПриНачалеРедактирования()

// Процедура - обработчик события "ПриИзменении" вида норматива табличной части "Исходные комплектующие".

//

//Процедура ИсходныеКомплектующиеВидНормативаПриИзменении(Элемент)

//

//Если Элемент.Значение = Перечисления.ВидыНормативовНоменклатуры.Комплектующая Тогда

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

//Иначе

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

//КонецЕсли;

//

//Если ТипЗнч(ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные.Номенклатура) <> ТипЗнч(ПустаяНоменклатура) Тогда

//ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные.Номенклатура = ПустаяНоменклатура;

//ИсходныеКомплектующиеНоменклатураПриИзменении(Элемент);

//КонецЕсли;

//

//КонецПроцедуры // ИсходныеКомплектующиеВидНормативаПриИзменении()


// Процедура - обработчик события "ПриИзменении" номенклатуры табличной части "Исходные комплектующие".

//

Процедура ИсходныеКомплектующиеНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные;

Если СтрокаТабличнойЧасти.Номенклатура <> СтрокаТабличнойЧасти.ЕдиницаИзмерения.Владелец Тогда

СтрокаТабличнойЧасти.ЕдиницаИзмерения = Неопределено;

КонецЕсли;

//Если ТипЗнч(СтрокаТабличнойЧасти.Номенклатура) = Тип("СправочникСсылка.Номенклатура")

// И НЕ ЗначениеНеЗаполнено(СтрокаТабличнойЧасти.Номенклатура) Тогда

//СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтрокаТабличнойЧасти.Номенклатура.ЕдиницаХраненияОстатков;

////СтрокаТабличнойЧасти.СтатьяЗатрат = СтрокаТабличнойЧасти.Номенклатура.СтатьяЗатрат;

//КонецЕсли;

ДоступностьЭлементовФормы(СтрокаТабличнойЧасти, ЭлементыФормы.ИсходныеКомплектующие);

КонецПроцедуры // ИсходныеКомплектующиеНоменклатураПриИзменении()

// Процедура - обработчик события "Очистка" номенклатуры табличной части "Исходные комплектующие".

//

//Процедура ИсходныеКомплектующиеНоменклатураОчистка(Элемент, СтандартнаяОбработка)

//

//Если ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные.ВидНорматива = Перечисления.ВидыНормативовНоменклатуры.Комплектующая Тогда

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

//Иначе

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

//КонецЕсли;

//

//ИсходныеКомплектующиеНоменклатураПриИзменении(Элемент);

//

//СтандартнаяОбработка = ЛОЖЬ;

//

//КонецПроцедуры // ИсходныеКомплектующиеНоменклатураОчистка()

// Процедура - обработчик события "НачалоВыбора" единицы измерения табличной части "Исходные комплектующие".

//

Процедура ИсходныеКомплектующиеЕдиницаИзмеренияНачалоВыбора(Элемент, СтандартнаяОбработка)

Если ЗначениеНеЗаполнено(ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные.Номенклатура) Тогда

СтандартнаяОбработка = Ложь;

Возврат;

КонецЕсли;

КонецПроцедуры // ИсходныеКомплектующиеЕдиницаИзмеренияНачалоВыбора()

// Процедура - обработчик события "НачалоВыбораИзСписка" номера операции маршрута табличной части "Исходные комплектующие".

//

////////////////////////////////////////////////////////////////////////////////

// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ РЕКВИЗИТОВ ТЧ ВЫХОДНЫЕ ИЗДЕЛИЯ

// Процедура - обработчик события "ПриАктивизацииСтроки" табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияПриАктивизацииСтроки(Элемент)

ДоступностьЭлементовФормы(Элемент.ТекущиеДанные, ЭлементыФормы.ВыходныеИзделия);

КонецПроцедуры // ВыходныеИзделияПриАктивизацииСтроки()

// Процедура - обработчик события "ПриНачалеРедактирования" табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияПриНачалеРедактирования(Элемент, НоваяСтрока)

ДоступностьЭлементовФормы(Элемент.ТекущиеДанные, ЭлементыФормы.ВыходныеИзделия);

КонецПроцедуры // ВыходныеИзделияПриНачалеРедактирования()

// Процедура - обработчик события "ПриИзменении" номенклатуры табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ВыходныеИзделия.ТекущиеДанные;

//Если СтрокаТабличнойЧасти.Номенклатура <> СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры.Владелец Тогда

//СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Неопределено;

//КонецЕсли;

Если СтрокаТабличнойЧасти.Номенклатура <> СтрокаТабличнойЧасти.ЕдиницаИзмерения.Владелец Тогда

СтрокаТабличнойЧасти.ЕдиницаИзмерения = Неопределено;

КонецЕсли;

//Если НЕ ЗначениеНеЗаполнено(СтрокаТабличнойЧасти.Номенклатура) Тогда

//СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтрокаТабличнойЧасти.Номенклатура.ЕдиницаХраненияОстатков;

//КонецЕсли;

ДоступностьЭлементовФормы(СтрокаТабличнойЧасти, ЭлементыФормы.ВыходныеИзделия);

КонецПроцедуры // ВыходныеИзделияНоменклатураПриИзменении()

// Процедура - обработчик события "Очистка" номенклатуры табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияНоменклатураОчистка(Элемент, СтандартнаяОбработка)

ВыходныеИзделияНоменклатураПриИзменении(Элемент);

КонецПроцедуры // ВыходныеИзделияНоменклатураОчистка()

// Процедура - обработчик события "НачалоВыбора" единицы измерения табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияЕдиницаИзмеренияНачалоВыбора(Элемент, СтандартнаяОбработка)

Если ЗначениеНеЗаполнено(ЭлементыФормы.ВыходныеИзделия.ТекущиеДанные.Номенклатура) Тогда

СтандартнаяОбработка = Ложь;

Возврат;

КонецЕсли;

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

// Процедура - обработчик события ПриЗакрытии

//

Процедура ПриЗакрытии()

Параметры = Новый Структура;

Параметры.Вставить("ЗапрашиватьКоличество", ЗапрашиватьКоличество);

СохранитьЗначение("СпецификацииНоменклатуры_ФормаПодбора_Параметры", Параметры);

КонецПроцедуры // ПриЗакрытии()

// Процедура - обработчик события ПриОткрытии

//

Процедура ПриОткрытии()

Параметры = ВосстановитьЗначение("СпецификацииНоменклатуры_ФормаПодбора_Параметры");

Если Не Параметры = Неопределено Тогда

Если Параметры.Свойство("ЗапрашиватьКоличество") Тогда

ЗапрашиватьКоличество = Параметры.ЗапрашиватьКоличество;

Иначе

ЗапрашиватьКоличество = Истина;

КонецЕсли;

Иначе

ЗапрашиватьКоличество = Истина;

КонецЕсли;

КонецПроцедуры // ПриЗакрытии()

// Процедура - обработчик события ВыборЗначения

//

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

СтандартнаяОбработка = ЛОжь;

Параметры = Новый Структура;

Параметры.Вставить("Спецификация", Значение[0]);

Количество = 1;

Если ЗапрашиватьКоличество Тогда

Если Не ВвестиЧисло(Количество, "Укажите количество", 15, 3) Тогда

Возврат;

КонецЕсли;

КонецЕсли;

Параметры.Вставить("Количество", Количество);

ОповеститьОВыборе(Параметры);

КонецПроцедуры // СправочникСписокВыборЗначения()

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Номенклатура.Цена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

МатериалыКоличествоПриИзменении(Элемент);

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

Отчеты.ОтстаткиМатериалов.ПолучитьФорму().Открыть();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "КС-";

УстановитьНовыйНомер(ПрефиксНомера);

ЭлементыФормы.НаимПрих.Значение="ПН-"+1+"/"+ЭлементыФормы.Номер.Значение;

КонецЕсли;

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

Процедура ОсновныеДействияФормыПечать(Кнопка)

Печать();

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

Процедура Кнопка1Нажатие(Элемент)

ФормаДокумента = Документы.ПриходнаяНакладная.ПолучитьФормуНовогоДокумента();

ФормаДокумента.Открыть();

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

Процедура Кнопка2Нажатие(Элемент)

ФормаЖурнала = ЖурналыДокументов.ЖурналПриходная.ПолучитьФорму();

ФормаЖурнала.Открыть();

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

Процедура Кнопка1Нажатие(Элемент)

ФормаДокумента = Документы.РасходнаяНакладная.ПолучитьФормуНовогоДокумента();

ФормаДокумента.Открыть();

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

Процедура Кнопка2Нажатие(Элемент)

ФормаЖурнала = ЖурналыДокументов.ЖурналРасходная.ПолучитьФорму();

ФормаЖурнала.Открыть();

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

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.МатериалыТТН.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Номенклатура.РознЦена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

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

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

"ВЫБРАТЬ

|ОстаткиМатериаловПТООбороты.Материал,

|ОстаткиМатериаловПТООбороты.КоличествоПриход,

|ОстаткиМатериаловПТООбороты.КоличествоРасход

|ИЗ

|РегистрНакопления.ОстаткиМатериаловПТО.Обороты КАК ОстаткиМатериаловПТООбороты";

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

Пока ВыборкаРезультатаЗапроса.Следующий() Цикл

Если ВыборкаРезультатаЗапроса.Материал = СтрокаТабличнойЧасти.Номенклатура Тогда

СтрокаТабличнойЧасти.КоличествоОст = ВыборкаРезультатаЗапроса.КоличествоПриход-

ВыборкаРезультатаЗапроса.КоличествоРасход;

КонецЕсли;

КонецЦикла;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.МатериалыТТН.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

ТТН();

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

Процедура ОсновныеДействияФормыЗаявкаВМагазин(Кнопка)

Документы.ЗаявкаВМагазин.ПолучитьФормуНовогоДокумента().Открыть();

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

Процедура ОсновныеДействияФормыОстатки(Кнопка)

Отчеты.ОтстаткиМатериалов.ПолучитьФорму().Открыть();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "РСКС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

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

Функция ПроверитьТЧ ()

СтрокаТабЧасти = ЭлементыФормы.МатериалыТТН.ТекущиеДанные;

флагЗаписи = Истина;

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

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

"ВЫБРАТЬ РАЗЛИЧНЫЕ

|ОстаткиМатериаловПТООстаткиИОбороты.Материал КАК Материал,

|ОстаткиМатериаловПТООстаткиИОбороты.КоличествоКонечныйОстаток КАК Остаток

|ИЗ

|РегистрНакопления.ОстаткиМатериаловПТО.ОстаткиИОбороты КАК ОстаткиМатериаловПТООстаткиИОбороты

|ИТОГИ

|СУММА(Остаток)

|ПО

|Материал";

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

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

Для каждого СтрокаТЗ Из ТЗ Цикл

Если СтрокаТабЧасти.Номенклатура = СтрокаТЗ.Материал Тогда

Если СтрокаТабЧасти.Количество < СтрокаТЗ.Остаток Тогда

Продолжить;

Иначе

флагЗаписи = Ложь;

Сообщить("На складе " + СтрокаТЗ.Материал+ "осталось: "+СтрокаТЗ.Остаток);

Прервать;

КонецЕсли;

КонецЕсли;

КонецЦикла;

Возврат флагЗаписи

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

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

ВсеВпорядке = ПроверитьТЧ ();

Если ДопСоглашение.Пустая() или Объект.Пустая() Тогда

Предупреждение("Не заполненны значения дополнительного соглашения и наименование объекта");

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

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

Иначе

//Отказ=Ложь;

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

КонецЕсли;

Если ВсеВпорядке = Ложь тогда

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

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

иначе

Отказ =Ложь;

КонецЕсли;

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

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.РасходнаяНакладная.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

Область.Параметры.Номер = Номер;

Область.Параметры.Дата = Дата;

Область.Параметры.НомерДоговора = НомерДоговора;

Область.Параметры.Объект = Объект;

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Подрядчик = Подрядчик;

Область.Параметры.НаименованиеРабот = НаименованиеРабот;

ТабДок.Вывести(Область);

// МатериалыТТН

Область = Макет.ПолучитьОбласть("МатериалыТТНШапка");

ТабДок.Вывести(Область);

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

Область = Макет.ПолучитьОбласть("МатериалыТТН");

Область.Параметры.Номенклатура = ТекСтрокаМатериалыТТН.Номенклатура;

Область.Параметры.ЕдИзм = ТекСтрокаМатериалыТТН.ЕдИзм;

Область.Параметры.Количество = ТекСтрокаМатериалыТТН.Количество;

Область.Параметры.Цена = ТекСтрокаМатериалыТТН.Цена;

Область.Параметры.Сумма = ТекСтрокаМатериалыТТН.Сумма;

ТабДок.Вывести(Область);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ

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

Процедура ОсновныеДействияФормыПечатьРасх(Кнопка)

МакетРасх = Документы.РасходнаяНакладная.ПолучитьМакет("Печать");

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.РасходнаяНакладная.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

Область.Параметры.Номер = Номер;

Область.Параметры.Дата = Дата;

Область.Параметры.НомерДоговора = НомерДоговора;

Область.Параметры.Объект = Объект;

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Подрядчик = Подрядчик;

Область.Параметры.НаименованиеРабот = НаименованиеРабот;

ТабДок.Вывести(Область);

// МатериалыТТН

Область = Макет.ПолучитьОбласть("МатериалыТТНШапка");

ТабДок.Вывести(Область);

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

Область = Макет.ПолучитьОбласть("МатериалыТТН");

Область.Параметры.Номенклатура = ТекСтрокаМатериалыТТН.Номенклатура;

Область.Параметры.ЕдИзм = ТекСтрокаМатериалыТТН.ЕдИзм;

Область.Параметры.Количество = ТекСтрокаМатериалыТТН.Количество;

Область.Параметры.Цена = ТекСтрокаМатериалыТТН.Цена;

Область.Параметры.Сумма = ТекСтрокаМатериалыТТН.Сумма;

ТабДок.Вывести(Область);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

Отчеты.ОтстаткиМатериалов.ПолучитьФорму().Открыть();

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

Процедура Заявка(Элемент)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.ЗаявкаВМагазин.ПолучитьМакет("Заявка");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

Область.Параметры.Заявка = Заявка;

Область.Параметры.Номер = Номер;

Область.Параметры.Дата = Дата;

Область.Параметры.Организация = Организация;

ТабДок.Вывести(Область);

// Материалы

Область = Макет.ПолучитьОбласть("МатериалыШапка");

ТабДок.Вывести(Область);

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

Область = Макет.ПолучитьОбласть("Материалы");

Область.Параметры.Номенклатура = ТекСтрокаМатериалы.Номенклатура;

Область.Параметры.ЕдИзм = ТекСтрокаМатериалы.ЕдИзм;

Область.Параметры.Количество = ТекСтрокаМатериалы.Количество;

ТабДок.Вывести(Область);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "СКСЗ-";

УстановитьНовыйНомер(ПрефиксНомера);

ЭлементыФормы.Заявка.Значение = "ЗМ-"+дата;

КонецЕсли;

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

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

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

"ВЫБРАТЬ

|ОстаткиМатериаловПТООбороты.Материал,

|ОстаткиМатериаловПТООбороты.КоличествоПриход,

|ОстаткиМатериаловПТООбороты.КоличествоРасход

|ИЗ

|РегистрНакопления.ОстаткиМатериаловПТО.Обороты КАК ОстаткиМатериаловПТООбороты";

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

Пока ВыборкаРезультатаЗапроса.Следующий() Цикл

Если ВыборкаРезультатаЗапроса.Материал = СтрокаТабличнойЧасти.Номенклатура Тогда

СтрокаТабличнойЧасти.Остаток = ВыборкаРезультатаЗапроса.КоличествоПриход-

ВыборкаРезультатаЗапроса.КоличествоРасход;

КонецЕсли;

КонецЦикла;

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

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ПлановыеМатериалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Номенклатура.РознЦена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

ПлановыеМатериалыЦенаПриИзменении(Элемент);

//СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

//Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

//СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

//КонецЕсли;

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

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

Подрядчик = Справочники.Контрагенты.НайтиПоКоду(4);

//СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если ДопСоглашение.Пустая() или Объект.Пустая() Тогда

Предупреждение("Не заполненны значения дополнительного соглашения и наименование объекта");

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

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

Иначе

//Отказ=Ложь;

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

КонецЕсли;

//Договор = НомерДоговора;

//ДопСогл = ДопСоглашение;

//Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

//НаклРасх = СтрокаТаблицыЗатраты.Всего * ПолеВводаПроцентНакл/100;

//СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход;

//КонецЕсли;

//СуммаПрописью = ЧислоПрописью(СуммаДок,,"тенге, тенге,тенге, м,тиин, тиин, тиин,м, 2");

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

Процедура ПлановыеМатериалыЦенаПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ПлановыеМатериалы.ТекущиеДанные;

//СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

СуммаМатериалов = ПлановыеМатериалы.Итог("Сумма");

//Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

//СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

//КонецЕсли;

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "ПСКС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

//СтрокаЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Договор = НомерДоговора;

ДопСогл = ДопСоглашение;

//СуммаМатериалов = ПлановыеМатериалы.Итог("Сумма");

//ТрансРасход = СуммаМатериалов * ПолеВводаПроцент/100;

Подрядчик = Справочники.Контрагенты.НайтиПоКоду(4);

ПолеВводаМашин = Машины.Итог("ВсегоМаш");

СуммаРабот = ДопРаботы.Итог("Стоимость");

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

Процедура ЗатратыСметПотребностьПриИзменении(Элемент)

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

СтрокаТаблицыЗатраты.Всего = СтрокаТаблицыЗатраты.СметПотребность*СтрокаТаблицыЗатраты.ТекущУровень;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

НаклРасх = СтрокаТаблицыЗатраты.Всего * ПолеВводаПроцентНакл/100;

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура ПолеВводаПроцентНаклПриИзменении(Элемент)

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

НаклРасх = СтрокаТаблицыЗатраты.Всего * ПолеВводаПроцентНакл/100;

//СметнаяПрибль = (СтрокаТаблицыЗатраты.Всего + НаклРасх + ПолеВводаМашин)*ПолеВводаПроцентСметн/100;

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

НорматТруд = НаклРасх * ПолеВводаПроцентНорм/100;

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

Процедура ПолеВводаПроцент2ПриИзменении(Элемент)

НорматТруд = НаклРасх * ПолеВводаПроцентНорм/100;

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

Процедура ПолеВводаПроцент3ПриИзменении(Элемент)

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

СметнаяПрибль = (СтрокаТаблицыЗатраты.Всего + НаклРасх + ПолеВводаМашин)*ПолеВводаПроцентСметн/100;

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура МашиныСметПотрМашПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Машины.ТекущиеДанные;

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

СтрокаТабличнойЧасти.ВсегоМаш = СтрокаТабличнойЧасти.СметПотрМаш*СтрокаТабличнойЧасти.ТекущУрМаш;

ПолеВводаМашин = Машины.Итог("ВсегоМаш");

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

СметнаяПрибль = (СтрокаТаблицыЗатраты.Всего + НаклРасх + ПолеВводаМашин)*ПолеВводаПроцентСметн/100;

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура МатериалыТТНПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)

СуммаМатериалов = ПлановыеМатериалы.Итог("Сумма");

ТрансРасход = СуммаМатериалов * ПолеВводаПроцент/100;

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

Процедура Панель1ПриСменеСтраницы(Элемент, ТекущаяСтраница)

СуммаМатериалов = ПлановыеМатериалы.Итог("Сумма");

ТрансРасход = СуммаМатериалов * ПолеВводаПроцент/100;

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

Процедура ПолеВводаПроцентПриИзменении(Элемент)

ТрансРасход = СуммаМатериалов * ПолеВводаПроцент/100;

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура ПлановоеКолвоМатер(Элемент)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.Плановые.ПолучитьМакет("ПлановоеКолвоМатер");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

Область.Параметры.Номер = Номер;

Область.Параметры.Дата = Дата;

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Объект = Объект;

Область.Параметры.Подрядчик = Подрядчик;

Область.Параметры.НомерДоговора = НомерДоговора;

Область.Параметры.ДопСоглашение = ДопСоглашение;

ТабДок.Вывести(Область);

// ПлановыеМатериалы

Область = Макет.ПолучитьОбласть("ПлановыеМатериалыШапка");

ТабДок.Вывести(Область);

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

Область = Макет.ПолучитьОбласть("ПлановыеМатериалы");

Область.Параметры.Номенклатура = ТекСтрокаПлановыеМатериалы.Номенклатура;

Область.Параметры.ЕдИзм = ТекСтрокаПлановыеМатериалы.ЕдИзм;

Область.Параметры.Количество = ТекСтрокаПлановыеМатериалы.Количество;

Область.Параметры.Цена = ТекСтрокаПлановыеМатериалы.Цена;

Область.Параметры.Сумма = ТекСтрокаПлановыеМатериалы.Сумма;

ТабДок.Вывести(Область);

КонецЦикла;

// Подвал

Область = Макет.ПолучитьОбласть("Подвал");

Область.Параметры.ТрансРасход = ТрансРасход;

Область.Параметры.СуммаМатериалов = СуммаМатериалов;

Область.Параметры.Заказчик1 = Заказчик;

Область.Параметры.Подрядчик1 = Подрядчик;

ТабДок.Вывести(Область);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ДЦ(Элемент)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.Плановые.ПолучитьМакет("ДЦ");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Подрядчик = Подрядчик;

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

Область.Параметры.Номер = Номер;

Область.Параметры.Дата = Дата;

Область.Параметры.Объект = Объект;

Область.Параметры.НомерДоговора = НомерДоговора;

Область.Параметры.ДопСоглашение = ДопСоглашение;

Область.Параметры.НаимРабот = НаименованиеРабот;

ТабДок.Вывести(Область);

// ШапкаДЦ

Область = Макет.ПолучитьОбласть("ШапкаДЦ");

ТабДок.Вывести(Область);

//ДЦ

Область = Макет.ПолучитьОбласть("ДЦ");

СтрокаЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

Область.Параметры.Затратыраб = СтрокаЗатраты.Всего;

Область.Параметры.НаклРасх = СтрокаЗатраты.Всего * ПолеВводаПроцентНакл/100;

КонецЕсли;

Область.Параметры.Затратымашин = Машины.Итог("ВсегоМаш");

Область.Параметры.СуммаЗатрат = Область.Параметры.Затратыраб+Область.Параметры.НаклРасх+ Область.Параметры.Затратымашин;

Область.Параметры.процент = ПолеВводаПроцентСметн;

Область.Параметры.СметнаяПрибль = Область.Параметры.СуммаЗатрат*ПолеВводаПроцентСметн/100;

Область.Параметры.СуммаДЗ = Область.Параметры.СуммаЗатрат+ Область.Параметры.СметнаяПрибль;

Область.Параметры.СуммаМТР = ПлановыеМатериалы.Итог("Сумма")*(ПолеВводаПроцент/100+1);

//Область.Параметры.СуммаДок = Область.Параметры.СуммаМТР+Область.Параметры.СуммаДЗ;

ТабДок.Вывести(Область);

//Дополнительные работы

Для Каждого ТекСтрокаДопРаботы Из ДопРаботы Цикл

Область = Макет.ПолучитьОбласть("ДопРаботы");

Область.Параметры.НаимДопРабот = ТекСтрокаДопРаботы.Наименование;

Область.Параметры.СуммаДопРабот = ТекСтрокаДопРаботы.Стоимость;

ТабДок.Вывести(Область);

КонецЦикла;

//Всего

Область = Макет.ПолучитьОбласть("Всего");

Область.Параметры.СуммаДок = СуммаДок;

ТабДок.Вывести(Область);

// Подвал

Область = Макет.ПолучитьОбласть("Подвал");

ТабДок.Вывести(Область);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ДопРаботыНаименованиеПриИзменении(Элемент)

СуммаРабот = ДопРаботы.Итог("Стоимость");

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура ОсновныеДействияФормыДействие2(Кнопка)

ДоговорМ = ПолучитьМакет("Макет");= ДоговорМ.Получить();

НаимЗаказ = Заказчик;

НаимПодр = Подрядчик;

НомерДог = Договор;

НаимРабот = НаименованиеРабот;

Попытка

Документ = MSWord.Application.Documents(1);

Документ.Activate();

Замена = Документ.Content.Find;

Замена.Execute("<НомерДог>",

Ложь,Истина,Ложь,,,Истина,,Ложь,НомерДог);

//Замена = Документ.Content.Find;

//Замена.Execute("<НаимЗаказ>",

//Ложь,Истина,Ложь,,,Истина,,Ложь,НаимЗаказ);

//Замена.Execute("<НаимПодр>",

//Ложь,Истина,Ложь,,,Истина,,Ложь,НаимПодр);

//Замена.Execute("<НаимРабот>",

//Ложь,Истина,Ложь,,,Истина,,Ложь,НаимРабот);

MSWord.Application.Visible = Истина;.Activate();

Исключение

Сообщить(ОписаниеОшибки());.Application.Quit();

КонецПопытки;

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

Процедура ОсновныеДействияФормыВыгрузка(Кнопка)

Режим = РежимДиалогаВыбораФайла.Сохранение;

ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);

//ДиалогВыбораФайла.ПроверятьСуществованиеФайла = Истина;

ДиалогВыбораФайла.МножественныйВыбор = Ложь;

ДиалогВыбораФайла.Заголовок = "Укажите путь к каталогу ";

ДиалогВыбораФайла.Каталог = "С:;

Если ДиалогВыбораФайла.Выбрать() Тогда

Путь = ДиалогВыбораФайла.Каталог;

КонецЕсли;

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

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

"ВЫБРАТЬ

|ПлановыеПлановыеМатериалы.Номенклатура,

|ПлановыеПлановыеМатериалы.ЕдИзм,

|ПлановыеПлановыеМатериалы.Количество,

|ПлановыеПлановыеМатериалы.Номенклатура.Шифр Как Шифр,

|Плановые.Номер

|ИЗ

|Документ.Плановые.ПлановыеМатериалы КАК ПлановыеПлановыеМатериалы

|ЛЕВОЕ СОЕДИНЕНИЕ Документ.Плановые КАК Плановые

|ПО ПлановыеПлановыеМатериалы.Ссылка = Плановые.Ссылка

|ГДЕ

|Плановые.Номер = &НомерДок";

Запрос.УстановитьПараметр("НомерДок", Номер);

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

Текст = Новый ТекстовыйДокумент;

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

Пока ВыборкаЗапроса.Следующий() Цикл

Стр=СтрЗаменить(ВыборкаЗапроса.Номенклатура,Символ(100),"%квч%");

Шифр=Строка(ВыборкаЗапроса.Шифр);

//ЕдИзмер=СтрЗаменить(ВыборкаЗапроса.ЕдИзм,Символ(100),"%квч%");

//Колво=СтрЗаменить(ВыборкаЗапроса.Количество,Символ(100),"%квч%");

ЕдИзмер=Строка(ВыборкаЗапроса.ЕдИзм);

Колво=Строка(ВыборкаЗапроса.Количество);

Текст.ДобавитьСтроку(Шифр+"'"+Колво+"'"+"'"+Стр+"'"+ЕдИзмер+"*");

КонецЦикла;

//Текст.Записать ("c:\plan.txt");

Текст.Записать (ДиалогВыбораФайла.ПолноеИмяФайла+".txt");

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

Процедура СчитываниеНажатие(Элемент)

СтрокаТЧ = ЭлементыФормы.ПлановыеМатериалы.ТекущиеДанные;

Док = ПолучитьCOMОбъект("C:\OlyaTsoy\Diplom\mater.xls");

КоличествоСтраниц = 1;

Для ТекНомер = 1 По КоличествоСтраниц Цикл

Заказчик=Док.Sheets(ТекНомер).Cells(1,1).Value;

Номенклатура = Док.Sheets(ТекНомер).Cells(2,2).Value;

Цена = Док.Sheets(ТекНомер).Cells(2,3).Value;

счСтроки = 3;

Сообщить(Строка(Номенклатура) + "-" + Строка(Цена));

Пока СокрЛП(Номенклатура) <> "" Цикл // можно использовать другой признак окончания данных на листе

Номенклатура = Док.Sheets(ТекНомер).Cells(СчСтроки,2).Value;

Цена = Док.Sheets(ТекНомер).Cells(СчСтроки,3).Value;

Сообщить(Строка(Номенклатура) + "-" + Строка(Цена));

счСтроки = счСтроки + 1;

КонецЦикла;

//СтрокаТЧ.Номенклатура = Номенклатура;

//СтрокаТЧ.Цена = Цена;

КонецЦикла;

Док.Application.Quit();

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

Процедура МашиныПослеУдаления(Элемент)

ПолеВводаМашин = Машины.Итог("ВсегоМаш");

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

Процедура НовГрафРабКнопкаНажатие(Элемент)

ФормаДокумента = Документы.ГрафикРабот.ПолучитьФормуНовогоДокумента();

ФормаДокумента.Открыть();

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

роцедура Кнопка2Нажатие(Элемент)

ФормаЖурнала = ЖурналыДокументов.ЖурналГрафикРабот.ПолучитьФорму();

ФормаЖурнала.Открыть();

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

Процедура ОсновныеДействияФормыДиаграмма(Кнопка)

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

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

"ВЫБРАТЬ

|ГрафикРабот.Дата,

|ГрафикРабот.Организация,

|ГрафикРабот.Заказчик,

|ГрафикРаботГрафик.ВидРабот,

|ГрафикРаботГрафик.Длительность,

|ГрафикРаботГрафик.ДатаНачала,

|ГрафикРаботГрафик.ДатаОкончания

|ИЗ

|Документ.ГрафикРабот.График КАК ГрафикРаботГрафик

|ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ГрафикРабот КАК ГрафикРабот

|ПО ГрафикРаботГрафик.Ссылка = ГрафикРабот.Ссылка

|ГДЕ

|ГрафикРабот.Номер = &Номер";

Запрос.УстановитьПараметр("Номер",Номер);

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

Диаграмма = ЭлементыФормы.ДиаграммаГанта;

Диаграмма.Обновление = Ложь;

Диаграмма.Очистить();

Диаграмма.ОтображатьЗаголовок = Ложь;

Пока ВыборкаРезультата.Следующий() Цикл

ТекущаяСерия = Диаграмма.УстановитьСерию("Планы работ", "Планы работ");

ТекущаяТочка = Диаграмма.УстановитьТочку(ВыборкаРезультата.ВидРабот,ВыборкаРезультата.ВидРабот);

ТекущееЗначение = Диаграмма.ПолучитьЗначение(ТекущаяТочка,ТекущаяСерия);

ТекущийИнтервал = ТекущееЗначение.Добавить();

ТекущийИнтервал.Начало = ВыборкаРезультата.ДатаНачала;

ТекущийИнтервал.Конец = ВыборкаРезультата.ДатаОкончания;

Неделя = 3600*24*7;

Выходные = 3600*48;

МаксимальнаяДата = ТекущийИнтервал.Начало+Неделя*4;

ТекДата = ТекущийИнтервал.Начало;

Пока ТекДата<=МаксимальнаяДата Цикл

Конец = НачалоНедели(ТекДата);

Начало=Конец-Выходные;

Диаграмма.ИнтервалыФона.Добавить(Начало,Конец);

ТекДата = ТекДата+Неделя;

КонецЦикла;

ТекущийИнтервал.Текст = ВыборкаРезультата.Организация;

КонецЦикла;

Диаграмма.Обновление = Истина;

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

Процедура ГрафикТрудоёмкостьПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.График.ТекущиеДанные;

СтрокаТабличнойЧасти.Длительность = СтрокаТабличнойЧасти.Трудоёмкость/КоличествоЧеловек/8;

СтрокаТабличнойЧасти.ДатаОкончания = КонецДня(Дата(СтрокаТабличнойЧасти.ДатаНачала + (СтрокаТабличнойЧасти.Длительность*86400)));

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

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

Организация = Справочники.Контрагенты.НайтиПоКоду(4);

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "ГрСКС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

ОбщаяДлит = График.Итог("Длительность");

СуммаПрописью = ЧислоПрописью(ОбщаяДлит,,"день, дня, дней, 2");

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

Процедура СформироватьОтчет(ДиаграммаГанта) Экспорт

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

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

"ВЫБРАТЬ

|ГрафикРабот.Дата,

|ГрафикРабот.Организация,

|ГрафикРабот.Заказчик,

|ГрафикРаботГрафик.ВидРабот,

|ГрафикРаботГрафик.Длительность,

|ГрафикРаботГрафик.ДатаНачала,

|ГрафикРаботГрафик.ДатаОкончания

|ИЗ

|Документ.ГрафикРабот.График КАК ГрафикРаботГрафик

|ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ГрафикРабот КАК ГрафикРабот

|ПО ГрафикРаботГрафик.Ссылка = ГрафикРабот.Ссылка";

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

//Диаграмма = ЭлементыФормы.ДиаграммаГанта1;

ДиаграммаГанта.Обновление = Ложь;

ДиаграммаГанта.Очистить();

ДиаграммаГанта.ОтображатьЗаголовок = Ложь;

Пока ВыборкаРезультата.Следующий() Цикл

ТекущаяСерия = ДиаграммаГанта.УстановитьСерию("Планы работ", "Планы работ");

ТекущаяТочка = ДиаграммаГанта.УстановитьТочку(ВыборкаРезультата.ВидРабот,ВыборкаРезультата.ВидРабот);

ТекущееЗначение = ДиаграммаГанта.ПолучитьЗначение(ТекущаяТочка,ТекущаяСерия);

ТекущийИнтервал = ТекущееЗначение.Добавить();

ТекущийИнтервал.Начало = ВыборкаРезультата.ДатаНачала;

ТекущийИнтервал.Конец = ВыборкаРезультата.ДатаОкончания;

ТекущийИнтервал.Текст = ВыборкаРезультата.Организация;

КонецЦикла;

ДиаграммаГанта.Обновление = Истина;

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

Процедура Печать(Элемент)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.ГрафикРабот.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

Область.Параметры.Номер = Номер;

Область.Параметры.Дата = Дата;

Область.Параметры.Организация = Организация;

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.КоличествоЧеловек = КоличествоЧеловек;

Область.Параметры.ОбщаяДлит = ОбщаяДлит;

Область.Параметры.Договор = Договор;

Область.Параметры.Соглашение = Соглашение;

Область.Параметры.Объект = Объект;

Область.Параметры.НаимРабот = НаименованиеРабот;

ТабДок.Вывести(Область);

// График

Область = Макет.ПолучитьОбласть("ГрафикШапка");

ТабДок.Вывести(Область);

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

Область = Макет.ПолучитьОбласть("График");

Область.Параметры.ВидРабот = ТекСтрокаГрафик.ВидРабот;

Область.Параметры.Длительность = ТекСтрокаГрафик.Длительность;

Область.Параметры.ДатаНачала = ТекСтрокаГрафик.ДатаНачала;

Область.Параметры.ДатаОкончания = ТекСтрокаГрафик.ДатаОкончания;

Область.Параметры.Трудоёмкость = ТекСтрокаГрафик.Трудоёмкость;

ТабДок.Вывести(Область);

КонецЦикла;

// Подвал

Область = Макет.ПолучитьОбласть("Подвал");

Область.Параметры.Заказчик1 = Заказчик;

Область.Параметры.Организация1 = Организация;

ТабДок.Вывести(Область);

//Область = Макет.ПолучитьОбласть("ДиаграммаГанта1");

//ТабДок.Вывести(Область);

//СформироватьОтчет(ТабДок.Рисунки.ДиаграммаГанта.Объект);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "КС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

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

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Номенклатура.РознЦена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

МатериалыКоличествоПриИзменении(Элемент);

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

Отчеты.ВыходныеФормы.ПолучитьФорму().Открыть();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "ВСКС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

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

Процедура АктВыпРабКнопкаНажатие(Элемент)

ФормаДокумента = Документы.АктВыполненныхРабот.ПолучитьФормуНовогоДокумента();

ФормаДокумента.Открыть();

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

Процедура Кнопка2Нажатие(Элемент)

ФормаЖурнала = ЖурналыДокументов.ЖурналАктВыпРаб.ПолучитьФорму();

ФормаЖурнала.Открыть();

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

Процедура МатериалыНаименованиеПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Наименование.Цена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Наименование.ЕдИзм;

МатериалыКоличествоПриИзменении(Элемент);

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

Отчеты.ОтстаткиМатериалов.ПолучитьФорму().Открыть();

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

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.АктВыполненныхРабот.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

Область.Параметры.Дата = Дата;

Область.Параметры.Номер = Номер;

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Склад = Склад;

ТабДок.Вывести(Область);

// Материалы

Область = Макет.ПолучитьОбласть("МатериалыШапка");

ТабДок.Вывести(Область);

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

Область = Макет.ПолучитьОбласть("Материалы");

Область.Параметры.Наименование = ТекСтрокаМатериалы.Наименование;

Область.Параметры.Количество = ТекСтрокаМатериалы.Количество;

Область.Параметры.Сумма = ТекСтрокаМатериалы.Сумма;

Область.Параметры.ЕдИзм = ТекСтрокаМатериалы.ЕдИзм;

ТабДок.Вывести(Область);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ

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

Процедура ФлажокЗаказчикПриИзменении(Элемент)

Если ФлажокЗаказчик=Истина Тогда

ЭлементыФормы.ПолеЗаказчик.Видимость = 1;

ЭлементыФормы.ПолеОбъект.Видимость = 1;

ФлажокДоговор = Ложь;

ФлажокСоглашение = Ложь;

ЭлементыФормы.ПолеДоговор.Видимость = 0;

ЭлементыФормы.ПолеСоглашение.Видимость = 0;

Иначе

ЭлементыФормы.ПолеЗаказчик.Видимость = 0;

ЭлементыФормы.ПолеОбъект.Видимость = 0;

КонецЕсли;

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

Процедура ФлажокДоговорПриИзменении(Элемент)

Если ФлажокДоговор=Истина Тогда

ЭлементыФормы.ПолеДоговор.Видимость = 1;

ФлажокЗаказчик = Ложь;

ФлажокСоглашение = Ложь;

ЭлементыФормы.ПолеЗаказчик.Видимость = 0;

ЭлементыФормы.ПолеОбъект.Видимость = 0;

ЭлементыФормы.ПолеСоглашение.Видимость = 0;

Иначе

ЭлементыФормы.ПолеДоговор.Видимость = 0;

КонецЕсли;

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

Процедура ФлажокСоглашениеПриИзменении(Элемент)

Если ФлажокСоглашение=Истина Тогда

ЭлементыФормы.ПолеСоглашение.Видимость = 1;

ФлажокЗаказчик = Ложь;

ФлажокДоговор = Ложь;

ЭлементыФормы.ПолеЗаказчик.Видимость = 0;

ЭлементыФормы.ПолеОбъект.Видимость = 0;

ЭлементыФормы.ПолеДоговор.Видимость = 0;

Иначе

ЭлементыФормы.ПолеСоглашение.Видимость = 0;

КонецЕсли;

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

Процедура ВыбПериодНажатие(Элемент)

НастройкаПериода = Новый НастройкаПериода;

НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));

НастройкаПериода.РедактироватьКакИнтервал = Истина;

НастройкаПериода.РедактироватьКакПериод = Истина;

НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;

НастройкаПериода.Редактировать();

НачПериода = НастройкаПериода.ПолучитьДатуНачала();

КонПериода = НастройкаПериода.ПолучитьДатуОкончания();

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

Процедура ДействияФормыпечать(Кнопка)

Если ФлажокЗаказчик=Истина Тогда

Заказчик();

КонецЕсли;

Если ФлажокСоглашение=Истина Тогда

ДопСогл();

КонецЕсли;

Если ФлажокДоговор=Истина Тогда

Договор();

КонецЕсли;

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

Процедура Заказчик()Экспорт

ТабДок = Новый ТабличныйДокумент;

Макет = ОтчетОбъект.ПолучитьМакет("Объект");

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

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

"ВЫБРАТЬ РАЗЛИЧНЫЕ

|ОстаткиМатериаловОбъектОстаткиИОбороты.ДопСогл КАК ДопСогл,

|ОстаткиМатериаловОбъектОстаткиИОбороты.Материал КАК Материал,

|ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Материал),

|РасходнаяНакладнаяМатериалыТТН.Цена,

|ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,

|РасходнаяНакладнаяМатериалыТТН.Цена * (ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход) КАК Сумма

|ИЗ

|РегистрНакопления.ОстаткиМатериаловОбъект.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, , , ) КАК ОстаткиМатериаловОбъектОстаткиИОбороты

|ПОЛНОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.МатериалыТТН КАК РасходнаяНакладнаяМатериалыТТН

|ПО ОстаткиМатериаловОбъектОстаткиИОбороты.Материал = РасходнаяНакладнаяМатериалыТТН.Номенклатура

|ГДЕ

|ОстаткиМатериаловОбъектОстаткиИОбороты.Заказчик = &ПолеЗаказчик

|И ОстаткиМатериаловОбъектОстаткиИОбороты.Объект = &ПолеОбъект

|

|УПОРЯДОЧИТЬ ПО

|Материал

|ИТОГИ

|СУММА(Сумма)

|ПО

|ОБЩИЕ,

|ДопСогл

|АВТОУПОРЯДОЧИВАНИЕ";

Запрос.УстановитьПараметр("ДатаНачала", НачПериода);

Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(КонПериода));

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

Запрос.УстановитьПараметр("ПолеОбъект", ПолеОбъект);

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

//ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");

ОбластьДопСогл = Макет.ПолучитьОбласть("ДопСогл");

ОбластьДопСоглУровень = Макет.ПолучитьОбласть("ДопСоглУровень");

ОбластьДопСоглУровеньСумма = Макет.ПолучитьОбласть("ДопСоглУровеньСумма");

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

//ОбластьЗаголовок.Параметры.Номер = ;

ОбластьЗаголовок.Параметры.РабДата = ТекущаяДата();

ТабДок.Вывести(ОбластьЗаголовок);

ОбластьДопСогл.Параметры.Заказчик = ПолеЗаказчик;

ОбластьДопСогл.Параметры.Объект = ПолеОбъект;

ТабДок.Вывести(ОбластьДопСогл);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий();// Общий итог

ТабДок.Вывести(ОбластьШапкаТаблицы);

ВыборкаДопСоглУровень = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаДопСоглУровень.Следующий() Цикл

ОбластьДопСоглУровень.Параметры.Заполнить(ВыборкаДопСоглУровень);

ТабДок.Вывести(ОбластьДопСоглУровень, ВыборкаДопСоглУровень.Уровень());

ОбластьДопСоглУровеньСумма.Параметры.Заполнить(ВыборкаДопСоглУровень);

ВыборкаДетали = ВыборкаДопСоглУровень.Выбрать();

НомСтроки =1;

Пока ВыборкаДетали.Следующий() Цикл

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ОбластьДетальныхЗаписей.Параметры.НомСтроки = НомСтроки;

НомСтроки = НомСтроки + 1;

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.Вывести(ОбластьДопСоглУровеньСумма, ВыборкаДопСоглУровень.Уровень());

КонецЦикла;

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

//ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ДопСогл()Экспорт

ТабДок = Новый ТабличныйДокумент;

Макет = ОтчетОбъект.ПолучитьМакет("Допик");

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

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

"ВЫБРАТЬ РАЗЛИЧНЫЕ

|ОстаткиМатериаловОбъектОстаткиИОбороты.Материал КАК Материал,

|ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Материал),

|ОстаткиМатериаловОбъектОстаткиИОбороты.Объект КАК Объект,

|ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Объект),

|ОстаткиМатериаловОбъектОстаткиИОбороты.Материал.ЕдИзм КАК ЕдИзм,

|РасходнаяНакладнаяМатериалыТТН.Цена,

|ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,

|РасходнаяНакладнаяМатериалыТТН.Цена * (ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход) КАК Сумма

|ИЗ

|РегистрНакопления.ОстаткиМатериаловОбъект.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловОбъектОстаткиИОбороты

|ПОЛНОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.МатериалыТТН КАК РасходнаяНакладнаяМатериалыТТН

|ПО ОстаткиМатериаловОбъектОстаткиИОбороты.Материал = РасходнаяНакладнаяМатериалыТТН.Номенклатура

|ГДЕ

|ОстаткиМатериаловОбъектОстаткиИОбороты.ДопСогл = &ДопСогл

|

|УПОРЯДОЧИТЬ ПО

|Материал

|ИТОГИ

|СУММА(Сумма)

|ПО

|ОБЩИЕ,

|Объект

|АВТОУПОРЯДОЧИВАНИЕ";

Запрос.УстановитьПараметр("ДопСогл", ПолеСоглашение);

Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));

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

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

//ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");

ОбластьОбъект = Макет.ПолучитьОбласть("Объект");

ОбластьОбъектСумма = Макет.ПолучитьОбласть("ОбъектСумма");

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий();// Общий итог

//ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

//ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ВыборкаОбъект = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаОбъект.Следующий() Цикл

ОбластьОбъект.Параметры.Заполнить(ВыборкаОбъект);

ТабДок.Вывести(ОбластьОбъект, ВыборкаОбъект.Уровень());

ОбластьОбъектСумма.Параметры.Заполнить(ВыборкаОбъект);

ВыборкаДетали = ВыборкаОбъект.Выбрать();

НомСтроки = 1;

Пока ВыборкаДетали.Следующий() Цикл

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ОбластьДетальныхЗаписей.Параметры.НомСтроки = НомСтроки;

НомСтроки = НомСтроки + 1;

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.Вывести(ОбластьОбъектСумма, ВыборкаОбъект.Уровень());

КонецЦикла;

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

//ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

ТабДок.ОтображатьСетку = Истина;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура Договор()Экспорт

ТабДок = Новый ТабличныйДокумент;

Макет = ОтчетОбъект.ПолучитьМакет("Договор");

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

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

"ВЫБРАТЬ РАЗЛИЧНЫЕ

|ОстаткиМатериаловОбъектОстаткиИОбороты.Материал КАК Материал,

|ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Материал),

|ОстаткиМатериаловОбъектОстаткиИОбороты.Объект КАК Объект,

|ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Объект),

|ОстаткиМатериаловОбъектОстаткиИОбороты.ДопСогл КАК ДопСогл,

|ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.ДопСогл),

|ОстаткиМатериаловОбъектОстаткиИОбороты.Материал.ЕдИзм КАК ЕдИзм,

|РасходнаяНакладнаяМатериалыТТН.Цена,

|ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,

|РасходнаяНакладнаяМатериалыТТН.Цена * (ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход) КАК Сумма

|ИЗ

|РегистрНакопления.ОстаткиМатериаловОбъект.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловОбъектОстаткиИОбороты

|ПОЛНОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.МатериалыТТН КАК РасходнаяНакладнаяМатериалыТТН

|ПО ОстаткиМатериаловОбъектОстаткиИОбороты.Материал = РасходнаяНакладнаяМатериалыТТН.Номенклатура

|ГДЕ

|ОстаткиМатериаловОбъектОстаткиИОбороты.НомерДоговора = &ПолеДоговор

|

|УПОРЯДОЧИТЬ ПО

|Материал

|ИТОГИ

|СУММА(Сумма)

|ПО

|ОБЩИЕ,

|ДопСогл,

|Объект

|АВТОУПОРЯДОЧИВАНИЕ";

Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));

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

Запрос.УстановитьПараметр("ПолеДоговор", ПолеДоговор);

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

//ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");

ОбластьДопСогл = Макет.ПолучитьОбласть("ДопСогл");

ОбластьОбъект = Макет.ПолучитьОбласть("Объект");

ОбластьДопСоглСумма = Макет.ПолучитьОбласть("ДопСоглСумма");

ОбластьОбъектСумма = Макет.ПолучитьОбласть("ОбъектСумма");

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий();// Общий итог

ВыборкаДопСогл = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаДопСогл.Следующий() Цикл

ОбластьДопСогл.Параметры.Заполнить(ВыборкаДопСогл);

ТабДок.Вывести(ОбластьДопСогл, ВыборкаДопСогл.Уровень());

ОбластьДопСоглСумма.Параметры.Заполнить(ВыборкаДопСогл);

ВыборкаОбъект = ВыборкаДопСогл.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

НомСтроки = 1;

Пока ВыборкаОбъект.Следующий() Цикл

ОбластьОбъект.Параметры.Заполнить(ВыборкаОбъект);

ТабДок.Вывести(ОбластьОбъект, ВыборкаОбъект.Уровень());

ОбластьОбъектСумма.Параметры.Заполнить(ВыборкаОбъект);

ВыборкаДетали = ВыборкаОбъект.Выбрать();

Пока ВыборкаДетали.Следующий() Цикл

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ОбластьДетальныхЗаписей.Параметры.НомСтроки = НомСтроки;

НомСтроки = НомСтроки + 1;

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.Вывести(ОбластьОбъектСумма, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.Вывести(ОбластьДопСоглСумма, ВыборкаОбъект.Уровень());

КонецЦикла;

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

//ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ОтстаткиМатериалов() Экспорт

ТабДок = Новый ТабличныйДокумент;

Макет = ОтчетОбъект.ПолучитьМакет("ОтстаткиМатериалов");

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

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

"ВЫБРАТЬ

|ОстаткиМатериаловПТООстаткиИОбороты.Материал КАК Материал,

|ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.Материал),

|ОстаткиМатериаловПТООстаткиИОбороты.КоличествоПриход КАК Приход,

|ОстаткиМатериаловПТООстаткиИОбороты.КоличествоРасход КАК Расход,

|ОстаткиМатериаловПТООстаткиИОбороты.КоличествоКонечныйОстаток КАК Остаток

|ИЗ

|РегистрНакопления.ОстаткиМатериаловПТО.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловПТООстаткиИОбороты

|ГДЕ

|ОстаткиМатериаловПТООстаткиИОбороты.Материал = &Материал

|

|УПОРЯДОЧИТЬ ПО

|Материал

|ИТОГИ

|СУММА(Приход),

|СУММА(Расход),

|СУММА(Остаток)

|ПО

|ОБЩИЕ,

|Материал";

Запрос.УстановитьПараметр("КонПериода", КонПериода);

Запрос.УстановитьПараметр("Материал", Материал);

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

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");

ОбластьМатериал = Макет.ПолучитьОбласть("Материал");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий();// Общий итог

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ВыборкаМатериал = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаМатериал.Следующий() Цикл

ОбластьМатериал.Параметры.Заполнить(ВыборкаМатериал);

ТабДок.Вывести(ОбластьМатериал, ВыборкаМатериал.Уровень());

КонецЦикла;

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

ТабДок.ОтображатьСетку = Истина;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

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

Если ФлажокОстатки=Истина Тогда

Остатки();

КонецЕсли;

Если ФлажокМатериал=Истина Тогда

ОтстаткиМатериалов();

КонецЕсли;

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

Процедура ВыбПериодНажатие(Элемент)

НастройкаПериода = Новый НастройкаПериода;

НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));

НастройкаПериода.РедактироватьКакИнтервал = Истина;

НастройкаПериода.РедактироватьКакПериод = Истина;

НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;

НастройкаПериода.Редактировать();

НачПериода = НастройкаПериода.ПолучитьДатуНачала();

КонПериода = НастройкаПериода.ПолучитьДатуОкончания();

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

Процедура ФлажокМатериалПриИзменении(Элемент)

Если ФлажокМатериал=Истина Тогда

ЭлементыФормы.Материал.Видимость=1;

ФлажокОстатки=Ложь;

ИначеЕсли ФлажокОстатки=Истина Тогда

ФлажокМатериал=Ложь;

ЭлементыФормы.Материал.Видимость=0;

КонецЕсли;

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

Процедура ФлажокОстаткиПриИзменении(Элемент)

Если ФлажокОстатки=Истина Тогда

ФлажокМатериал=Ложь;

Иначе

ЭлементыФормы.Материал.Видимость=0;

КонецЕсли;

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

Процедура Остатки() Экспорт

ТабДок = Новый ТабличныйДокумент;

Макет = ОтчетОбъект.ПолучитьМакет("ОтстаткиМатериалов");

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

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

"ВЫБРАТЬ

|ОстаткиМатериаловПТООстаткиИОбороты.Материал КАК Материал,

|ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.Материал),

|ОстаткиМатериаловПТООстаткиИОбороты.КоличествоПриход КАК Приход,

|ОстаткиМатериаловПТООстаткиИОбороты.КоличествоРасход КАК Расход,

|ОстаткиМатериаловПТООстаткиИОбороты.КоличествоКонечныйОстаток КАК Остаток

|ИЗ

|РегистрНакопления.ОстаткиМатериаловПТО.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловПТООстаткиИОбороты

|

|УПОРЯДОЧИТЬ ПО

|Материал

|ИТОГИ

|СУММА(Приход),

|СУММА(Расход),

|СУММА(Остаток)

|ПО

|ОБЩИЕ,

|Материал";

Запрос.УстановитьПараметр("КонПериода", КонПериода);

//Запрос.УстановитьПараметр("Материал", Материал);

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

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");

ОбластьМатериал = Макет.ПолучитьОбласть("Материал");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий();// Общий итог

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ВыборкаМатериал = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаМатериал.Следующий() Цикл

ОбластьМатериал.Параметры.Заполнить(ВыборкаМатериал);

ТабДок.Вывести(ОбластьМатериал, ВыборкаМатериал.Уровень());

КонецЦикла;

//ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

ТабДок.ОтображатьСетку = Истина;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

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

РейрингЗаказчиковИнициализация();

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

Процедура ПриЗакрытии()

СохранитьЗначение("НастройкаОтчетыРейрингЗаказчиковРейрингЗаказчиков_653d8454-bc95-4331-844b-c5c46e8a138e", ПостроительОтчетаРейрингЗаказчиков.ПолучитьНастройки());

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

Процедура ДействияФормыРейрингЗаказчиковНастройка(Кнопка)

Форма = ОтчетОбъект.ПолучитьФорму("РейрингЗаказчиковНастройка");

Форма.ПостроительОтчета = ПостроительОтчетаРейрингЗаказчиков;

Настройка = ПостроительОтчетаРейрингЗаказчиков.ПолучитьНастройки();

Если Форма.ОткрытьМодально() = Истина Тогда

РейрингЗаказчиковВывести();

Иначе

ПостроительОтчетаРейрингЗаказчиков.УстановитьНастройки(Настройка);

КонецЕсли;

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

Процедура ДействияФормыРейрингЗаказчиковСформировать(Кнопка)

РейрингЗаказчиковВывести();

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

Процедура РейрингЗаказчиковВывести()

ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

ЭлементыФормы.Диаграмма.Очистить();

ПостроительОтчетаРейрингЗаказчиков.Параметры.Вставить("КонПериода", КонПериода);

ПостроительОтчетаРейрингЗаказчиков.Параметры.Вставить("НаяПериода", НаяПериода);

ПостроительОтчетаРейрингЗаказчиков.Выполнить();

ПостроительОтчетаРейрингЗаказчиков.


ВВЕДЕНИЕ Внедрение информационных систем в экономическую среду позволило повысить эффективность работы различных предприятий. С ростом технологий стали в

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2019 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ