ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ
ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»
( Н И У
« Б е л Г У » )
ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК
Кафедра прикладной информатики и информационных технологий
РАЗРАБОТКА ПОДСИСТЕМЫ СДЕЛЬНОЙ ОПЛАТЫ ТРУДА В
СЕЛЬХОЗПРЕДПРИЯТИИ КОЛХОЗА ИМЕНИ ГОРИНА
Выпускная квалификационная работа
обучающегося по направлению подготовки 09.03.03 Прикладная
информатика (в экономике)
заочной формы обучения, группы 07001361
Богданова Георгия Всеволодовича
Научный руководитель:
кандидат географических наук,
доцент Петина М. А.
Белгород 2017 г.
1
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .................................................................................................................. 4
1 Аналитическая часть ................................................................................................ 7
1.1 Технико-экономическая характеристика предметной области .................... 7
1.1.1 Характеристика предприятия ................................................................... 9
1.1.2 Краткая характеристика подразделения ................................................ 11
1.2 Экономическая сущность задачи .................................................................. 13
1.3 Обоснование необходимости и цели использования вычислительной
техники для решения задачи ................................................................................. 15
1.4 Постановка задачи .......................................................................................... 19
1.4.1 Цель и назначение автоматизированного варианта решения задачи . 19
1.4.2 Общая характеристика организации решения задачи на ЭВМ ........... 20
1.5 Анализ существующих разработок и обоснование выбора технологии
проектирования ...................................................................................................... 26
2 Основные проектные решения ............................................................................. 31
2.1 Обоснование проектных решений по техническому обеспечению ............ 31
2.2 Обоснование проектных решений по информационному обеспечению ... 33
2.3 Обоснование проектных решений по программному обеспечению .......... 34
2.4 Обоснование проектных решений по технологическому обеспечению .... 36
3 Проектная часть...................................................................................................... 39
3.1 Проектирование информационной подсистемы ........................................... 39
3.2 Проектирование и разработка справочников информационной подсистемы
отдела бухгалтерии ................................................................................................ 42
3.3 Проектирование и разработка документов информационной подсистемы
автоматизации ........................................................................................................ 48
3.4 Проектирование и разработка выходных форм и интерфейса подсистемы
сдельной оплаты труда .......................................................................................... 52
3.5 Описание контрольного примера реализации проекта ................................ 56
2
3.6 Организационно-экономическая часть .......................................................... 62
ЗАКЛЮЧЕНИЕ ......................................................................................................... 71
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ............................................... 73
ПРИЛОЖЕНИЯ............................................................................................. 77
3
ВВЕДЕНИЕ
Сегодня
в
Российской
Федерации
экономика
характеризуется
изменением роли человека в социально-трудовых отношениях, то есть
работники организации являются главным условием и движущей силой
повышения конкурентоспособности и эффективности любой фирмы, отрасли
народного хозяйства. Сегодня особенно остро стоит проблема использования
рабочей силы и трудового потенциала работников сельскохозяйственной
сферы, а также расчет заработной платы работников в аграрной сфере.
Системы и формы оплаты труда представляют собой способы
установления зависимости величины заработной платы от количества и
качества затраченного труда с помощью количественных и качественных
показателей, отражающих результаты труда. В сельском хозяйстве сложность
определения
выполняемых
этих
показателей
работ,
изменением
обусловлена
состояния
изменчивостью
техники
в
условий
процессе
ее
использования, что приводит к тому, что бухгалтер затрачивает большое
количество времени на расчет заработной платы. Этим определяется
актуальность исследования условий и особенностей формирования оплаты
труда в сельском хозяйстве и в последствии разработка подсистемы сдельной
оплаты труда на сельхозпредприятии.
Учет сдельной оплаты труда должен обеспечить оперативный контроль
над количеством и качеством труда, за использованием средств, включаемых в
фонд заработной платы, и выплат социального характера.
Целью выпускной квалификационной работы является автоматизация
расчета
сдельной
оплаты
труда
работников
на
сельскохозяйственном
предприятии посредством разработки подсистемы сдельной оплаты труда.
Объект исследования выпускной квалификационной работы – отдел
бухгалтерии колхоза имени Горина с. Бессоновки Белгородского района.
Предмет исследования выпускной квалификационной работы – методы
4
расчета сдельной оплаты труда работников, занятых на сельскохозяйственных
работах.
Задачи работы:
1)
проведение анализа предметной области;
2)
построение функциональной модели «Как есть»;
3)
проведение анализа существующего программного и технического
обеспечения отдела бухгалтерии;
4)
построение функциональной модели «Как должно быть»;
5)
выделение основных требований к информационной системе;
6)
разработка модуля для учета выработки сотрудников, труд которых
оплачивается по сдельной форме, и расчета базовых начислений оплаты
труда исходя из выработки сотрудников;
7)
апробация разработанного модуля;
8)
обоснование экономической эффективности проекта.
В
качестве
методов
исследования
были
применены
методика
структурного анализа и проектирования, при помощи которой создается
модель, позволяющая анализировать, документировать процессы, проходящие
в организации.
При
изучении
данного
вопроса
были
рассмотрена:
платформа
«1С:Предприятие 8», типовая конфигурация «Камин:Расчет заработной платы»
и разработан новый модуль для учета выработки сотрудников, труд которых
оплачивается по сдельной форме, а так же модуль позволяет производить
базовые начисления оплаты труда исходя из выработки сотрудников.
В первом разделе произведен обзор предметной области, а именно
рассмотрена общая характеристика предприятия и его структура, актуальность
выпускной
квалификационной
работы,
рассмотрена
существующая
информационная система.
Во втором разделе рассматривается обоснование выбора программного
обеспечения для решения задачи, выполняется обзор выбранных программных
средств и механизмов.
5
В
третьем
разделе
выполняется
автоматизация
рабочего
места
бухгалтера по учету сдельной оплаты труда, а также модификация стандартной
конфигурации,
рассчитывается
экономическая
эффективность
модифицированного приложения.
Выпускная квалификационная работа включает 78 страниц текста, 30
рисунков, 5 таблиц, 4 приложения.
6
1 АНАЛИТИЧЕСКАЯ ЧАСТЬ
1.1 Технико-экономическая характеристика предметной области
В сельскохозяйственных организациях системы заработной платы,
размеры тарифных ставок, окладов, различного вида выплат, доплат
устанавливаются работодателем с учетом мнения выборного профсоюзного
органа
данной
организации
в
коллективных
договорах,
соглашениях,
локальных нормативных актах организаций, трудовых договорах [1-7].
Во
всех
сельскохозяйственных
организациях
независимо
от
организационно-правовой формы и формы собственности должен быть
обеспечен минимальный размер оплаты труда [1-8]. С 1 января 2017 г. он
установлен в размере 7800 руб. [1, 9].
В структуру годовой суммы оплаты труда работников сельского
хозяйства
включаются:
тарифная
оплата,
надбавки,
доплаты,
премии,
натуральная оплата, дивиденды от собственности. Надбавки, доплаты и
премии, как правило, начисляют в виде рекомендованных государством или
установленных предприятием процентов. Оплату труда на предприятии
организуют на основе нормирования и тарификации труда, а также применения
различных форм и систем оплаты труда.
Итогом работы по организации оплаты труда является разработка
положения по оплате труда предприятия. В соответствии с действующим
трудовым законодательством разрабатываемое положение по оплате труда
относится к локальным нормативным актам по заработной плате на
предприятии в соответствии с его финансовым состоянием и в пределах
имеющихся средств. Этот документ разрабатывается на основе постановлений
Правительства
Российской
Федерации,
указов
Президента
Российской
Федерации, рекомендаций Министерства сельского хозяйства с учетом
требований Трудового кодекса Российской Федерации. Основанием для
7
разработки в каждой организации положения по оплате труда являются
заключенный в установленном порядке коллективный договор (соглашение), а
также положения соответствующих нормативных правовых актов, действие
которых распространяется на работников организации.
В Положении раскрываются:
1) избранные для каждой категории работников организации формы и
системы оплаты труда (сдельная, повременная, бестарифная и др.);
2) применяемые в организации размеры тарифной сетки, тарифных
ставок (должностных окладов), порядок их установления и пересмотра;
3) размеры и порядок осуществляемых в пользу работников выплат
(доплат, надбавок, премий, вознаграждений и т.п.);
4) перечень предоставляемых работникам гарантий и компенсаций,
связанных с их трудовой деятельностью.
В период напряженных работ в сельскохозяйственных предприятиях
целесообразно применять коэффициенты повышения расценки с учетом уровня
выполнения сменного задания [13].
В качестве одного из путей совершенствования оплаты труда для
повышения
заинтересованности
в
выполнении
сменных
заданий,
стимулирования механизаторов в повышении эффективности использования
техники, отработавшей амортизационный срок эксплуатации, рекомендуется
производить доплату в зависимости от выполнения эталонной сезонной
нагрузки [13].
Дифференцирование оплаты труда в зависимости от качества работы и
квалификационного уровня работника осуществляется с помощью тарифных
сеток, представляющих собой совокупность квалификационных разрядов,
расположенных в зависимости от качественной характеристики работ в виде
возрастающей
шкалы
и
соответствующих
этим
разрядам
тарифных
коэффициентов.
Предприятия могут самостоятельно разрабатывать и внедрять тарифную
сетку для рабочих и служащих. При этом размер тарифной ставки (оклада) 1
8
разряда не должен быть ниже минимального размера оплаты труда,
установленного законодательством Российской Федерации.
1.1.1 ХАРАКТЕРИСТИКА ПРЕДПРИЯТИЯ
Колхоз имени Горина (до 2014 года колхоз имени Фрунзе) действует с
22 марта 1994 г. и является высокоспециализированным, многопрофильным,
высокорентабельным,
динамично
развивающимся
агропредприятием
Белгородского района. Входит в состав компании «Горин Продукт», вместе с
Торговым домом «Горин Продукт» и мясоперерабатывающим комбинатом.
Колхоз
является
участником
Национального
Реестра
«Ведущие
агропромышленные и сельскохозяйственные организации России». В рейтинге
«Лига Лучших предприятий России» колхоз получил статус «Предприятие года
2014 в России», а председателю колхоза Товстяк Владимиру Васильевичу
присвоено почетное звание «Руководитель года 2014 в России».
Компания Колхоз имени Горина находится по юридическому адресу
308581,
Белгородская
область,
Белгородский
район,
село
Бессоновка,
Партизанская улица, 6а. С мая 2014 года председателем колхоза является
Товстяк Владимир Васильевич, профессор, доктор физико-математических
наук. Учредителями являются 11 физических лиц. Колхоз имени Горина
располагает 1 лицензией, уставный капитал 2 млд рублей. Основным видом
деятельности
является
«Разведение
свиней»,
зарегистрировано
16
дополнительных видов деятельности, в том числе – выращивание зерновых
культур, выращивание зернобобовых культур и т.д.
Упрощенно структурную схему холдинга компаний можно представить
так, как это показано на рисунке 1.1.
9
Компания «Горин
Продукт»
Торговый дом «Горин
продукт»
Колхоз имени Горина
Мясоперерабатывающ
ий комбинат
Комбикормовый завод
Завод по производству
красного кирпича
Подразделение
растениеводства
Строительный цех
Автопарк
Администрация и
бухгалтерия
Обслуживающие
подразделения
Рисунок 1.1 – Структурная схема компании холдинговой структуры
В настоящее время колхоз имени Горина – это крупное многоотраслевое
хозяйство, специализирующееся на производстве свинины, с развитым
молочным животноводством и производством сахарной свеклы. Остальные
направления деятельности служат одной цели – повышению рентабельности
производства. Так, в активе колхоза имеется более 16 тысяч гектаров пашни,
комбикормовый
завод,
завод
по
производству
красного
кирпича
и
строительный цех, автопарк на 180 автомобилей различного назначения.
Благодаря развитому растениеводству, колхоз полностью обеспечивает
кормами
потребности
своей
животноводческой
отрасли.
Работа
по
выращиванию зерновых, кормовых и технических культур поставлена в
колхозе на очень высокий уровень.
10
1.1.2 КРАТКАЯ ХАРАКТЕРИСТИКА ПОДРАЗДЕЛЕНИЯ
Расчет оплаты труда в колхозе имени Горина производит отдел
бухгалтерии, который состоит из главного бухгалтера, бухгалтера, бухгалтеракассира, бухгалтера по расчету заработной платы и экономиста-нормировщика.
Основные задачи, стоящие перед бухгалтерской службой:
- формирование полной и достоверной информации о деятельности
организации и ее имущественном положении, необходимой внутренним
пользователям бухгалтерской отчетности – руководителям, учредителям и
собственникам имущества организации, а также внешним – инвесторам,
кредиторам и другим пользователям бухгалтерской отчетности;
- обеспечение информацией, необходимой внутренним и внешним
пользователям бухгалтерской отчетности для контроля за соблюдением
законодательства
РФ
при
осуществлении
организацией
хозяйственных
операций и их целесообразностью, наличием и движением имущества и
обязательств, использованием материальных, трудовых и финансовых ресурсов
в соответствии с утвержденными нормами, нормативами и сметами;
-
предотвращение
деятельности
организации
отрицательных
и
выявление
результатов
хозяйственной
внутрихозяйственных
резервов
обеспечения ее финансовой устойчивости.
Важной функцией отдела бухгалтерии является начисление и выплата
заработной платы рабочим. Большое стимулирующее воздействие на развитие
колхоза оказывает правильный выбор систем оплаты труда. Все системы
оплаты труда построены на основе сочетания сдельной и повременной форм
оплаты с системой материального стимулирования посредством различных
видов
дополнительной
оплаты
и
премирования.
Для
оплаты
сельскохозяйственных работ (вспашка земли, посев, уборка и т.д.) используют
сдельную оплату труда.
11
Бухгалтер по расчету заработной платы получает от экономистанормировщика информацию о расчете основной части сдельной оплаты труда.
Функциональные обязанности экономиста-нормировщика:
- разрабатывает и внедряет технически обоснованные нормы трудовых
затрат применительно к конкретным производственно-техническим условиям
по различным видам работ, на основе использования межотраслевых,
отраслевых и других прогрессивных нормативов по труду с учетом
психофизиологических и социально-экономических факторов, а также местные
нормы, рассчитанные на основе технических данных о производительности
оборудования, результатов анализа затрат рабочего времени при применении
наиболее производительных приемов и методов труда;
- анализирует состояние нормирования, степень обоснованности и
напряженности
обеспечению
норм,
равной
проводит
работу
напряженности
по
норм
улучшению
на
их
качества,
однородных
работах,
выполняемых при одинаковых организационно-технических условиях;
-
устанавливает
нормы
времени
(выработки)
на
разовые
и
дополнительные работы, связанные с отступлением от технологических
процессов;
- осуществляет контроль за соблюдением в устанавливаемых нормах
требований рациональной организации труда при разработке технологических
процессов (режимов производства), определяет экономический эффект от
внедрения технически обоснованных норм трудовых затрат;
- проверяет действующие нормы труда с целью выявления устаревших
и ошибочно установленных норм, проводит работу по их своевременной замене
новыми,
более
прогрессивными
по
мере
внедрения
организационно-
технических мероприятий;
- изучает уровень выполнения норм, исследует непосредственно на
рабочих местах степень и причины отклонений фактических затрат труда от
нормативных, участвует в подготовке предложений по созданию необходимых
условий для освоения всеми работниками норм трудовых затрат;
12
- осуществляет контроль за своевременным доведением до рабочих и
служащих новых норм и расценок, правильностью применения у Работодателя
нормативных материалов по труду;
- осуществляет инструктаж рабочих по освоению вновь вводимых норм;
- осуществляет контроль за правильностью применения материалов по
труду (разрядов работ, расценок, тарифных сеток и ставок при оформлении
первичных документов по учету выработки, простоев, доплат при наличии
отклонений от нормальных условий труда и т.п.);
- организует проведение и осуществляет проверку в производственных
условиях проектов межотраслевых и отраслевых нормативных материалов для
нормирования труда и их внедрение после утверждения.
В настоящее время экономист-нормировщик для учета выработки
сотрудников, труд которых оплачивается по сдельной форме, а также для
расчета базовых начислений оплаты труда исходя из выработки сотрудников
использует MS Excel.
1.2 ЭКОНОМИЧЕСКАЯ СУЩНОСТЬ ЗАДАЧИ
Основной функциональной обязанностью экономиста-нормировщика
является
расчет
базовой
части
сдельной
оплаты
труда
работников
сельскохозяйственных работ, которая передается бухгалтеру по заработной
плате для дальнейшего формирования оплаты труда. Для правильного расчета
необходима группировка, во-первых, трудовых процессов к определенной
группе по оплате в зависимости от качества труда, во-вторых, конкретного
работника по уровню его квалификации к соответствующему разряду по оплате
труда.
Экономист-нормировщик
имеет
дело
с
большим
количеством
информации, от него требуется тщательная организация нормирования труда и
тарификации работ, строгий учет фактической выработки и действенного
13
контроля за качеством выполненных работ, четкая организация труда, расчет
расценки за единицу работы или за единицу произведенной продукции, которая
рассчитывается делением тарифной ставки, соответствующей тарифному
разряду данной работы или данного вида продукции, на установленную норму
выработки. Так же при расчете сдельной оплаты труда необходимо деление
всех работ на квалификационные разряды для определения уровня оплаты
труда. Простейшие работы относятся к I и II разряду, наиболее сложные - к VI.
Соответственно изменяется и оплата труда работников.
Вся его работа основывается на постановлениях Правительства
Российской
Федерации,
указах
Президента
Российской
Федерации,
рекомендациях Министерства сельского хозяйства с учетом требований
Трудового кодекса Российской Федерации, а также на разработанном и
утвержденном в колхозе положении по оплате труда предприятия.
Экономисту-нормировщику
необходимо
установить
прямую
зависимость заработка работника от его индивидуальной выработки, точно
учесть труд каждого работника в отдельности. Таким образом, получается
большое количество взаимосвязанных таблиц с информацией, увеличивается
вероятность допущения ошибки, что снижает эффективность работы отдела
бухгалтерии.
Современные технические возможности и уровень программного
обеспечения
отдела
бухгалтерии
позволяют
автоматизировать
работу
экономиста-нормировщика на основе использования ЭВМ.
Совершенствование работы отдела бухгалтерии в сельскохозяйственной
организации является важным резервом повышения его эффективности. Опыт
многих сельскохозяйственных предприятий и объединений подтверждает, что
там,
где
руководители
совершенствованием
руководством
сельского
работы
и
специалисты
отделов,
трудовые
обеспечивают постоянный
хозяйства,
постоянно
производительности
коллективы
рост производства
труда,
занимаются
экономии
под
их
продукции
средств
и
повышения рентабельности всех отраслей. Необходимость совершенствования
14
работы обусловлена также происходящими количественными и качественными
изменениями в условиях производственно-хозяйственной фермерских хозяйств,
в условиях рыночной экономики.
Таким образом, автоматизация работы экономиста-нормировщика
обеспечит оперативный расчет базовой части сдельной оплаты труда, хранение
различной
информации,
необходимой
для
расчета,
высокую
скорость
обработки данных, создание единой базы данных, быстроту формирования и
максимально гибкую настройку любых форм отчетности.
1.3 Обоснование необходимости и цели использования
вычислительной техники для решения задачи
Использование вычислительной техники, информационных технологии
и специализированного ПО в работе позволит повысить эффективность
деятельности всех подразделений колхоза, в том числе отдела бухгалтерии.
Так как разработка модуля расчета базовой части сдельной оплаты труда
работников касается отдела бухгалтерии, поэтому анализ персональных
компьютеров проводился только в этом отделе. В результате анализа ПК в
отделе бухгалтерии можно сделать вывод, что все вычислительные машины
имеют
одинаковую
бухгалтерии
аппаратную
тестировались
конфигурацию.
программой
Компьютеры
AIDA32
для
отдела
диагностики
оборудования и системной информации ПК, бесплатно распространяемой в
сети Internet.
Характеристика одного из компьютеров, используемых в отделе
бухгалтерии: пераоционная система – Microsoft Windows 7; оперативная память
– 8 Гб; процессор – Intel® Core™ i5 2380P @ 3100; жесткие диски – HDD, 1000
Гб; видеокарты – NVIDIA, Quadro 600; оптический привод – DVD-RW;
монитор – Samsung S24B350 23” 1920x1080 Пикс 5 мсекminiD-Sub; HDMI;
клавиатура
–
Стандартная
(101/102
клавиши)
15
или
клавиатура
PS/2
MicrosoftNatural; мышь оптическая – A4 Tech F4V-TrackGamingBl; сетевой
адаптер – Realtek PCIe GBE Family Controller.
На персональном компьютере установлены следующие программные
продукты: операционная система Microsoft Windows 8; Microsoft Office 2010;
Платформа «1С:Предприятие 8»; Типовая конфигурация «Камин:Расчет
заработной платы 3.0».
На основе информации, полученной в результате исследования ПК
отдела бухгалтерии, можно сделать вывод о том, что характеристики ПК и ПО
позволяют произвести автоматизацию рабочего места сотрудника экономистанормировщика.
Конфигурация «КАМИН:Расчет заработной платы» предназначена для
комплексной автоматизации расчета и начисления заработной платы, а также
для ведения кадрового учета и подготовки регламентированной отчетности в
налоговые органы и Пенсионный фонд на предприятиях и организациях,
которые используют систему программ "1С:Предприятие 8". Благодаря своей
универсальности конфигурация подходит для организаций любых форм
собственности, применяющих специальные налоговые режимы.
Посредством
программы
отдел
бухгалтерии
имеет
возможность
рассчитывать и начислять:
оплату по окладу, тарифу, сдельную;
различные виды надбавок и премий;
приработок по КТУ;
больничные, исходя из среднего заработка (в т.ч. производить
перерасчет больничного при изменении законодательства);
отпускные с учетом разовых и других премий, выслуги лет и т.п., с
распределением начисленных сумм по месяцам отпуска, болезни и т.п.;
материальную помощь;
доплату до минимума;
премию за выслугу лет;
дивиденды;
16
материальную выгоду и доходы, не относящиеся к зарплате;
удержания по исполнительным листам;
командировочные;
налоги и отчисления в фонды по каждому работнику и в целом по
предприятию в соответствии с действующими нормативами.
Благодаря
организаций
своей
любых
универсальности
форм
конфигурация
собственности,
подходит
применяющих
для
специальные
налоговые режимы — ЕНВД, УСН, ЕСХН.
Конфигурация «КАМИН:Расчет заработной платы» позволяет:
проводить расчет и начисление заработной платы по каждому
сотруднику в соответствии с трудовым законодательством;
вести кадровый учет, осуществлять контроль приема и увольнения
сотрудников, их перемещения в соответствии со штатным расписанием
предприятия;
вести табель учета рабочего времени, возможность учитывать
вечернее, ночное сверхурочное время работы сотрудников;
проводить
внебюджетные
расчет
фонды,
всех
видов
предусмотренных
налогов
и
отчислений
законодательством,
как
во
по
сотрудникам, так и в целом по предприятию;
получать различные виды отчетов, включая отчетность в налоговые
органы и Пенсионный фонд, в том числе на магнитных носителях;
обмениваться данными с программой «КАМИН:Кадровый учет.
Версия 3.0»
Посредством программы бухгалтера организации рассчитывают и
начисляют:
оплату по окладу;
различные виды надбавок и премий;
больничные, исходя из среднего заработка (в т.ч. производить
перерасчет больничного при изменении законодательства);
17
отпускные с учетом разовых и других премий, выслуги лет и т.п., с
распределением начисленных сумм по месяцам отпуска, болезни и т.п.;
материальную помощь;
доплату до минимума;
премию за выслугу лет;
дивиденды;
материальную выгоду и доходы, не относящиеся к зарплате;
удержания по исполнительным листам;
командировочные;
налоги и отчисления в фонды по каждому работнику и в целом по
предприятию в соответствии с действующими нормативами.
Особенности конфигурации:
программа легка в освоении и работе, имеет современный и
интуитивно понятный интерфейс;
гибкая и простая настройка конфигурации;
расчет документов по начислениям и удержаниям возможен с
использованием помощников расчета, как встроенных в конфигурацию, так и
созданных пользователем.
Преимущества программы:
Универсальность.
Программа
подходит
для
работы
на
предприятиях любого региона РФ, с любым количеством сотрудников, любых
видов деятельности и форм собственности, в том числе и в государственных
учреждениях.
Эффективность.
Удобный,
интуитивно
понятный
интерфейс
программы и подробная документация позволяют пользователю быстро
освоить программу и работать эффективно и оперативно.
Актуальность. Программа соответствует требованиям трудового
законодательства РФ. При
изменениях
своевременно вносятся изменения.
18
законодательства в программу
Оперативность обновления программы. Сразу после выхода
обновления программы новый релиз можно скачать с сайта фирмы КАМИН,
разделе «Обновления».
Таким образом, разработка нового модуля для учета выработки
сотрудников, труд которых оплачивается по сдельной форме, и расчета базовой
части начислений оплаты труда исходя из выработки сотрудников является
целесообразным,
поскольку
разрабатываемый
модуль
не
требует
дополнительных материальных затрат организации и совместим с типовой
конфигурацией «КАМИН:Расчет заработной платы».
1.4 ПОСТАНОВКА ЗАДАЧИ
1.4.1 Цель и назначение автоматизированного варианта решения
задачи
Целью выпускной квалификационной работы является разработка
предложений по автоматизации деятельности сотрудников отдела бухгалтерии,
занимающихся учетом личного состава, выработки сотрудников и начисления
основной части сдельной оплаты труда с учетом всей специфики работы в
колхозе
имени
Горина.
Модуль
будет
разработан
на
платформе
1С:Предприятие 8, что позволит реализовать подсистему учета выработки
сотрудников
и
расчета
сдельной
оплаты
труда
работников
сельскохозяйственного предприятия.
Для этого необходимо решить следующие задачи:
проведение анализа предметной области;
построение функциональной модели «Как есть»;
проведение анализа существующего программного и технического
19
обеспечения отдела бухгалтерии;
построение функциональной модели «Как должно быть»;
выделение основных требований к информационной системе;
разработать функциональную модель отдела бухгалтерии;
разработка модуля для учета выработки сотрудников, труд которых
оплачивается по сдельной форме, и расчета базовых начислений оплаты труда
исходя из выработки сотрудников;
апробация разработанного модуля;
обоснование экономической эффективности проекта.
Предлагаемая разработка должна удовлетворять следующим общим
требованиям:
производить
ввод,
редактирование,
удаление,
сохранение
и
распечатку различных документов;
настройка подсистемы должна быть как можно проще и более
понятна пользователю, также программа должна обеспечивать гибкую
настройку,
возможность
быстрого
редактирования,
формирования
и
проведения разных документов;
обеспечивать целостность данных, отбор записей, также она
позволяет работать без прерываний и ошибок, которые могут нанести
непосредственный ущерб, что негативно сказывается на работе программы.
1.4.2 Общая характеристика организации решения задачи на ЭВМ
Под бизнес-процессом подразумевается любой процесс, приводящий к
определенному результату. Моделирование и построение бизнес-процесса
позволяет исключить любые необязательные или лишние активности,
структурировать информацию о некотором объекте и определить пути
оптимизации проектируемого процесса.
20
AllFusion Process Modeler 7 – ведущий инструмент визуального
моделирования бизнес-процессов. Он дает возможность наглядно представить
любую
деятельность
или
структуру
в
виде
модели,
что
позволит
оптимизировать работу организации или ее подразделений, спроектировать
организационную
структуру,
снизить
издержки,
исключить
ненужные
операции, повысить гибкость и эффективность. AllFusion Process Modeler
позволяет
визуализировать,
анализировать
и
совершенствовать
бизнес-
процессы.
Деятельность отдела бухгалтерии по расчету заработной платы
сотрудников можно представить в виде множества взаимозависимых действий,
или функций. Для разработки функциональных моделей автоматизированной
системы расчета сдельной заработной платы было использовано программное
средство AllFusion Process Modeler 7.
В результате проектирования были построены IDEF0, DFD и IDEF3
диаграммы, отображающие технологию обработки данных и передачу
информации от одной функции к другой.
Таким
образом,
функциональная
схема,
результатом
данного
описывающая
моделирования
основные
является
бизнес-процессы,
происходящие в бухгалтерии. Общая характеристика деятельности бухгалтерии
по расчету заработной платы представлена на рисунке 1.2.
21
Рисунок 1.2 – Диаграмма первого уровня А-0 «Ведение кадрового учета и
расчета зарплаты»
Поскольку в бухгалтерии происходит множество разнообразных
процессов и выполняются различные действия, то что бы упростить
представление о работе бухгалтерии в моделях показаны только упрощенные
основные процессы, связанные с расчетом заработной платы сотрудников.
Немного более подробно рассмотрены процессы по расчету сдельной
заработной платы. Все остальные процессы и потоки опущены для упрощения
представления работы отдела.
Согласно общей характеристики деятельности, входной информацией
рассматриваемой области системы являются:
информация от сотрудников;
информация от бригадиров и старших смены.
Под «Информацией от сотрудников» понимается следующее:
данные, документы и копии документов, необходимые для приема
на работу и ведения кадрового учета (письменные заявления сотрудника о
22
приеме на работу, об увольнении, о переводе, копия паспорта, копия ИНН,
копия СНИЛС, копия документа об образовании, трудовая книжка, копия
военного билета, копии документов о повышении квалификации и т.д.);
документы для расчета и предоставления стандартных вычетов по
НДФЛ (письменное заявление сотрудника, справки об инвалидности, копии
свидетельств о рождении детей, справки с мест учебы и т.д.);
документы
для
предоставления
и
расчета
ежегодного
оплачиваемого отпуска, отпуска без сохранения заработной платы, отпуска по
уходу за ребенком, пособия по временной нетрудоспособности (письменное
заявление сотрудника, копии свидетельств о рождении детей, листки
нетрудоспособности и т.д.);
документы для расчета и производства удержаний из заработной
платы
(исполнительные
листы,
письменное
заявление
сотрудника,
профсоюзная книжка и т.д.).
Под «Информацией от бригадиров и старших смены» понимается
следующее:
информация для составления нарядов на работы, путевых листов
тракторов, автомобилей, комбайнов и другой сельскохозяйственной техники;
сведения индивидуального и/или бригадного учета выработки и
ежедневного контроля за качеством работ и продукции;
сведения
об
обеспечение
рабочего
места
оборудованием,
инструментами и средствами производства для обеспечения бесперебойной
работы;
снятые показатели норм выработки за единицу работы или на
единицу продукции, требуемые для расчета и корректировки расценок для их
оплаты и т.д.
В упрощенной модели выходной информацией системы показана лишь
отчетность. Под «Отчетностью» понимается следующее:
отчетность в налоговые органы;
отчетность
во
внебюджетные
23
органы,
в
том
числе
по
персонифицированному учету сотрудников и по социальному страхованию и
обеспечению;
отчетность в органы государственной статистики;
отчетность
для
внутренних
пользователей
(руководителей
предприятия и его структурных подразделений);
отчетность для прочих внешних пользователей при необходимости.
Поскольку диаграмма построена в нотации IDEF0, то на ней
присутствуют потоки «Управления» и «Механизма исполнения».
Управлением в данном случае являются:
Трудовой кодекс Российской Федерации;
Положение по оплате труда в колхозе имени Горина;
Правила внутреннего трудового распорядка;
Коллективный трудовой договор.
В качестве механизма исполнения на диаграмме представлены:
сотрудники бухгалтерии;
автоматизированная
информационная
система
«Камин:Расчет
заработной платы», в которой в настоящее время ведется кадровый учет и учет
расчета заработной платы.
Таким образом, для выявления последовательности действий при
выполнении основных бизнес-процессов предприятия, средствами BPwin была
построена
декомпозиция
контекстной
диаграммы
деятельности
отдела
бухгалтерии по ведению кадрового учета и расчета зарплаты, представленная в
приложении А.
Поскольку в рамках работы производилось моделирование бизнеспроцесса кадрового учета и расчета заработной платы, то была построена
декомпозиция именно этих процессов, выявлен порядок следования процессов
и их взаимодействие. В приложении А показана декомпозиция процесса
«Ведение документов (приказов) по кадрам» в нотации DFD. Данная
методология предполагает только два вида потоков данных «вход» и «выход», а
«управление» и «механизм исполнения» отсутствует.
24
В рамках работы не моделировались процессы удержаний из заработной
платы, расчета налогов и страховых взносов, а также выплаты заработной
платы, поскольку все перечисленные процессы полностью автоматизированы
штатной АИС «Камин» и отвечают всем потребностям сотрудников
бухгалтерии.
Целью исследования являлся расчет сдельной оплаты труда, поэтому на
последнем
уровне
была
продемонстрирована
диаграмма
декомпозиции
процесса «Ввод документа «Начисление сложное» для сдельной оплаты труда»
(рисунок 1.3).
Рисунок 1.3 – Пятый уровень А5.1.3.1 диаграммы «Ввод документа
«Начисление сложное» для сдельной оплаты труда» (AS-IS)
При подробном изучении данной предметной области можно прийти к
выводу, что информационная подсистема значительно упростит работу
экономиста-нормировщика отдела бухгалтерии, производящего расчет базовой
части сдельной оплаты труда. Разработка подсистемы позволит уменьшить
25
вероятность случайных ошибок, возникающих в силу влияния человеческого
фактора, значительно упрощаются работа экономиста-нормировщика. Также
стоит отметить, что работа экономиста-нормировщика подразумевает работу с
большими объемами данных и разрабатываемая подсистема призвана не только
исключить случайные ошибки, но и уменьшить временные затраты на
обработку, поиск данных, выполнение функций, составление отчетности.
Таким образом, повысится эффективность работы отдела бухгалтерии.
1.5 Анализ существующих разработок и обоснование выбора
технологии проектирования
Сегодня в условиях развития информационных технологий существует
большое
количество
информационных
систем,
обеспечивающих
автоматизированное решение всего комплекса задач бухгалтерского учета,
планирования, анализа финансово-хозяйственной деятельности, внутреннего
аудита – это и пакеты прикладных программ, и подсистемы бухгалтерии в
системах для предприятий, и небольшие разработки. На рынке предлагаются
различные информационные системы для бухгалтеров, которые позволяют
быстро
и
удаленно
актуализировать
знания
бухгалтера.
Некоторые
предложенные системы, как правило, не содержат всей необходимой
информации в комплексе, и бухгалтеру необходимо обращаться к различным
источникам информации одновременно.
Любая информационная система может быть проанализирована на
основе совокупности характеристик (цена; требуемые технические параметры
компьютера
и
периферийных
устройств;
состояние
документации;
технологические параметры – уровни доступа, контроль целостности БД,
гибкость
и
открытость;
возможность
настройки
на
особенности
пользовательской среды в техническом, организационном и функциональном
26
отношении; наличие инструментальных средств; качество пользовательского
интерфейса;
сетевые
возможности;
сложность
изучения,
внедрения
и
эксплуатации; взаимосвязь с другими пакетами; функциональные особенности).
Наиболее известные в России, странах СНГ и мире программами по
решению задач бухгалтерского учета с точки зрения их функциональных
особенностей представлены ниже.
ETWeb™ Enterprise это web-приложение, которое может использоваться
как самостоятельное решение или интегрироваться в существующую ITсистему в качестве HR модуля. В основе система персонального сервиса,
состоящая из трѐх компонентов: HR администратор, линейный руководитель и
сотрудник. Использование MS SQL Server позволяет строго распределять роли
и права в системе.
Возможны несколько способов аутентификации пользователей. Рабочее
место пользователя технически не является частью дистрибутива ETWeb для
того, чтобы работать с системой, пользователям нужен только доступ к Webбраузеру. Работа в системе и внесение изменений происходят в режиме on-line.
Встроенный генератор отчѐтов позволяет создавать отчеты в любом удобном
формате (html, xls, pdf).
Функциональность:
1)
База HR-данных (Электронные личные дела сотрудников и
документооборот;
Профили
позиций;
Управление
организационными
единицами; Поддержка шкалы должностей Merser, оценки должностей по Hay
и т.д.; Автоматические напоминания и контроль выполнения задач);
2)
Управление эффективностью (Каталоги компетенций, основанных
на требованиях к позициям; Управление по целям; Согласование задач между
подразделениями);
3)
Управление компенсациями и льготами (Гибкое управление
компенсациями; Обзоры заработных плат; Планирование долгосрочной
мотивации; Оценка сбалансированности зарплат; Анализ эффекта изменений
заработной платы; Специальные вознаграждения и выплаты специалистам,
27
работающим за рубежом);
4)
Управление навыками и способностями (Централизованные модели
компетенций; Профили компетенций для сотрудников, позиций и семейств
позиций; Внутренняя ротация и кадровое обеспечение проектов; Анализ
потенциала сотрудников; GAP анализ; Отчеты по оценке 360?; Автоматический
обмен данными с системой расчета заработных плат);
5)
Планирование карьеры и системы преемственности (Создание
кадрового резерва; Сценарии продвижения и преемственности; Анализ
потребностей в развитии; Согласование рекомендаций руководителя и
индивидуальных предпочтений; Поиск наиболее подходящих профессионалов;
Внутренняя
база
данных
кандидатов;
Оценка
риска
потери
ценных
сотрудников);
6)
Управление
обучением
и
развитием
(Система
управление
обучающими и развивающими мероприятиями; Администрирование ротаций,
наставничества, смешанного обучения и т.п.; Он-лайн каталог курсов и
тренингов; Интеграция с системой управления навыками и способностями;
Детальные истории и планы развития; Автоматические рекомендации курсов);
7)
Организационные диаграммы (Web-интерфейс для просмотра
организационных схем; Построение различных видов диаграмм; Карты знаний;
Визуализация результатов планируемых перестановок с помощью диаграмм;
Визуализация результатов оценки позиций; Возможность визуализации любого
фрагмента отчета) [14].
Контур
полноценной
ERP-системы
"Галактика"
"Управление
персоналом" ориентирован на предприятия с полномасштабным кадровым
учетом, включающим ведение личной карточки, военно-учетной информации и
так далее, на организации с нестандартными структурами, содержащими
внештатных
работников,
совместителей,
надомников,
географически
разветвленную сеть представительств. Также "Галактика" рассчитана на
организации, хранящие подробные сведения о сотрудниках и создающие
информационно-справочные системы по персоналиям. Состав хранимых в
28
системе данных полностью охватывает утвержденные директивными органами
личную карточку и типовую анкету, формирование штатного расписания по
подразделениям и получение широкого спектра отчетов по штатному
расписанию, а также много другой полезной аналитической информации.
Система
позволяет
контролировать:
численность
персонала
и
использование рабочего времени; правильное документальное оформление
выработки рабочих-сдельщиков и других работников; своевременное и
правильное начисления заработной платы, расчета отпускных, пособий и их
выдачи; своевременное и правильное удержания налогов и платежей,
перечисление их бюджету или по назначению; распределение заработной платы
по объектам калькуляции; использование фонда заработной платы и выплаты
премий; составление отчетности по труду и заработной плате и ее
представление в соответствующие органы управления.
«1С:Зарплата и Управление Персоналом 8» – это готовое к работе
решение, в котором учтены требования законодательства, реальная практика
работы предприятий и мировые тенденции развития методов мотивации и
управления персоналом.
Использование системы 1С: Зарплата и кадры позволяет грамотно
организовать хранение огромных массивов информации - персональные
данные сотрудников, кадровый резерв, результаты аттестаций и обучений и
множество других ценных данных, которые зачастую являются еще и
коммерческой тайной предприятия.
В 1С: Зарплата и управление можно не только в течение долгого
времени хранить информацию, но и оперативно ее использовать – для учета
кадров, расчета зарплаты, составления различной отчетности, а также для
эффективного распределения задач между сотрудниками отдела кадров и
контроля результатов их выполнения.
Система 1С:Зарплата и управление персоналом полностью согласуется с
требованиями законодательства Российской Федерации для максимально
эффективного
и
безопасного
управления
29
человеческими
ресурсами
в
коммерческих организациях. При этом функционал программы полностью
соответствует требованиям Федерального Закона № 152 «О персональных
данных», регламентирующего порядок и способы хранения и использования
персональных данных сотрудников. Таким образом, используя программу 1с
зарплата, уполномоченное лицо может в любой момент мгновенно получить
полные данные о событиях, связанных с работой на предприятии каждого
сотрудника – о приеме на работу, текущих и выполненных задачах,
пройденных курсах и повышениях квалификации, его персональные данные,
сведения о расчете и начислении заработной платы и пр.
полный комплекс бухгалтерского учета. Отличительные особенности
комплекса – функциональная полнота и комплексное решение всех задач учета.
А также: обработка проводок с детальной аналитической информацией; учет
затрат на производство и калькулирование себестоимости продукции с
формированием соответствующих записей в Главной книге; элементы
финансового анализа; автоматическое начисление процентов и отчисление
налогов; система аппаратной и программной защиты информации; удобный
интерфейс [12].
Изучив
предметную
область,
исследовав
деятельность
отдела
бухгалтерии в колхозе имени Горина, занимающегося учетом сотрудников,
фиксированием их фактической выработки и начислением им заработной платы
на основании их выработки, а так же проанализировав аппаратное и
программное
обеспечение,
которое
используется
на
предприятии
и
современный рынок конкурентного программного обеспечения, можно сделать
вывод о том, что доработка имеющейся конфигурации «Камин:Расчет
заработной платы» является наиболее целесообразным решением поставленных
выше
задач.
Поскольку
в
этом
случае
не
потребуется
приобретать
дополнительное программное обеспечение, обучать сотрудников работе с
новым программным продуктом, налаживать взаимосвязь и сопоставимость
данных из различных программных продуктов.
30
2 Основные проектные решения
2.1 Обоснование проектных решений по техническому
обеспечению
Техническое обеспечение – это комплекс технических средств,
предназначенных
для
работы
информационной
системы,
а
также
соответствующая документация на эти средства и технологические процессы.
Комплекс технических средств составляют: компьютеры любых моделей;
устройства сбора, накопления, обработки, передачи и вывода информации;
устройства передачи данных и линий связи; оргтехника и устройства
автоматического съема информации; эксплуатационные материалы и др. [15]
Отдел бухгалтерии располагает полным перечнем технических средств
необходимых для успешного его функционирования:
компьютер (сервер), обеспечивающий работу серверных программ,
работу внутреннего портала организации и предоставление доступа к
интернету на рабочие станции;
6 персональных компьютеров (рабочие станции) на рабочих местах
сотрудников;
сетевое оборудование, обеспечивающее соединение всех сетевых
устройств в локальную сеть и обеспечивающее доступ в Интернет;
оргтехника:
принтеры
и
плоттеры
(локальные
и
сетевые),
электрический резак, МФУ.
Все персональные компьютеры оснащены мониторами современных
стандартов с 23 дюймовым размером диагонали.
Характеристика одного из персонального компьютера, стоящего в
отделе бухгалтерии, описана в пункте 1.3. выпускной квалификационной
31
работы. При выборе ЭВМ для реализации комплекса поставленных задач
учитываются такие характеристики как:
скорость обработки информации (тактовая частота процессора);
объем оперативной памяти; этот фактор также влияет на скорость
обработки информации;
объем жесткого диска, который влияет на возможности хранения
данных;
наличие периферийных устройств.
После проведенного анализа можно сделать вывод о том, что
минимальная конфигурация ЭВМ, то есть та, при которой программа будет
работать удовлетворительно, как по скорости, так и по качеству, должна быть
следующей:
2 Гбайта оперативной памяти;
1 Гбайт свободного пространства на жестком диске;
печатающее устройство;
видеоадаптер SVGA с разрешением не менее 1024х768.
Для
печати,
сканирования
и
копирования
документов
должно
присутствовать соответствующее оборудование. Для обеспечения сохранности
данных при аварийном отключении электропитания персональный компьютер
должен быть оборудован блоком бесперебойного питания.
Как
многофункциональными
устройствами,
так
и
устройствами
бесперебойного питания, рабочие места пользователей уже оборудованы,
поэтому внедрение разрабатываемой системы сервисного центра не требует
закупки и установки дополнительных технических средств.
Для
эффективного
решения
поставленной
в
выпускной
квалификационной работе задачи вполне достаточно технических средств,
имеющихся в отделе бухгалтерии. Техническое обеспечение данного центра
включает в себя непосредственно ЭВМ (системный блок), монитор, клавиатуру,
манипулятор типа мышь и принтер.
32
2.2 Обоснование проектных решений по информационному
обеспечению
Информационное обеспечение – это создание информационных
условий функционирования системы, обеспечение необходимой информацией,
включение в систему средств поиска, получения, хранения, накопления,
передачи, обработки информации. Информационное обеспечение состоит из
внутримашинного (массивы данных, программы для решения задач), и
внемашинного
(системы
классификации
и
кодирования
оперативных
документов, нормативно-справочной информации). [16]
Одним из важных требований к информационному обеспечению
является
достоверность
данных
информационной
базы,
необходимая
достоверность данных в информационных базах обеспечивается высокой
степенью контроля на всех стадиях работы с данными.
Особенностями технологии обработки данных являются:
–
функционирование в режиме диалога с пользователем,
–
наличие накопителей информации,
–
исключение бумажных технологий для обработки информации.
Благодаря диалоговому режиму отсутствует четко установленная
заранее последовательность операций по обработке данных.
В технологический процесс входят: загрузка программы; ввод данных;
контроль
информации
и
возможность
корректировки;
справочно-
информационное обслуживание; формирование информационных массивов;
вывод информации.
Существует несколько способов регистрации первичной информации:
документальный;
документальный с регистрацией на машинном носителе;
автоматический.
33
В разрабатываемом модуле будет использоваться как первый, так и
второй способы регистрации информации. Ввод, обработка и выдача
информации будет производиться в диалоговом режиме.
В основе диалогового режима лежит динамическое взаимодействие
машины и человека посредством приема и передачи данных через устройства
ввода/вывода. При диалоговом режиме обеспечивается поиск необходимой
информации, быстрая обработка команд, сообщений, активное воздействие
пользователя на ход обработки данных. Организация диалога осуществляется
посредством установки связей между данными, которые представляют собой
информационные модели.
2.3 Обоснование проектных решений по программному обеспечению
Программное
обеспечение
(ПО)
–
это
совокупность
программ,
выполняемых вычислительной системой, а также и вся область деятельности по
проектированию и разработке ПО, а именно технология проектирования
программ;
методы
тестирования
программ;
методы
доказательства
правильности программ; анализ качества работы программ и др. ПО неотъемлемая часть ЭВМ, являющееся логическим продолжением технических
средств ЭВМ, расширяющие их возможности и сферу использования. [17]
Автоматизация задачи предполагается на операционной системе
Microsoft Windows 7. Выбор данной системы обуславливается тем, что
Windows является довольно стабильной операционной системой и вероятность
сбоя гораздо меньше по сравнению с новыми версиями Windows от Microsoft.
Так же по сравнению с более новыми версиями данная система потребляет
гораздо меньше системных и программных ресурсов, что положительно влияет
на скорость ее работы. Кроме того, большинство программ и приложений
34
пишется именно для данной операционной системы и эта операционная
система установлена на персональных компьютерах отдела бухгалтерии.
Так же для решения поставленной задачи будет использована система
«1С:Предприятие
8».
Технологическая
платформа
«1С:Предприятие»
представляет собой программную оболочку над базой данных. Кроме того,
начиная с версии 8.1 хранение данных возможно в СУБД PostgreSQL, а также
DB2.
Система
имеет
свой
внутренний
язык
программирования,
обеспечивающий помимо доступа к данным возможность взаимодействия с
другими программами посредством OLE и DDE с помощью COM-соединения.
Клиентская часть платформы функционирует только в среде ОС Microsoft
Windows. (Благодаря Wine существует также возможность запуска системы
программ «1С:Предприятие» на Unix-подобных операционных системах.)
Серверная
часть
при
использовании
PostgreSQL
или
DB2
может
функционировать на операционной системе Unix.
Система «1С:Предприятие 8» имеет в своей основе ряд механизмов,
определяющих концепцию создания прикладных решений. Наличие этих
механизмов позволяет максимально соотнести технологические возможности с
бизнес-схемой разработки и внедрения прикладных решений .
Ключевым
моментом
является
отделение
разработчика
от
технологических подробностей, использование собственной модели базы
данных и масштабируемость прикладных решений без их доработки.
В системе «1С:Предприятие 8» имеется целый набор средств, с
помощью которых можно создавать, обрабатывать и обмениваться данными
различных форматов, осуществлять доступ ко всем объектам системы
«1С:Предприятие
поддерживать
8»,
реализующим
различные
протоколы
ее
функциональные
обмена,
возможности,
поддерживать
стандарты
взаимодействия с другими подсистемами, создавать собственные интернетрешения.
Механизмы обмена
платформе
данными, реализованные в технологической
«1С:Предприятие
8»,
позволяют
35
создавать
территориально
распределенные информационные системы как на основе информационных баз
«1С:Предприятия 8», так и с участием других информационных систем, не
основанных на «1С:Предприятии 8».
Мощные средства формирования отчетов и печатных форм позволяют
создавать
оформление
необходимое
пользователю:
интеллектуальное
построение иерархических, многомерных и кросс-отчетов, получение любых
аналитических данных с произвольной
настройкой пользователем без
изменения прикладного решения, группировки и расшифровки в отчетах,
детализация и агрегирование информации, сводные таблицы для анализа
многомерных данных, динамическое изменение структуры отчета, различные
типы диаграмм для графического представления экономической информации.
В
колхозе
имени
Горина
установлена
и
эксплуатируется
1С:Предприятие 8.3 (8.3.7.1917), конфигурация «Камин:Расчет заработной
платы», редакция 3.0 (3.0.20.46). В результате проведенного анализа
современного рынка ПО был сделан вывод о том, что проще и дешевле
доработать
имеющуюся
конфигурацию
нужным
функционалом,
чем
приобретать, устанавливать, внедрять и обучать персонал работе с новым
программным продуктом.
2.4 Обоснование проектных решений по технологическому
обеспечению
Технологическое
обеспечение
–
основа
автоматизированной
информационной технологии, реализующая информационные процессы в
автоматизированных системах организационного управления с помощью ЭВМ
и других технических средств, удовлетворяет информационные потребности
специалистов в решении профессиональных задач. [21]
Технологический процесс можно подразделить на процессы: сбора и
36
ввода исходных данных в вычислительную систему; размещения и хранения
данных в памяти системы; обработки данных с целью получения результатов и,
процессы выдачи данных в виде, удобном для восприятия пользователем.
Технологический процесс состоит из следующих этапов:
Начальный или первичный — сбор исходных данных, их регистрация
и передача на внешние устройства;
Подготовительный
—
прием,
контроль,
регистрация
входной
информации и перенос ее на машинный носитель;
Основной — непосредственно обработка информации;
Заключительный — контроль, выпуск и передача результатной
информации, ее размножение и хранение.
В зависимости от используемых технических средств и требований к
технологии
обработки
информации
изменяется
и
состав
операций
технологического процесса.
Операции сбора и регистрации данных осуществляются с помощью
различных средств. Выделяют способы сбора и регистрации данных:
Механизированный
—
сбор
и
регистрация
информации
осуществляется непосредственно человеком с использованием простейших
приборов (весы, счетчики, мерная тара, приборы учета времени и т. д.);
Автоматизированный — использование машиночитаемых документов,
регистрирующих автоматов, универсальных систем сбора и регистрации,
обеспечивающих совмещение операций формирования первичных документов
и получения машинных носителей;
Автоматический — используется в основном при обработке данных в
режиме реального времени. Информация с датчиков, учитывающих ход
производства - выпуск продукции, затраты сырья, простои оборудования и
поступает непосредственно в ЭВМ.
В колхозе имени Горина используется простейший механический способ
сбора
информации
по
учету
выработки
сотрудников,
труд
которых
оплачивается по сдельной форме. Также имеются персональные компьютеры,
37
позволяющие в последствии привести документацию к машиночитаемому
виду.
В ходе выполнения выпускной квалификационной работы, планируется
разработка и внедрение модуля для учета выработки сотрудников, труд
которых оплачивается по сдельной форме, и рассчитывающий базовые
начисления оплаты труда исходя из выработки сотрудников. Это позволит
сократить время обработки большого количества информации, увеличить
скорость доступа к необходимой информации, исключить ошибки расчета.
Создание документов будет возможно как вручную, так и на основании
шаблонов документов. Интуитивно понятный интерфейс обеспечит простой
переход с ручного ведения учета на автоматизированный.
В данной главе были обоснованы проектные решения по техническому,
технологическому,
информационному
и
программному
обеспечению
автоматизированной подсистемы.
В результате разработки
автоматизированной подсистемы
будет
реализован совершенно новый, удобный и эргономичный подход к ведению
учета и расчету заработной платы по сдельной форме оплаты труда, исходя из
выработки работников сельскохозяйственного предприятия.
38
3 ПРОЕКТНАЯ ЧАСТЬ
3.1 ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ ПОДСИСТЕМЫ
В фазе бизнес-моделирования и разработки требований бизнес-логика
может описываться в виде:
текста;
концептуальных аналитических моделей предметной области;
бизнес-правил;
разнообразных алгоритмов;
диаграмм деятельности;
графов и диаграмм перехода состояний;
моделей бизнес-процессов.
Одной из важных функций любого отдела предприятия является
формирование отчетности по его деятельности. Данная отчетность передается
руководителям отделов и руководителю самого предприятия и служит для
анализа деятельности.
В процессе изучения работы существующего ПО были выявлены такие
недостатки как:
отсутствие «отчета по выработке сотрудников»;
отсутствие «отчета по начислениям сдельной оплаты труда
сотрудников»;
отсутствие «отчета по используемым агрегатам»;
отсутствие «отчета по культурам»;
отсутствие возможности автоматизированного учета первичной
учетной документации (наряды, путевые листы и т.д.);
большой объем вычислений, производимых вручную в Excel.
39
Все
перечисленные
выше
расчеты
и
отчеты
производятся
и
формируются вручную, что требует довольно кропотливой и длительной
работы. Основной информацией для ведения данного учета является
информация, поступающая от бригадиров и старших смен, а также
находящаяся в различных справочниках и регистрах учета в программе Камин.
Ежедневная фиксация поступающей от бригадиров информации о выработке и
закрытие Нарядов на работы, позволит минимизировать возможные ошибки,
вести все дальнейшие расчеты и получать отчетную информацию в
разнообразных разрезах.
Поэтому
целесообразно
экономиста-нормировщика,
что
автоматизировать
позволит
в
данную
любое
деятельность
время
получить
необходимую выходную информацию.
На рисунке 3.1 показана модель «КАК ДОЛЖНО БЫТЬ», которая
наглядно демонстрирует, как изменится работа сотрудников бухгалтерии после
ввода в эксплуатацию модуля расчета сдельной оплаты труда.
Рисунок 3.1 – Пятый уровень А5.1.3.1 диаграммы «Ввод документа
«Начисление сложное» для сдельной оплаты труда» (TO-BE)
40
Из рисунка видно, что ручных расчетных операций и ручного
заполнения первичной учетной документации, подлежащей хранению больше
нет, новая автоматизированная подсистема позволяет один раз вводить
информацию, представленную бригадирами и старшими смен, а все остальные
формы и дальнейшие расчеты производятся автоматически.
Разработка и модификация прикладного решения производится в
режиме «Конфигуратор». После определения общей архитектуры и структуры
данных
были
созданы
программные
модули
на
встроенном
языке
программирования. Для разрабатываемой подсистемы можно выделить
основные объекты конфигурации, которые необходимо реализовать.
Список объектов для создания подсистемы представлен в таблице 3.1.
Таблица 3.1 – Объекты подсистемы
Тип объектов
Интерфейс
Справочники
Документы
Регистры
Обработки
Отчеты
Объекты
ИнтерфейсНормировщика
Дополнительно к стандартным были добавлены или
модифицированы: ВидыРабот, Автотранспорт, Культуры,
Агрегаты,
Нормы,
МаркаАвтотранспорта,
Расценки,
Коэффициенты, Начисления, Показатель
Дополнительно к стандартным были добавлены:
Наряд, РасчетЗаработнойПлатыСдельной.
Дополнительно к стандартным был добавлен регистр
накопления: ВыработкаИОсновныеНачисления
Дополнительно к стандартным была добавлена
обработка РабочаяПанель.
Дополнительно к стандартным были добавлены:
ОтчетПоСотрудникам,
ОтчетПоАвтомобилям,
ОтчетПоКультурам.
41
3.2 ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА СПРАВОЧНИКОВ
ИНФОРМАЦИОННОЙ ПОДСИСТЕМЫ ОТДЕЛА БУХГАЛТЕРИИ
Для
реализации
поставленных
задач
было
решено
доработать
существующую конфигурацию, расширив ее функционал новым модулем учета
работ и расчета основной части сдельной оплаты труда.
Для этого в конфигурацию были добавлены следующие справочники:
–Автотранспорт – справочник содержит информацию об имеющемся на
предприятии парке автотранспортных средств (рисунок 3.2).
Рисунок 3.2 – Справочник «Автотранспорт»
–Агрегаты – иерархический справочник содержит информацию об
агрегатах, которыми комплектуются транспортные средства при выполнении
тех или иных сельскохозяйственных работ (рисунок 3.3).
42
Рисунок 3.3 – Справочник «Агрегаты»
–Марка автотранспорта – справочник содержит перечень марок
автотранспортных средств (рисунок 3.4).
Рисунок 3.4 – Справочник «Марка автотранспорта»
43
–Культуры – справочник содержит перечень всех культур, которые
выращиваются и обрабатываются в рассматриваемом сельскохозяйственном
предприятии (рисунок 3.5).
Рисунок 3.5 – Справочник «Культуры»
–Виды работ – иерархический справочник содержит информацию о
наименовании вида работ, ее единице измерения и разряде (рисунок 3.6)
Рисунок 3.6 – Справочник «Виды работ»
44
–Расценки – иерархический справочник, при открытии которого можно
установить для нормировщиков отображение только сдельных расценок или
только повременных, а также отображение сразу и сдельных и повременных
расценок (рисунок 3.7). Для реализации подобного отбора в модуле формы
элемента справочника был прописан соответствующий код.
Рисунок 3.7 – Справочник «Расценки»
–Нормы – иерархический справочник, содержащий перечисление
различных
видов
норм,
взаимоувязывающих
виды
работ,
марку
автотранспортного средства и используемый агрегат, а в зависимости от этого
были рассчитаны и указаны нормы выработки на единицу показателя и
нормативный расход горючего (рисунок 3.8).
Рисунок 3.8– Справочник «Нормы»
45
–Коэффициенты
– справочник, в котором приводятся
сменные
эталонные выработки для каждого вида агрегата и автотранспортного средства
(рисунок 3.9). Эти коэффициенты используются в дальнейшем при расчете
сдельной оплаты труда.
Рисунок 3.9– Справочник «Коэффициенты»
Также были модифицированы следующие справочники:
–Сотрудники
стандартной
–
иерархический
информации
была
справочник,
добавлена
в
новая
который
табличная
помимо
часть
«Автомобили», куда автоматически выводятся все автотранспортные средства
из справочника «Автотранспорт», для которых выбранный сотрудник является
закрепленным работником-владельцем (рисунок 3.10). Если же воспользоваться
кнопкой добавления автомобиля, то откроется новый элемент справочника
«Автотранспорт»,
будет
предложено
заполнить
и
сохранить
новое
автотранспортное средство. Для каждого работника, при необходимости,
можно назначить одно из автотранспортных средств в качестве основного
(кнопка «Основной»), тогда при заполнении документа «Наряд» именно данное
автотранспортное средство будет автоматически выставляться для работника и
все нормы выработки, расценки, эталонные нормы будут выведены для этого
автомобиля.
46
Рисунок 3.10 – Справочник «Сотрудники»
–Начисления – были добавлены новые виды начислений, актуальные для
рассматриваемого сельскохозяйственного предприятия (рисунок 3.11).
Рисунок 3.11 – Справочник «Начисление»
47
3.3 Проектирование и разработка документов информационной
подсистемы автоматизации
Основными объектами, созданными для автоматизации поставленных
задач, являются документы. Документы – это прикладные объекты, которые
предназначены
для
фиксации
разнообразных
фактов
хозяйственной
деятельности. Обычно, документы проводятся и, тем самым, осуществляют
запись данных в разнообразные регистры, которые можно рассматривать, как
полноценные таблицы базы данных в 1С.
Ниже представлены разработанные основные документы, которые
позволяют фиксировать выработку и производить расчет основной части
сдельной заработной платы.
Рисунок 3.12 – Документ Наряд
Документ
«Наряд»
вводится
экономистом-нормировщиком,
работающим в отделе бухгалтерии. Документ фиксирует ежедневную
48
фактическую выработку каждого сотрудника. Рассматривались два варианта
заполнения документа:
1)
Один документ вводится на месяц на одного сотрудника и в этом
документе по датам фиксируются все выполненные им работы. Таким образом,
в конце документа нормировщик увидит общее количество дней и часов,
отработанных данным сотрудником за месяц, а также общую сумму,
начисленную за все выполненные работы, а общее количество введенных
документов
будет
равно
общей
штатной
численности
сотрудников,
работающих по сдельной системе оплаты труда.
2)
Ежедневно
старшим
смены/участка/бригады
предоставляются
отчеты о выполненных работах, по предоставленным данным экономистнормировщик вводит документ «Наряд», в котором за один день фиксирует
выработку всех сотрудников данной бригады или данного участка. Таким
образом, за месяц будет введено столько документов, сколько рабочих дней в
этом месяце.
Однако, если требуется проверить работы по какому-либо сотруднику
информацию о его выработке или подсчитать оперативно количество
отработанных дней и часов, то это сделать сложнее во втором варианте.
Поэтому в настоящее время была избрана тактика ввода документов по
первому варианту и поэтому поле «Механизатор» было решено указать в шапке
документа. Хотя, в будущем подсистему можно доработать отчетами или
обработками, оперативно показывающими нужную информацию по каждому
сотруднику или по участку, по бригаде в нужном разрезе, а поле
«Механизатор» опустить в табличные части. Все это позволит использовать как
первый, так и второй вариант и даже сочетать их без всяких ограничений.
Документ «Наряд» имеет три табличных части, которые на форме
документа представлены на разных закладках панели (рисунок 3.13):
ПолевыеРаботы, РемонтныеРаботы, ПрочиеРаботы.
49
Рисунок 3.13 – Форма документа Наряд
Модуль документа «Наряд» представлен в приложении Б.
Для документа «Наряд» разработана печатная форма «Учетный лист
тракториста-машиниста», которая позволяет вывести на бумажный носитель
все введенные в документ показатели. Разработанный макет печатной формы
показан на рисунке 3.14.
Рисунок 3.14 – Макет печатной формы «УчетныйЛист» для документа «Наряд»
50
При проведении документа «Наряд» все данные по сотруднику
попадают в регистр накопления «ВыработкаИОсновныеНачисления».
Вторым
документом,
который
задействован
в
разрабатываемой
подсистеме является документ «РасчетЗаработнойПлаты» (рисунок 3.15). Этот
документ позволяет по всему участку или по бригаде рассчитать все основные
начисленные
суммы,
соответствующий
которые
стандартный
впоследствии
документ
удобно
«Начисление
перенести
простое»
в
или
«Начисление сложное» конфигурации «Камин: Расчет заработной платы».
Рисунок 3.15 – Документ «РасчетЗаработнойПлаты»
У документа «Расчет заработной платы» имеется всего одна табличная
часть «Начисления», которая заполняется автоматически при нажатии на
кнопку «Заполнить», находящуюся на командной панели над табличной частью
(рисунок 3.16). При нажатии на кнопку «Заполнить» происходит выборка,
группировка по сотруднику и по месяцу начисления, а также суммирование
всех начисленных сумм в документах «Наряд». При необходимости,
экономист-нормировщик или бухгалтер, формирующий данный документ
может вручную откорректировать полученные суммы.
51
Рисунок 3.16 – Форма документа «РасчетЗаработнойПлаты»
Программный
модуль
документа
«РасчетЗаработнойПлаты»
представлен в Приложении В.
3.4 Проектирование и разработка выходных форм и интерфейса
подсистемы сдельной оплаты труда
Разработка подсистемы автоматизации выполняется в программной
среде «1С:Предприятие 8», которая включает в себя платформу и прикладные
решения, разработанные на ее основе. Сама платформа не является
программным продуктом для использования конечными пользователями,
которые обычно работают с одним из многих прикладных решений
(конфигураций), разработанных на данной платформе. Такой подход позволяет
автоматизировать
различные
виды
деятельности,
используя
единую
технологическую платформу. Эта проблемно-ориентированная платформа
позволяет с легкостью конфигурировать информационные системы для любой
предметной области. В предыдущих разделах выпускной квалификационной
работы были рассмотрены проектирование и разработка основных объектов
конфигурации: справочники и документы. В этом разделе поговорим об
52
удобной работе с системой, для которой был создан интерфейс пользователя и
различные отчеты.
С
разрабатываемым
нормировщик,
интерфейсом
поэтому
«ИнтерфейсНормировщика».
будет
интерфейс
Работа
в
работать
экономист-
получил
конфигурации
название
«Камин:Расчет
заработной платы 3.0» осуществляется в режиме обычного приложения,
поэтому разрабатываемый модуль также выполнен в данном режиме, а для
удобства работы пользователя была создана обработка «РабочаяПанель»,
которая загружается автоматически при входе сотрудника в программу. В
процессе работы экономист-нормировщик не может закрыть эту обработку, она
представлена ему в виде «рабочего стола» с несколькими закладками (рисунок
3.17):
Закладка «Предприятие» – можно получить доступ к стандартным
справочникам, таким как Организации, Сотрудники, Начисления и т.д.
Закладка
«Нормирование»
–
можно
получить
доступ
к
справочникам, добавленным в разрабатываемый модуль учета работ и
начисления сдельной оплаты труда, например, Автотранспорт, Агрегаты,
Культуры, Работы и т.д.
Закладка «Учет работ» – можно получить доступ к основным
документам «Наряд» и «Расчет заработной платы», а также, для удобства
пользователя, дублируется доступ к основным справочникам «Работы» и
«Нормы».
Закладка
«Отчеты»
-
можно
получить
доступ
к
отчетам,
добавленным в разрабатываемый модуль учета работ и начисления сдельной
оплаты труда, например, Сводный отчет по сотрудникам, Отчет по культурам,
Отчет по автотранспорту и т.д.
Закладка «Настройки» - можно получить доступ к некоторым
настройкам программы, разрешенным к просмотру или изменению правами
конкретного пользователя.
53
Рисунок 3.17 – Интерфейс Нормировщика (обработка «Рабочая панель»)
В коде модуля обычного приложения была прописана процедура,
отвечающая за открытие обработки при запуске конфигурации пользователем:
Процедура ПриНачалеРаботыСистемы()
Обработки.РабочаяПанель.ПолучитьФорму().Открыть();
КонецПроцедуры
Полностью код модуля обработки «РабочаяПанель» представлен в
приложении Г.
Поскольку объектов, относящихся к разрабатываемой подсистеме не
очень много, то интерфейс получился не перегруженный ссылками на объекты,
что позволило добавить картинки к основным ссылкам, сделав интерфейс более
привлекательным для пользователя.
В процессе работы пользователю зачастую необходимо посмотреть либо
предоставить руководству некую сводную информацию, для вывода подобной
информации в 1С предназначены прикладные объекты «Отчеты». В рамках
54
выполнения выпускной квалификационной работы были созданы три основных
отчета: Отчет по сотрудникам, Отчет по культурам и Отчет по автомобилям.
Однако, список отчетов не является полным и в дальнейшем, по требованию
персонала сельхозпредприятия колхоза имени Горина, можно доработать
конфигурацию всеми необходимыми отчетами.
Макеты отчетов были созданы стандартными средствами и их вид
представлен на рисунках 3.18 – 3.20, а заполненные варианты отчетов
приведены в разделе «Описание контрольного примера реализации проекта».
Рисунок 3.18 – Макет отчета «ОтчетПоСотрудникам»
Рисунок 3.19 – Макет отчета «ОтчетПоАвтомобилям»
55
Рисунок 3.20 – Макет отчета «ОтчетПоКультурам»
3.5 Описание контрольного примера реализации проекта
Документ «Наряд» имеет три табличных части, которые на форме
документа представлены на разных закладках панели (рисунок 3.21):
ПолевыеРаботы, РемонтныеРаботы, ПрочиеРаботы.
В табличную часть «Полевые работы» следует вводить информацию обо
всех выполненных работах в поле, что продемонстрировано на рисунке 3.21.
При выборе механизатора автоматически выводится автомобиль, если он
назначен, как основной для данного механизатора. Если за механизатором
закреплено несколько автомобилей и ни один из них не назначен основным,
тогда
экономист-нормировщик
вручную
выбирает
из
списка
нужный
автомобиль. После указания культуры, работы и агрегата, с помощью которого
выполнялась данная работа автоматически выставляются нормы выработки,
расценки и
нормативный расход горючего. Затем вручную
вводятся
фактические показатели выработки и фактический расход горючего. При
необходимости, вручную указывается сколько ночных часов отработал
сотрудник, поскольку ночные часы (с 22 до 6 утра) оплачиваются, в
соответствии с трудовым кодексом и внутренними нормативными документами
56
предприятия, по более высоким тарифам. После ввода всех необходимых
показателей автоматически подсчитываются итоговые количества и суммы.
Рисунок 3.21 – Табличная часть «Полевые работы» документа «Наряд»
В табличную часть «Ремонтные работы» следует вводить информацию
обо всех выполненных ремонтных работах, что продемонстрировано на
рисунке 3.22. Поскольку трактористы-машинисты обычно самостоятельно
занимаются мелким текущим ремонтом и обслуживанием своих автомобилей и
используемых агрегатов, то затраченное на эти работы время тоже необходимо
учесть для выплаты зарплаты и каждый вид работ так же имеет свои расценки и
свой норматив выполнения.
57
Рисунок 3.22 – Табличная часть «Ремонтные работы» документа «Наряд»
Табличную часть «Прочие работы» следует заполнять если работник
выполняет прочие сопутствующие или обслуживающие работы, например,
вывоз мусора, обкос территории и обочин и т.п. Эта табличная часть похожа по
заполнению на табличную часть «Ремонтные работы».
Для
удобства
составления,
унифицированного
представления
и
хранения в печатном виде первичной учетной документации по учету
выработки сотрудников, а также для ознакомления под роспись с этими
данными сотрудника была разработана и реализована печатная форма
документа «Наряд», которая представлена на рисунке 3.23.
58
Рисунок 3.23 – Печатная форма «Учетный лист» для документа «Наряд»
Вторым
документом,
который
задействован
в
разрабатываемой
подсистеме является документ «РасчетЗаработнойПлаты». Этот документ
позволяет по всему участку или по бригаде рассчитать все основные
начисленные
суммы,
соответствующий
которые
стандартный
впоследствии
документ
удобно
«Начисление
перенести
простое»
в
или
«Начисление сложное» конфигурации «Камин: Расчет заработной платы».
У документа «Расчет заработной платы» имеется всего одна табличная
часть «Начисления», которая заполняется автоматически при нажатии на
кнопку «Заполнить», находящуюся на командной панели над табличной
частью. При нажатии на кнопку «Заполнить» происходит выборка, группировка
по сотруднику и по месяцу начисления, а также суммирование всех
начисленных сумм в документах «Наряд».
59
Пример заполненного документа «Расчет заработной платы» приведен
на рисунке 3.24.
Рисунок 3.24 – Документ «Расчет заработной платы»
Также была создана печатная форма документа «Расчет заработной
платы» для вывода на бумажный носитель списка сотрудников и сумм,
подлежащих начислению по сдельной форме оплаты труда. Пример печатной
формы приведен на рисунке 3.25.
Рисунок 3.25 – Печатная форма документа «Расчет заработной платы»
Помимо печатных форм документов для оперативного и удобного
получения сводной информации о сотрудниках, автомобилях и культурах были
созданы необходимые отчеты.
60
Печатная форма сводного «Отчета по сотрудникам» представлена на
рисунке 3.26. Отчет позволяет за указанный период получить перечень всех
работ, выполненных каждым сотрудником с указанием отработанных дней,
фактической выработки и начисленной суммой по каждой работе.
Рисунок 3.26 – Отчет по сотрудникам
Печатная форма «Отчета по автотранспорту» представлена на рисунке
3.27. Этот отчет позволяет получить информацию о фактическом расходе
горючего каждым автотранспортным средством в разрезе сотрудников.
Рисунок 3.27 – Отчет по автотранспорту
61
3.6 Организационно-экономическая часть
Основными задачами разработки информационной системы, являлись
уменьшение объема непроизводительной работы по подготовке документов и
их рутинной обработки, что позволило бы частично освободить экономистанормировщика от бумажной работы. Автоматизированная информационная
система будет производить учет норм выработки и реальных показателей, а на
основе полученных данных рассчитывать основную часть заработной платы
работников, тарифицируемых по сдельной форме оплаты труда.
Для достижения данной цели, разрабатываемая информационная
система должна:
1)
В любой момент предоставлять необходимую информацию о
культурах, агрегатах, автотранспорте, работах, расценках;
2)
Производить
нормирование
труда
работников
сельскохозяйственного предприятия и его учета, путем ввода и закрытия
нарядов на работы;
3)
На основании нарядов производить расчет основной части сдельной
оплаты труда работников сельскохозяйственного предприятия;
4)
На основе введенных данных формировать и выводить на печать
выходные формы, такие как:
Сводный отчет по сотрудникам;
Отчет по автотранспорту;
Отчет по культурам.
Эффективность
внедрения
информационной
системы
–
целесообразность применения средств вычислительной и организационной
техники при формировании, передаче и обработке данных.
Экономический
эффект
от
внедрения
вычислительной
и
организационной техники можно оценить на основании прямой и косвенной
эффективности.
62
Прямой экономический эффект – экономия материально-трудовых
ресурсов и денежных средств, полученная в результате сокращения расхода
основных
и
вспомогательных
материалов
вследствие
автоматизации
конкретных видов работ.
Косвенный эффект – экономия средств в процессе производства,
проявляющаяся
в
конечном
результате
хозяйственной
деятельности
предприятия.
Оба вида рассмотренных экономических эффектов взаимосвязаны.
Реализация любого проекта требует материальных и финансовых затрат.
Она всегда связана с риском, поскольку нельзя заранее сказать, в какой мере
проект выйдет на коммерциализацию, и найдутся ли потребители для новой
продукции или услуги. Поэтому этап предварительной оценки является важным
звеном в инновационной деятельности. Несмотря на сложность оценки, она
необходима и является фактором, снижающим риск деятельности.
Осуществить оценку проекта на степень его реализуемости – это значит
оценить социально-экономический эффект проекта на той стадии, когда мало
достоверной информации, поэтому и оценки должны быть интервальными: от
оптимального – до пессимистического прогноза.
Внедрение ИС для сельхозпредприятия позволит сократить время
экономиста-нормировщика, затрачиваемое на обработку и анализ поступающей
информации, необходимой для правильности расчета сдельной оплаты труда.
Также информационная система позволяет вести учет расценок,
производить нормирование труда и штатную расстановку, что напрямую влияет
на эффективность использования ограниченных трудовых ресурсов, особенно в
те периоды, когда одни работы имеют более важный приоритет, чем другие и
строго ограниченные сроки для их выполнения.
Поскольку используется централизованное хранение информации,
повышается ее надежность и достоверность, что не может не сказаться на
сроках обработки данных, так как отпадает необходимость ручного анализа
данных.
63
Подобное сокращение сроков повысит скорость обработки информации
и оперативность расчетов, что приведет к росту производительности труда
экономиста-нормировщика.
Календарный график создания проекта включает следующие этапы:
1) Предпроектное исследование (планирование и анализ требований,
исследование и анализ существующей системы, определение требований к
создаваемой ИС);
2) Разработка технического задания (разработка в соответствии со
сформулированными требованиями состава автоматизируемых функций и
состава обеспечивающих модулей);
3) Реализация (разработка и отладка программного кода, наполнение
БД);
4) Тестирование (комплексная отладка системы);
5) Внедрение проекта (внедрение ИС в эксплуатацию, обучение
персонала);
6) Эксплуатация (непосредственное использование системы).
Продолжительность каждого описанного выше этапа показана в таблице
3.2.
Таблица 3.2 – Календарный план-график создания подсистемы
Этап
Предпроектные исследования
Проектирование
Разработка и отладка программного кода
Тестирование системы
Внедрение проекта
Итого:
Длительность
2 недели
1,5 недели
1,5 недели
1 неделя
1 неделя
7 недель
Произведем анализ расходов по созданию и внедрению системы.
Определим
единовременные
затраты
–
те
вложения,
которые
производятся один раз при создании системы.
Единовременные затраты (Зк), связанные с разработкой и внедрением
64
данного ПП, будут состоять из заработной платы разработчика ПП (Ззп),
накладных расходов (Зн), капитальных затрат (К), включающих затраты на
приобретение
вычислительной
техники
(Квт),
приобретение
пакетов
прикладных программ (Кппп) и операционных систем (Кос)
Зк = К + Ззп = Кппп + Кос + Квт + Ззп
(3.1)
Накладные расходы (Зн), связанные с проектированием и отладкой ИС,
в том числе стоимость расходных материалов (бумаги, дисков, картриджей к
принтерам, канцелярские товары и т.п.) представлены в таблице 3.3.
Таблица 3.3 – Накладные расходы
Материалы
Потребность, шт.
Бумага А4
Картридж
для
принтера
USB-Flash накопитель
Итого
Стоимость,
руб.
1 упак.
180
1 шт.
1945
1 шт.
275
2400
Подсчитаем накладные расходы:
Зн=180+1945+275=2400 руб.
В
бухгалтерии
в
данный
момент
все
сотрудники
обеспечены
компьютерами, поэтому не потребуется производить дополнительные затраты
на их покупку.
Заработная плата разработчика ПО определяется как:
Ззп = Зср.дн * T,
(3.2)
где Зср.дн – среднедневная зарплата разработчика ПО, рассчитанная на
основе его месячного оклада и числа рабочих дней в месяце;
Т – суммарная длительность дней на разработку системы.
Длительность всех этапов проектирования автоматизированной системы
составляет: 2+1,5+1,5+1+1= 7 недель
Так как в неделе 5 рабочих дней, то произведем расчет
Т= 7 недель * 5рабочих дней = 35 рабочих дней
65
Ставка социального налога состоит из:
-отчисления в Пенсионный фонд- 22%;
-отчисления в Фонд медицинского страхования - 5,1%;
-отчисления в Страховой фонд - 2,9%;
Следовательно, ставка единого социального налога на фонд оплаты
труда равна: 22%+2,9%+5,1% = 30%
Примем Зср.дн равной 600 руб. Исходя из этого, сумма заработной
платы с учетом ставки единого социального налога для разработчика на период
работ составит:
З зп = З ср.дн * T * 1,30 = 600*35*1,30 = 27300 руб.
(3.3)
Рассчитаем общую сумму единовременных затрат (Зк):
Зк=2400+27300= 29700 рублей
Кроме единовременных затрат по внедрению в ходе эксплуатации
системы будут неизбежно возникать постоянные затраты.
К постоянным затратам можно отнести: ремонт и обслуживание
системы, затраты на электроэнергию, затраты на расходные материалы и тд
Постоянные затраты приведены в таблице 3.4.
Таблица 3.4 – Постоянные затраты системы, возникающие в течении года
Постоянные затраты
Стоимость, руб/год
Затраты на ремонт оборудования
Затраты на электроэнергию
Амортизационные отчисления
Итого
2917,5
2738,54
3890
9546,04
Ремонт и обслуживание системы включает в себя администрирование и
сопровождение (затраты на поддержку, услуги по сопровождению работы
системы). Ремонт и обслуживание системы составит 15% в год от стоимости
оборудования (технического обеспечения).
66
Срем=P∙0.15
(3.4)
Компьютерную технику, находящуюся в отделе бухгалтерии можно
оценить по остаточной стоимости так, как указано в таблице 3.5.
Таблица 3.5 – Стоимость технического средства
Оборудование
Системный блок
Монитор
клавиатура, мышь
Принтер
Итого
Сумма, руб
11 800
2 500
650
4 500
19 450
Основным сотрудником, работающим с модулем расчета сдельной
заработной платы, является экономист-нормировщик. Таким образом, имеет
смысл рассчитать затраты на ремонт компьютера данного сотрудника:
Срем=19450∙0,15=2917,5 руб./год
Затраты на электроэнергию можно рассчитать по следующей формуле:
Сэл= Цэ∙Fд ∙ М,
(3.5)
где Цэ – стоимость 1 кВт/ч электроэнергии;
Fд – действительный годовой фонд времени работы ЭВМ в часах;
М – мощность ЭВМ в кВт/ч электроэнергии.
Компьютер работает не полные 8 часов, поэтому принято брать
поправочный коэффициент 0,95 для расчета действительного годового фонда
времени работы ЭВМ.
Fд = 237 рабочих дней ∙ 8часов/день ∙ 0,95 = 1801,2 ч.
1 кВт/ч электроэнергии составляет 3,62 рубля.
Мощность ЭВМ в кВт/ч электроэнергии составляет 0,42.
Поэтому Сэл = 3,62∙1801,2∙0,42 = 2738,54 рублей/год.
Рассчитать амортизационные отчисления можно следующим образом:
компьютерная техника относится к 3-ей амортизационной группе (согласно
утвержденной классификации ОС по амортизационным группам), это означает,
что срок эксплуатации ЭВМ составляет 3-5 лет. В реалиях рассматриваемой
67
организации срок эксплуатации ЭВМ 5 лет, отсюда следует:
Норма начисления амортизации на вычислительную технику = 100% /
5 лет = 20% в год.
С ам
P * 0,20 ,
(3.6)
где P – стоимость ЭВМ
Сам = 19450*0,2 = 3890руб.
Получим:
С экс = 2917,5+2738,54+3890=9546,04 руб.
Информационная система позволяет вести учет выработки сотрудников,
учет использования машин и агрегатов, а также позволяет рассчитать основную
часть сдельной оплаты труда сотрудников сельскохозяйственного предприятия,
предоставить статистические данные за различные промежутки времени, на
основании которых можно принимать взвешенные решения по оперативной
деятельности.
В среднем на сбор, фиксацию, обработку, расчет и анализ информации, а
также на ручное составление необходимой отчетности и документов в месяц
тратится 672 часа рабочего времени (21 рабочий день * 8 часов * 4 экономистанормировщика), что составляет в денежном выражении 65520 руб. (21 рабочий
день * 600 руб. дневная ставка * 1,30 ставка единого социального налога * 4
человека).
Затраты до внедрения информационной системы составляют 65520 руб.
в месяц.
А после внедрения модуля расчета заработной платы отпадет
необходимость использовать труд 4 сотрудников и с задачей фиксации
первичной
поступающей
информации
справится
один
экономист-
нормировщик. А все остальные расчеты, заполнение документов и составление
отчетности выполнит автоматизированная система автоматически. Таким
образом прямые затраты после внедрения информационной системы составят
168 часов (21 рабочий день*8 часов), что в денежном выражении равно 16380
68
руб. (21 рабочий день * 600 руб. дневная ставка*1,3 ставка социального
налога).
Прямая экономия только на заработной плате и обязательных
отчислениях с фонда оплаты труда составит в среднем 49140 рублей в месяц
(65520 руб. – 16380 руб.), что в годовом выражении примерно равно 589680
руб. (49140 руб. * 12 месяцев).
Высвободившиеся трудовые ресурсы можно направить на выполнение
другой работы. К тому же, минимизируется риск возникновения ошибок и
неточностей, характерных для «человеческого фактора».
Поскольку в первом году 4 месяца выпадает, так как именно в это время
велась работа по разработке и внедрению системы, то сумма составит
589680/12*8 =393120 руб.
Проведенные расчеты показывают, что разработанный модуль расчета
окупится уже в первый год после его внедрения. Экономия от внедрения
проекта во много раз превышает расходы. Представленный расчет можно
считать приблизительным, не учтены некоторые мелочи, не влияющие
существенным
образом
на
величину
рассчитанных
показателей,
а
соответственно не меняющие картину расчета в целом и сделанные по ней
выводы. Возможно, руководство примет решение оставить для ввода
первичной
учетной
информации
в
систему
не
одного
экономиста-
нормировщика, а двух, что в полной мере покроет все потребности
предприятия. Тогда в два раза возрастут эксплуатационные расходы, а
экономия снизится менее чем на треть. Но даже в этом случае период
окупаемости проекта будет примерно около одного года, что бесспорно
является очень хорошим результатом.
Выводы:
В данной главе была спроектирована информационная подсистема учета
выработки и расчета сдельной заработной платы. Описаны основные объекты
автоматизированной
подсистемы,
показана
69
их
реализация
в
режиме
конфигурирования и в режиме исполнения в виде контрольного примера
реализации проекта.
Разработанная автоматизированная подсистема позволяет повысить
оперативность
и
производительность
труда
сотрудников
бухгалтерии.
Разработанная подсистема позволяет синхронизировать используемые данные
и сократить ручное заполнение бумажных документов и устранить не
эффективный расчет показателей для сдельной оплаты труда работников.
После
внедрения
модуля
расчета
заработной
платы
отпадет
необходимость использовать труд 4 сотрудников и с задачей фиксации
первичной
поступающей
информации
справится
один
экономист-
нормировщик. А все остальные расчеты, заполнение документов и составление
отчетности выполнит автоматизированная система автоматически. Таким
образом, прямая экономия только на заработной плате и обязательных
отчислениях с фонда оплаты труда составит в среднем 49140 рублей в месяц,
что в годовом выражении примерно равно 589680 руб.
70
ЗАКЛЮЧЕНИЕ
В ходе выполнения выпускной квалификационной работы была
разработана подсистема на основе стандартной конфигурации на платформе
1С:Предприятие 8, которая удовлетворяет поставленной цели и задачам
необходимым для ее достижения.
В результате выполнения выпускной квалификационной работы были
решены следующие задачи: собран материал по предметной области и
произведен его анализ, обоснована необходимость разработки подсистемы
автоматизации и определены требования к разрабатываемому модулю,
проанализирован
и
обоснован
выбор
инструментальных
средств,
спроектирована и реализована, а также протестирована автоматизированная
подсистема сдельной оплаты труда в сельхозпредприятии колхоза имени
Горина, рассчитана себестоимость разработки и внедрения модуля и
обоснована экономическая эффективность проекта.
При сравнении схем AS-IS и TO-BE видно, что создание подсистемы
позволит
упростить
работу экономиста-нормировщика,
информационная
подсистема возьмет на себя значительную часть работы по составлению
документации и расчета основной части сдельной заработной платы.
Внедрение
подсистемы
повысило
эффективность
работы
отдела
бухгалтерии, скорость принятия решений, а также сократила расходы на
ведение документации и оплату труда сотрудникам за счет экономии трудовых
ресурсов. Разработанная автоматизированная подсистема позволяет повысить
оперативность
и
производительность
труда
сотрудников
бухгалтерии,
синхронизировать используемые данные и сократить ручное заполнение
бумажных документов, устранить не эффективный расчет показателей для
сдельной оплаты труда работников.
После
внедрения
модуля
расчета
заработной
платы
отпадет
необходимость использовать труд 4 сотрудников и с задачей фиксации
71
первичной
поступающей
информации
справится
один
экономист-
нормировщик. А все остальные расчеты, заполнение документов и составление
отчетности выполнит автоматизированная подсистема автоматически. Таким
образом, прямая экономия только на заработной плате и обязательных
отчислениях с фонда оплаты труда составит в среднем 49140 рублей в месяц,
что в годовом выражении примерно равно 589680 руб. Высвободившиеся
трудовые ресурсы можно направить на выполнение другой работы. К тому же,
минимизируется риск возникновения ошибок и неточностей, характерных для
«человеческого фактора».
Произведенные расчеты показали, что разработанный модуль расчета
окупится уже в первый год после его внедрения. Экономия от внедрения
проекта во много раз превышает расходы, поэтому чистый и дисконтированный
эффекты будут видны уже в течение первого года эксплуатации.
72
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1)
Трудовой кодекс Российской Федерации [Текст]: официальный
текст– от 30.12.2001 г. № 197-ФЗ [федер. Закон : принят Гос. Думой 21 декабря
2001 г.] (ед. от 03.07.2016 с изм. и доп., вступ. в силу с 01.01.2017). – Собрание
законодательства Российской Федерации.
2)
Воронцов, А. Организация, нормирование и оплата труда в
сельскохозяйственных предприятиях [Текст]: Курс лекции / А. П. Воронцов. –
М.: Юркнига, 2005. – 320 с.
3)
Хусаинова, А. Основные принципы организации и построения
системы оплаты труда в сельскохозяйственных организациях [Текст] / А.
Хусаинова, В. Трофимов // Нормирование и оплата труда в сельском хоз-ве. –
2009. – № 11.
4)
Анохин, В. Практикум по оплате труда на предприятиях АПК
[Текст]: Учеб. пособ./В. А. Анохин, А. М. Матвеев. – Курган: КГСХА, 2008. –
118 с.
5)
Шакиров,
Ф.
Организация
производства
на
предприятиях
АПК[Текст]: Учеб. для вузов /Ф. К. Шакиров. – М.: КолосС, 2007. – 519 с.
6)
Гущина, К. Оплата труда: Типичные нарушения, сложные вопросы:
учебно-практическое пособие [Текст] / К. О. Гущина, Н. С. Курышева, Е. Г.
Сумская, Т. А. Трошина. – М.: «Дашков и Ко», 2010. – 248 с.
7)
Гаврилович, А. Рекомендации по оплате труда работников
сельскохозяйственных организаций Калужской области [Текст] / А. С.
Гаврилович, И. А. Чебакова. – Калуга: Калуж. НИПТИ АПК, 2006. –78 с.
8)
Сайранов, Р. Тарификация работ работников в сельском хозяйстве
[Текст] / Р. Н. Сайранов, Т. В. Вострецова, А. Р. Зидымаков; под ред. проф. Р.
Н. Сайранова. – Уфа: ФГОУ ВПО БГАУ, 2009. – 96 с.
9)
Российская Федерация. Законы. О минимальном размере оплаты
труда [Текст]: офиц. текст. от 19.06.2000 г. № 82-ФЗ [федер. закон: принят Гос.
73
Думой 2.06.2000 г.] (с изменениями от 24 декабря 2016 г.). – Собрание
законодательства Российской Федерации.
10) Муравенко,
С.Г.
Современные
информационные
системы
в
бухгалтерском учете [Текст] / VII Международная студенческая электронная
научная конференция «Студенческий научный форум» - 2015.
11) Стричко, Е.Г. Роль информационных систем в бухгалтерской
работе[Текст] // Бухгалтерский учет. – №2. – 2014. – С.123-125.
12) Бухгалтерские программы [Электронный ресурс]: Электронные
текстовые данные – Режим доступа: http://www.pandia.ru свободный
13) Оплата труда в сельскохозяйственных организациях[Текст]: справ.
пособ. – М.: ФГНУ «Росинформагротех», 2010. – 204 с.
14) http://aisup.economy.gov.ru/pubportal/
15) Смирнова, Г.Н. Проектирование экономических информационных
систем [Текст]: Учебник/Г.Н.Смирнова, А.А.Сорокин, Ю.Ф.Тельнов; Под ред.
Ю.Ф.Тельнова. – М.: Финансы и статистика, 2003. –512 с.
16) Годин, В. В. , Корнеев, И.К. Информационное обеспечение
управленческой деятельности[Текст]: М. Изд. «Высшая школа», 2013.- 324 с.
17) Иванова, Г.С. Технология программирования [Текст]: Учебник для
вузов.– 2-е изд., стереотип. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2013. – 320 с.
18) Петров, В. Н. «Информационные системы» [Электронный ресурс]:
–Изд.Питер,
2014.
Режим
-
доступа:
http://fitp.ifmo.ru/shared/files/200806/12_146.pdf. :свободный
19) Мишенин, А.И. Теория экономических информационных систем
[Текст]: Учеб.пособие. — М.: Финансы и статистика, 2015.-278 с.
20) Семенов, М.И. и др. Автоматизированные информационные
технологии в экономике [Текст]: Учебник / М.И. Семенов, И.Т. Трубилин, В.М.
Лойко, Т.П. Барановская; Под общей ред. И.Т. Трубилина. — М.: Финансы и
статистика, 2008.- 382 с.
21) Баронов, В.В. Автоматизация управления предприятием [Текст] /
В.В. Баронов, Г.Н.Калянов, Ю.Н. Попов и др. - М.: Инфра-М, 2013.- 256 с.
74
22) Алан,
Р.
Саймон.
Стратегические
технологии
баз
данных:
менеджмент на 2010 год [Текст] / Пер. с англ и предисл. М.Р. Когаловского. М.: Финансы и статистика, 2009.- 478 с.
23) Вендров,
A.M.
Проектирование
программного
обеспечения
экономических информационных систем [Электронный ресурс]: Учебник. - М.:
Финансы и статистика, 2011.- Режим доступа: [http://vernikov.ru/media/K2
/item_attachments/vendorov.pdf].
24) Дейт, К. Дж. Введение в системы баз данных [Текст]: 6-е изд. - М.,
СПб., Киев, Изд. дом Вильяме, 2004.
25) Ефимова,
О.Л.
Технология
проектирования
и
внедрения
информационных систем - интегрированная технология ARIS [Текст] //
Реинжиниринг
бизнес-процессов
предприятий
на
основе
современных
информационных технологий: Сб. научных трудов 3-й Российской научнопрактической конференции. - М.: МЭСИ, 2012. - С. 215 - 218.
26) Гартвич, А.А. Концептуальные основы международных стандартов
финансовой отчетности [Текст]: Питер "1С-Паблишинг", 160 стр.
27) Титоренко, Г.А. Автоматизированные информационные технологии
в экономике[Текст]: Учебник/ Под ред. Г.А. Титоренко – М.: Компьютер,
ЮНИТИ, 2012. – 400 с.
28) Кузнецов,
С.Д.
Основы
современных
баз
данных
[Текст]:
Калининград: Издательская группа BHV, 2008. – 349 с.
29) Кононов, В.Н., Рыжова, И.Г. Базы данных: проектирование
структуры предметной области [Текст]/ В.Н. Кононов, И.Г. Рыжова Учебнометодическая разработка – Магнитогорск, 2014.- 467 с.
30) Митичкин, С.А. Разработка в системе 1С Предприятие 8.0[Текст]:
Учебное пособие – М.: ООО «1С-Паблишинг», 2013.- 367 с.
31) Бартеньев, О.В. 1С: Предприятие 8.0: опыты программирования
[Текст]: Учебное пособие – М.: Диалог-МИФИ, 2014.- 167 с.
75
32) Белоусов, П.С., Островерх, А.В. Профессиональная разработка в
системе 1С: Предприятие 8.0[Текст]: Учебное пособие – СПб.: «1СПаблишинг», C.2014.- 234(cт.20).
33) Филимонова, Е.В. Практическая работа в 1С:Предприятие 8.0.
Настройка,
конфигурирование,
программирование
и
эксплуатация
[Электронный ресурс]: Электронные текстовые данные - Режим доступа:
[http://www.e5.ru/product/prakticheskaya-rabota-v-1s-predpriyatie-8-0-nastroykakonfigurirovanie-programmirovanie-ekspluatatsiya-uchebnoe-posobie_7045699/] .
76
ПРИЛОЖЕНИЕ А
СХЕМЫ БИЗНЕС-ПРОЦЕССОВ
Общая характеристика деятельности бухгалтерии по расчету заработной
платы представлена на рисунке А.1.
Рисунок А.1 – Диаграмма первого уровня А-0 «Ведение кадрового учета и
расчета зарплаты»
Декомпозиция
контекстной
диаграммы
деятельности
отдела
бухгалтерии по ведению кадрового учета и расчета зарплаты, представленная
на рисунке А.2.
78
Рисунок А.2 – Второй уровень А0 диаграммы IDEF0 «Ведение кадрового учета
и расчета зарплаты»
На
рисунке
А.3
отображена
декомпозиция
процесса
«Ведение
документов (приказов) по кадрам» в нотации DFD. Данная методология
предполагает только два вида потоков данных «вход» и «выход», а
«управление» и «механизм исполнения» отсутствует.
79
Рисунок А.3 - Третий уровень А2 диаграммы «Ведение документов (приказов)
по кадрам»
На рисунке А.4 приведена декомпозиция в DFD нотации процесса
«Расчет заработной платы»:
80
Рисунок А.4 - Третий уровень А5 диаграммы «Расчет заработной платы»
Декомпозиция
двух
основных
процессов:
«Ввод
документов
начислений» (рисунок А.5) и «Ввод документов удержаний» (рисунок А.6).
81
Рисунок А.5 – Четвертый уровень А5.1 диаграммы «Ввод документов
начислений»
Рисунок А.6 – Четвертый уровень А5.3 диаграммы «Ввод документов
удержаний»
82
На последнем уровне декомпозиции была построена диаграмма
декомпозиции процесса «Ввод документа «Начисление сложное» для сдельной
оплаты труда» как есть (рисунок А.7).
Рисунок А.7 – Пятый уровень А5.1.3.1 диаграммы «Ввод документа
«Начисление сложное» для сдельной оплаты труда» (AS-IS)
83
ПРИЛОЖЕНИЕ Б
Модуль документа «Наряд»:
Функция ПолучитьНорму(Работа,Марка,СоставАгрегата,Показатель)
ТекстЗапроса =
"ВЫБРАТЬ
|
Нормы.НормаВыработки КАК Норма,
|
Нормы.Работа,
|
Нормы.Агрегат,
|
Нормы.МаркаАвтомобиля,
|
Нормы.Показатель
|ИЗ
|
Справочник.Нормы КАК Нормы
|ГДЕ
|
Нормы.Работа = &Работа
|
И Нормы.МаркаАвтомобиля = &Марка
|
И Нормы.Агрегат = &Агрегат
|
И Нормы.Показатель = &Показатель";
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Работа",Работа);
Запрос.УстановитьПараметр("Марка",Марка);
Запрос.УстановитьПараметр("Агрегат",СоставАгрегата);
Запрос.УстановитьПараметр("Показатель",Показатель);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Норма = Выборка.Норма;
КонецЦикла;
Возврат Норма;
КонецФункции
Функция ПолучитьРаходГорючего(Работа,Марка,СоставАгрегата,Показатель)
ТекстЗапроса =
"ВЫБРАТЬ
|
Нормы.НормаВыработки КАК Норма,
|
Нормы.Работа,
|
Нормы.Агрегат,
|
Нормы.МаркаАвтомобиля,
|
Нормы.РасходГорючего КАК РасходГорючего
|ИЗ
|
Справочник.Нормы КАК Нормы
|ГДЕ
|
Нормы.Работа = &Работа
|
И Нормы.МаркаАвтомобиля = &Марка
|
И Нормы.Агрегат = &Агрегат
|
И Нормы.Показатель = &Показатель";
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Работа",Работа);
Запрос.УстановитьПараметр("Марка",Марка);
Запрос.УстановитьПараметр("Агрегат",СоставАгрегата);
Запрос.УстановитьПараметр("Показатель",Показатель);
84
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РасходГорючегоПоНорме = Выборка.РасходГорючего;
КонецЦикла;
Возврат РасходГорючегоПоНорме;
КонецФункции
Функция ПолучитьРасценку(Разряд,ВидРаботы)
ТекстЗапроса =
"ВЫБРАТЬ
|
Расценки.Разряд,
|
Расценки.Расценка,
|
Расценки.ВидРаботы
|ИЗ
|
Справочник.Расценки КАК Расценки
|ГДЕ
|
Расценки.Разряд = &Разряд
|
И Расценки.ВидРаботы = &ВидРаботы";
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Разряд",Разряд);
Запрос.УстановитьПараметр("ВидРаботы",ВидРаботы);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Расценка = Выборка.Расценка;
КонецЦикла;
Возврат Расценка;
КонецФункции
Функция ПолучитьСменнуюЭталоннуюВыработку(Марка)
ТекстЗапроса =
"ВЫБРАТЬ
|
Коэффициенты.Марка,
|
Коэффициенты.СменнаяЭталоннаяВыработка
|ИЗ
|
Справочник.Коэффициенты КАК Коэффициенты
|ГДЕ
|
Коэффициенты.Марка = &Марка";
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Марка",Марка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СменнаяЭталоннаяВыработка = Выборка.СменнаяЭталоннаяВыработка;
КонецЦикла;
Возврат СменнаяЭталоннаяВыработка;
КонецФункции
Процедура ВодительПриИзменении(Элемент)
Должность = Водитель.Должность;
ТабельныйНомер = Водитель.ТабНомер;
Автомобиль = Водитель.ОсновнойАвтомобиль;
ИнвентарныйНомер = Водитель.ОсновнойАвтомобиль.ИнвНомер;
//ТекстЗапроса =
85
//"ВЫБРАТЬ
//|
Автотранспорт.ИнвНомер,
//|
Автотранспорт.Ссылка КАК Автомобиль
//|ИЗ
//|
Справочник.Автотранспорт КАК Автотранспорт
//|ГДЕ
//|
Автотранспорт.Водитель = &Водитель";
//
//Запрос = Новый Запрос();
//Запрос.Текст = ТекстЗапроса;
//Запрос.УстановитьПараметр("Водитель",Водитель);
//Выборка = Запрос.Выполнить().Выбрать();
//Пока Выборка.Следующий() Цикл
//
Автомобиль = Выборка.Автомобиль;
//
ИнвентарныйНомер = Выборка.Автомобиль.ИнвНомер;
//КонецЦикла;
КонецПроцедуры
Процедура АвтомобильПриИзменении(Элемент)
ИнвентарныйНомер = Автомобиль.ИнвНомер;
ПересчитатьДанные();
КонецПроцедуры
Процедура ПересчитатьДанные()
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
Если СтрокаТЧ <> Неопределено Тогда
СтрокаТЧ.ЕдиницаИзмерения = СтрокаТЧ.Работа.ЕдиницаИзмерения;
//СтрокаТЧ.Разряд = СтрокаТЧ.Работа.Разряд;
СтрокаТЧ.СменнаяЭталоннаяВыработка
=
ПолучитьСменнуюЭталоннуюВыработку(Автомобиль.Марка);
СтрокаТЧ.НормаВыработки
=
ПолучитьНорму(СтрокаТЧ.Работа,Автомобиль.Марка,СтрокаТЧ.СоставАгрегата,СтрокаТЧ.Показатель);
Если СтрокаТЧ.КороткиеГоны = Истина Тогда
Если СтрокаТЧ.ЗависимаяРабота = Ложь Тогда
СтрокаТЧ.НормаВыработки
=
ПолучитьНорму(СтрокаТЧ.Работа,Автомобиль.Марка,СтрокаТЧ.СоставАгрегата,СтрокаТЧ.Показатель)*0.6;
//Если (СтрокаТЧ.ВидРаботы = Истина) Тогда
//
СтрокаТЧ.Расценка
=
ПолучитьРасценку(СтрокаТЧ.Разряд,Перечисления.ВидРаботы.Сдельная);
//Иначе
//
СтрокаТЧ.Расценка
=
ПолучитьРасценку(СтрокаТЧ.Разряд,Перечисления.ВидРаботы.Повременная);
//КонецЕсли;
СтрокаТЧ.Разряд = СтрокаТЧ.ВидРаботы.Разряд;
СтрокаТЧ.Расценка = СтрокаТЧ.ВидРаботы.Расценка;
СтрокаТЧ.РасходГорючего = СтрокаТЧ.РасходГорючегоПоНорме *
СтрокаТЧ.ОтработаноЧасов*1.4;
СтрокаТЧ.РасходГорючегоПоНорме
=
ПолучитьРаходГорючего(СтрокаТЧ.Работа,Автомобиль.Марка,СтрокаТЧ.СоставАгрегата,СтрокаТЧ.Показатель)*1
.4;
КонецЕсли;
Если СтрокаТЧ.НормаВыработки <> 0 Тогда
СтрокаТЧ.СменныеНормы
=
СтрокаТЧ.ОтработаноЧасов/СтрокаТЧ.НормаВыработки;
КонецЕсли;
СтрокаТЧ.ОплатаТруда = СтрокаТЧ.СменныеНормы * СтрокаТЧ.Расценка;
Иначе
Если СтрокаТЧ.ЗависимаяРабота = Ложь Тогда
86
СтрокаТЧ.НормаВыработки
ПолучитьНорму(СтрокаТЧ.Работа,Автомобиль.Марка,СтрокаТЧ.СоставАгрегата,СтрокаТЧ.Показатель);
//Если СтрокаТЧ.ВидРаботы = Истина Тогда
//
СтрокаТЧ.Расценка
ПолучитьРасценку(СтрокаТЧ.Разряд,Перечисления.ВидРаботы.Сдельная);
//Иначе
//
СтрокаТЧ.Расценка
ПолучитьРасценку(СтрокаТЧ.Разряд,Перечисления.ВидРаботы.Повременная);
//КонецЕсли;
СтрокаТЧ.Разряд = СтрокаТЧ.ВидРаботы.Разряд;
СтрокаТЧ.Расценка = СтрокаТЧ.ВидРаботы.Расценка;
СтрокаТЧ.РасходГорючегоПоНорме
ПолучитьРаходГорючего(СтрокаТЧ.Работа,Автомобиль.Марка,СтрокаТЧ.СоставАгрегата,СтрокаТЧ.Показатель);
СтрокаТЧ.РасходГорючего = СтрокаТЧ.РасходГорючегоПоНорме
СтрокаТЧ.ОтработаноЧасов;
КонецЕсли;
Если СтрокаТЧ.НормаВыработки <> 0 Тогда
СтрокаТЧ.СменныеНормы
СтрокаТЧ.ОтработаноЧасов/СтрокаТЧ.НормаВыработки;
КонецЕсли;
СтрокаТЧ.ОплатаТруда = СтрокаТЧ.СменныеНормы * СтрокаТЧ.Расценка;
КонецЕсли;
=
=
=
=
*
=
//СтрокаТЧ.РасходГорючегоПоНорме
=
ПолучитьРаходГорючего(СтрокаТЧ.Работа,Автомобиль.Марка,СтрокаТЧ.СоставАгрегата,СтрокаТЧ.Показатель);
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение3
КонецЕсли;
КонецПроцедуры
Процедура РаботыРаботаПриИзменении(Элемент)
ПересчитатьДанные();
КонецПроцедуры
Процедура РаботыСоставАгрегатаПриИзменении(Элемент)
ПересчитатьДанные();
КонецПроцедуры
Процедура РаботыОтработаноЧасовПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.СменныеНормы = СтрокаТЧ.ОтработаноЧасов/СтрокаТЧ.НормаВыработки;
СтрокаТЧ.УсловныеГектары
=
СтрокаТЧ.СменныеНормы*
СтрокаТЧ.СменнаяЭталоннаяВыработка;
СтрокаТЧ.РасходГорючего = СтрокаТЧ.РасходГорючегоПоНорме * СтрокаТЧ.ОтработаноЧасов;
ПересчитатьДанные();
КонецПроцедуры
Процедура РаботыПриИзмененииФлажка(Элемент, Колонка)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
Если Колонка.Имя = "ВидРаботы" Тогда
ПересчитатьДанные();
ИначеЕсли
Колонка.Имя = "КороткиеГоны" Тогда
ПересчитатьДанные();
87
КонецЕсли;
КонецПроцедуры
Процедура РаботыПоказательПриИзменении(Элемент)
ПересчитатьДанные();
КонецПроцедуры
Процедура РаботыВТомЧислеНочныхПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
Если СтрокаТЧ.ВсегоЧасов <> 0 Тогда
СтрокаТЧ.Ночные
=
СтрокаТЧ.ОплатаТруда/СтрокаТЧ.ВсегоЧасов*
СтрокаТЧ.ВсегоНочных/100*40;
КонецЕсли;
ПересчитатьДанные();
КонецПроцедуры
Процедура РаботыПроизвольноеНачислениеВид1ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
Если СтрокаТЧ.ОплатаТруда <> Неопределено Тогда
Если
СтрокаТЧ.ПроизвольноеНачислениеВид1.СпособНачисления
=
Перечисления.СпособыНачисления.ФиксСумма Тогда
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
=
СтрокаТЧ.ПроизвольноеНачислениеВид1.Значение;
Иначе
СтрокаТЧ.ПроизвольноеНачислениеЗначение1 = (СтрокаТЧ.ОплатаТруда +
СтрокаТЧ.Ночные) * СтрокаТЧ.ПроизвольноеНачислениеВид1.Значение/100;
КонецЕсли;
КонецЕсли;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
КонецПроцедуры
Процедура РаботыПроизвольноеНачислениеВид2ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
Если СтрокаТЧ.ОплатаТруда <> Неопределено Тогда
Если
СтрокаТЧ.ПроизвольноеНачислениеВид2.СпособНачисления
=
Перечисления.СпособыНачисления.ФиксСумма Тогда
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
=
СтрокаТЧ.ПроизвольноеНачислениеВид2.Значение;
Иначе
БазаРасчета = СтрокаТЧ.ОплатаТруда + СтрокаТЧ.Ночные;
Для
Каждого
строка
из
СтрокаТЧ.ПроизвольноеНачислениеВид2.БазаНачислений Цикл
Если строка.Начисление = СтрокаТЧ.ПроизвольноеНачислениеВид1
Тогда
БазаРасчета
=
БазаРасчета
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение1;
КонецЕсли;
КонецЦикла;
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
=
БазаРасчета
*
СтрокаТЧ.ПроизвольноеНачислениеВид2.Значение/100;
КонецЕсли;
КонецЕсли;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
88
КонецПроцедуры
Процедура РаботыПроизвольноеНачислениеВид3ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
Если СтрокаТЧ.ОплатаТруда <> Неопределено Тогда
Если
СтрокаТЧ.ПроизвольноеНачислениеВид3.СпособНачисления
=
Перечисления.СпособыНачисления.ФиксСумма Тогда
СтрокаТЧ.ПроизвольноеНачислениеЗначение3
=
СтрокаТЧ.ПроизвольноеНачислениеВид3.Значение;
Иначе
БазаРасчета = СтрокаТЧ.ОплатаТруда + СтрокаТЧ.Ночные;
Для
Каждого
строка
из
СтрокаТЧ.ПроизвольноеНачислениеВид2.БазаНачислений Цикл
Если строка.Начисление = СтрокаТЧ.ПроизвольноеНачислениеВид1
Тогда
БазаРасчета
=
БазаРасчета
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение1;
КонецЕсли;
Если строка.Начисление = СтрокаТЧ.ПроизвольноеНачислениеВид2
Тогда
БазаРасчета
=
БазаРасчета
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2;
КонецЕсли;
КонецЦикла;
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
=
БазаРасчета
*
СтрокаТЧ.ПроизвольноеНачислениеВид2.Значение/100;
КонецЕсли;
КонецЕсли;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
КонецПроцедуры
Процедура РаботыОплатаТрудаПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.ВсегоНочных
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
ПересчитатьДанные();
КонецПроцедуры
Процедура РаботыНочныеПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
//ПересчитатьДанные();
КонецПроцедуры
Процедура РаботыПроизвольноеНачислениеЗначение1ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
//ПересчитатьДанные();
КонецПроцедуры
Процедура РаботыПроизвольноеНачислениеЗначение2ПриИзменении(Элемент)
89
+
+
+
+
+
+
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3
КонецПроцедуры
Процедура РаботыПроизвольноеНачислениеЗначение3ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3
КонецПроцедуры
Процедура ОсновныеДействияФормыПечать(Кнопка)
ТабДок = Новый ТабличныйДокумент;
ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область(5, ,7);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.АвтоМасштаб=истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Макет = ПолучитьМакет("УчетныйЛист");
Шапка = Макет.ПолучитьОбласть("Шапка");
Строка = Макет.ПолучитьОбласть("Строка");
ИтогНаСтранице = Макет.ПолучитьОбласть("ИтогНаСтранице");
Итог = Макет.ПолучитьОбласть("Итог");
Подвал = Макет.ПолучитьОбласть("Подвал");
СтрокаНомерСтраницы = Макет.ПолучитьОбласть("НомерСтраницы");
УсловныеГектарыИтог = 0;
СменныеНормыИтог = 0;
ОплатаТрудаИтог = 0;
РасходГорючегоИтог = 0;
ОплатаТрудаВсего = 0;
ИтогСуммаНачисления1 = 0;
ИтогСуммаНачисления2 = 0;
ИтогСуммаНачисления3 = 0;
УсловныеГектарыИтогНаСтранице = 0;
СменныеНормыИтогНаСтранице = 0;
ОплатаТрудаИтогНаСтранице = 0;
РасходГорючегоИтогНаСтранице = 0;
ИтогСуммаНачисления1НаСтранице = 0;
ИтогСуммаНачисления2НаСтранице = 0;
ИтогСуммаНачисления3НаСтранице = 0;
л_Сотр = "";
л_Год = Строка(Год(Дата));
Пока Найти(л_Год, Символы.НПП) > 0 Цикл
л_Год = СтрЗаменить(л_Год, Символы.НПП,"");
КонецЦикла;
Шапка.Параметры.Год = л_Год;
Шапка.Параметры.Месяц = Месяц(Дата);
Шапка.Параметры.Участок = Участок;
Шапка.Параметры.Сотрудник = Водитель.ПолноеНаименование;
90
+
+
+
+
Шапка.Параметры.Агрегат = Автомобиль.Марка;
Шапка.Параметры.ИнвНомер = ИнвентарныйНомер;
Если ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Полевые работы" Тогда
Работы = ПолевыеРаботы;
ТекстЗапроса =
"ВЫБРАТЬ
|
НарядПолевыеРаботы.ПроизвольноеНачислениеВид1,
|
НарядПолевыеРаботы.ПроизвольноеНачислениеВид2,
|
НарядПолевыеРаботы.ПроизвольноеНачислениеВид3,
|
НарядПолевыеРаботы.Ссылка,
|
НарядПолевыеРаботы.Ночные,
|
НарядПолевыеРаботы.Дата
|ИЗ
|
Документ.Наряд.ПолевыеРаботы КАК НарядПолевыеРаботы
|ГДЕ
|
НарядПолевыеРаботы.Ссылка = &Ссылка";
ИначеЕсли ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Ремонтные работы"
Тогда
Работы = РемонтныеРаботы;
ТекстЗапроса =
"ВЫБРАТЬ
|
НарядРемонтныеРаботы.ПроизвольноеНачислениеВид1,
|
НарядРемонтныеРаботы.ПроизвольноеНачислениеВид2,
|
НарядРемонтныеРаботы.ПроизвольноеНачислениеВид3,
|
НарядРемонтныеРаботы.Ссылка,
|
НарядРемонтныеРаботы.Ночные,
|
НарядРемонтныеРаботы.Дата
|ИЗ
|
Документ.Наряд.РемонтныеРаботы КАК НарядРемонтныеРаботы
|ГДЕ
|
НарядРемонтныеРаботы.Ссылка = &Ссылка";
ИначеЕсли ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Прочие работы"
Тогда
Работы = ПрочиеРаботы;
ТекстЗапроса =
"ВЫБРАТЬ
|
НарядПрочиеРаботы.ПроизвольноеНачислениеВид1,
|
НарядПрочиеРаботы.ПроизвольноеНачислениеВид2,
|
НарядПрочиеРаботы.ПроизвольноеНачислениеВид3,
|
НарядПрочиеРаботы.Ссылка,
|
НарядПрочиеРаботы.Ночные,
|
НарядПрочиеРаботы.Дата
|ИЗ
|
Документ.Наряд.ПрочиеРаботы КАК НарядПрочиеРаботы
|ГДЕ
|
НарядПрочиеРаботы.Ссылка = &Ссылка";
КонецЕсли;
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Ссылка",Ссылка);
СписокНачисления = Новый ТаблицаЗначений;
СписокНачисления.Колонки.Добавить("ВидНачисления");
Выборка = Запрос.Выполнить().Выгрузить();
91
Выборка.Свернуть("Ночные,ПроизвольноеНачислениеВид1,ПроизвольноеНачислениеВид2,Пр
оизвольноеНачислениеВид3","Ссылка");
ВыборкаДней = Запрос.Выполнить().Выгрузить(); ВыборкаДней.Свернуть("Дата","");
Для Каждого ТекСтрока Из Выборка Цикл
Если ТекСтрока.Ночные <> 0 Тогда
НоваяСтрокаТЗ = СписокНачисления.Добавить();
НоваяСтрокаТЗ.ВидНачисления = "Ночные";
КонецЕсли;
Если Не ТекСтрока.ПроизвольноеНачислениеВид1.Пустая() Тогда
НоваяСтрокаТЗ = СписокНачисления.Добавить();
НоваяСтрокаТЗ.ВидНачисления = ТекСтрока.ПроизвольноеНачислениеВид1;
КонецЕсли;
Если Не ТекСтрока.ПроизвольноеНачислениеВид2.Пустая() Тогда
НоваяСтрокаТЗ = СписокНачисления.Добавить();
НоваяСтрокаТЗ.ВидНачисления = ТекСтрока.ПроизвольноеНачислениеВид2;
КонецЕсли;
Если Не ТекСтрока.ПроизвольноеНачислениеВид3.Пустая() Тогда
НоваяСтрокаТЗ = СписокНачисления.Добавить();
НоваяСтрокаТЗ.ВидНачисления = ТекСтрока.ПроизвольноеНачислениеВид3;
КонецЕсли;
КонецЦикла;
СписокНачисления.Свернуть("ВидНачисления");
СписокНачисления.Колонки.Добавить("НомСтроки");
Если СписокНачисления.Количество() = 3 Тогда
ТекущаяСтрока = СписокНачисления*0+;
ТекущаяСтрока.НомСтроки = 1;
Шапка.Параметры.видначисления1 = ТекущаяСтрока.ВидНачисления;
ТекущаяСтрока = СписокНачисления*1+;
ТекущаяСтрока.НомСтроки = 2;
Шапка.Параметры.видначисления2 = ТекущаяСтрока.ВидНачисления;
ТекущаяСтрока = СписокНачисления*2+;
ТекущаяСтрока.НомСтроки = 3;
Шапка.Параметры.видначисления3 = ТекущаяСтрока.ВидНачисления;
ИначеЕсли СписокНачисления.Количество() =2 Тогда
ТекущаяСтрока = СписокНачисления*0+;
ТекущаяСтрока.НомСтроки = 1;
Шапка.Параметры.видначисления1 = ТекущаяСтрока.ВидНачисления;
ТекущаяСтрока = СписокНачисления*1+;
ТекущаяСтрока.НомСтроки = 2;
Шапка.Параметры.видначисления2 = ТекущаяСтрока.ВидНачисления;
ИначеЕсли СписокНачисления.Количество() = 1 Тогда
ТекущаяСтрока = СписокНачисления*0+;
ТекущаяСтрока.НомСтроки = 1;
Шапка.Параметры.видначисления1 = ТекущаяСтрока.ВидНачисления;
КонецЕсли;
ТабДок.Вывести(Шапка);
НомерСтроки = 0;
КоличествоСтрок = Работы.Количество();
СтрокНаСтранице = 14;
СтрокШапки = 7;
СтрокПодвала = 6;
НомерСтраницы = 1;
Для Каждого СтрокаТабЧасти Из Работы Цикл
//НомерСтроки = НомерСтроки + 1;
//СтрокаСПодвалом = Новый Массив;
92
////Если НомерСтроки = 1 Тогда
//СтрокаСПодвалом.Добавить(Шапка);
////КонецЕсли;
//СтрокаСПодвалом.Добавить(Строка);
//СтрокаСПодвалом.Добавить(ИтогНаСтранице);
//Если НомерСтроки = КоличествоСтрок Тогда
//
СтрокаСПодвалом.Добавить(Итог);
//
//СтрокаСПодвалом.Добавить(Подвал);
//КонецЕсли;
МассивОбластейДляПроверки = Новый Массив;
МассивОбластейДляПроверки.Добавить(Строка);
МассивОбластейДляПроверки.Добавить(ИтогНаСтранице);
Если Работы.Индекс(СтрокаТабЧасти) = Работы.Количество()-1 Тогда
МассивОбластейДляПроверки.Добавить(Итог);
МассивОбластейДляПроверки.Добавить(Подвал);
КонецЕсли;
Попытка
РезультатПроверки = ТабДок.ПроверитьВывод(МассивОбластейДляПроверки);
Если НЕ РезультатПроверки Тогда
// Выводим итоги по странице
ИтогНаСтранице.Параметры.УсловныеГектарыИтог
=
УсловныеГектарыИтогНаСтранице;
ИтогНаСтранице.Параметры.СменныеНормыИтог
=
СменныеНормыИтогНаСтранице;
ИтогНаСтранице.Параметры.ОплатаТрудаИтог
=
ОплатаТрудаИтогНаСтранице;
ИтогНаСтранице.Параметры.РасходГорючегоИтог
=
РасходГорючегоИтогНаСтранице;
ИтогНаСтранице.Параметры.СуммаНачисления1
=
ИтогСуммаНачисления1НаСтранице;
ИтогНаСтранице.Параметры.СуммаНачисления2
=
ИтогСуммаНачисления2НаСтранице;
ИтогНаСтранице.Параметры.СуммаНачисления3
=
ИтогСуммаНачисления3НаСтранице;
ИтогНаСтранице.Параметры.ОплатаТрудаВсего
=
ОплатаТрудаИтогНаСтранице+ИтогСуммаНачисления1НаСтранице+ИтогСуммаНачисления2НаСтранице+ИтогСу
ммаНачисления3НаСтранице;
ТабДок.Вывести(ИтогНаСтранице);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
// Очистим итоги по странице
УсловныеГектарыИтогНаСтранице = 0;
СменныеНормыИтогНаСтранице = 0;
ОплатаТрудаИтогНаСтранице = 0;
РасходГорючегоИтогНаСтранице = 0;
ИтогСуммаНачисления1НаСтранице = 0;
ИтогСуммаНачисления2НаСтранице = 0;
ИтогСуммаНачисления3НаСтранице = 0;
// Выведем заголовок таблицы
НомерСтраницы = НомерСтраницы + 1;
СтрокаНомерСтраницы.Параметры.НомерСтраницы = "Страница " +
НомерСтраницы;
ТабДок.Вывести(СтрокаНомерСтраницы);
93
КонецЕсли;
Исключение
КонецПопытки;
Если СтрокаТабЧасти.Дата <> '00010101' Тогда
Строка.Параметры.Число = День(СтрокаТабЧасти.Дата);
Иначе
Строка.Параметры.Число = "";
КонецЕсли;
Если СокрП(СтрокаТабЧасти.ЗависитОт) = "" Тогда
Строка.Параметры.НаименованиеРаботы
СокрП(СтрокаТабЧасти.Работа.Наименование);
Иначе
Строка.Параметры.НаименованиеРаботы
СокрП(СтрокаТабЧасти.Работа.Наименование)
+",
"+СокрП(СтрокаТабЧасти.ЗависитОт)
"+СокрП(СтрокаТабЧасти.ПроцентЗависимости) + "%";
КонецЕсли;
=
=
+",
Если ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Полевые работы"
Тогда
Строка.Параметры.НаименованиеРаботы
СокрП(СтрокаТабЧасти.Работа.Наименование) + " "+СокрП(СтрокаТабЧасти.Показатель);
КонецЕсли;
=
Строка.Параметры.НаименованиеКультуры
=
СокрП(СтрокаТабЧасти.Культура.Наименование);
Строка.Параметры.СоставАгрегата
=
СокрП(СтрокаТабЧасти.СоставАгрегата.Наименование);
Если (ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Ремонтные
работы") и (СокрП(СтрокаТабЧасти.Автотранспорт) <> "") Тогда
Строка.Параметры.НаименованиеРаботы
=
Строка.Параметры.НаименованиеРаботы + " " + СтрокаТабЧасти.Автотранспорт;
Строка.Параметры.СоставАгрегата = Строка.Параметры.СоставАгрегата + " № "
+ СтрокаТабЧасти.Автотранспорт.ИнвНомер;
КонецЕсли;
Строка.Параметры.ЕдиницаИзмерения = СтрокаТабЧасти.ЕдиницаИзмерения;
Строка.Параметры.Разряд = СтрокаТабЧасти.Разряд;
Строка.Параметры.НормаВыработки = СтрокаТабЧасти.НормаВыработки;
Строка.Параметры.Расценка = СтрокаТабЧасти.Расценка;
Строка.Параметры.СменнаяЭталоннаяВыработка
=
СтрокаТабЧасти.СменнаяЭталоннаяВыработка;
Строка.Параметры.ОтработаноЧасов = СтрокаТабЧасти.ОтработаноЧасов;
Строка.Параметры.УсловныеГектары = СтрокаТабЧасти.УсловныеГектары;
Если СтрокаТабЧасти.ОтработаноЧасов <> 0 Тогда
Строка.Параметры.СменныеНормы = СтрокаТабЧасти.СменныеНормы;
//СменныеНормыИтог
=
СменныеНормыИтог
+
СтрокаТабЧасти.СменныеНормы;
Иначе
Строка.Параметры.СменныеНормы = 0;
КонецЕсли;
Строка.Параметры.ОплатаТруда = СтрокаТабЧасти.ОплатаТруда;
Строка.Параметры.РасходГорючегоПоНорме
=
СтрокаТабЧасти.РасходГорючегоПоНорме;
Строка.Параметры.РасходГорючего = СтрокаТабЧасти.РасходГорючего;
Строка.Параметры.СуммаНачисления1 = "";
Строка.Параметры.СуммаНачисления2 = "";
Строка.Параметры.СуммаНачисления3 = "";
94
НайденнаяСтрока = СписокНачисления.Найти("Ночные","ВидНачисления");
Если НайденнаяСтрока <> Неопределено Тогда
Если НайденнаяСтрока.НомСтроки = 1 Тогда
Строка.Параметры.СуммаНачисления1 = СтрокаТабЧасти.Ночные;
ИтогСуммаНачисления1
=
ИтогСуммаНачисления1
СтрокаТабЧасти.Ночные;
ИначеЕсли НайденнаяСтрока.НомСтроки = 2 Тогда
Строка.Параметры.СуммаНачисления2 = СтрокаТабЧасти.Ночные;
ИтогСуммаНачисления2
=
ИтогСуммаНачисления2
СтрокаТабЧасти.Ночные;
ИначеЕсли НайденнаяСтрока.НомСтроки = 3 Тогда
Строка.Параметры.СуммаНачисления3 = СтрокаТабЧасти.Ночные;
ИтогСуммаНачисления3
=
ИтогСуммаНачисления3
СтрокаТабЧасти.Ночные;
КонецЕсли;
КонецЕсли;
НайденнаяСтрока
СписокНачисления.Найти(СтрокаТабЧасти.ПроизвольноеНачислениеВид1,"ВидНачисления");
Если НайденнаяСтрока <> Неопределено Тогда
Если НайденнаяСтрока.НомСтроки = 1 Тогда
Строка.Параметры.СуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
ИтогСуммаНачисления1
=
ИтогСуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
ИначеЕсли НайденнаяСтрока.НомСтроки = 2 Тогда
Строка.Параметры.СуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
ИтогСуммаНачисления2
=
ИтогСуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
ИначеЕсли НайденнаяСтрока.НомСтроки = 3 Тогда
Строка.Параметры.СуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
ИтогСуммаНачисления3
=
ИтогСуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
КонецЕсли;
КонецЕсли;
НайденнаяСтрока
СписокНачисления.Найти(СтрокаТабЧасти.ПроизвольноеНачислениеВид2,"ВидНачисления");
Если НайденнаяСтрока <> Неопределено Тогда
Если НайденнаяСтрока.НомСтроки = 1 Тогда
Строка.Параметры.СуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
ИтогСуммаНачисления1
=
ИтогСуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
ИначеЕсли НайденнаяСтрока.НомСтроки = 2 Тогда
Строка.Параметры.СуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
ИтогСуммаНачисления2
=
ИтогСуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
ИначеЕсли НайденнаяСтрока.НомСтроки = 3 Тогда
Строка.Параметры.СуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
ИтогСуммаНачисления3
=
ИтогСуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
95
+
+
+
=
=
+
=
+
=
+
=
=
+
=
+
=
+
КонецЕсли;
КонецЕсли;
НайденнаяСтрока
СписокНачисления.Найти(СтрокаТабЧасти.ПроизвольноеНачислениеВид3,"ВидНачисления");
Если НайденнаяСтрока <> Неопределено Тогда
Если НайденнаяСтрока.НомСтроки = 1 Тогда
Строка.Параметры.СуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
ИтогСуммаНачисления1
=
ИтогСуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
ИначеЕсли НайденнаяСтрока.НомСтроки = 2 Тогда
Строка.Параметры.СуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
ИтогСуммаНачисления2
=
ИтогСуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
ИначеЕсли НайденнаяСтрока.НомСтроки = 3 Тогда
Строка.Параметры.СуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
ИтогСуммаНачисления3
=
ИтогСуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
КонецЕсли;
КонецЕсли;
Строка.Параметры.РасходФакт = СтрокаТабЧасти.РасходФакт;
=
=
+
=
+
=
+
Строка.Параметры.Всего = СтрокаТабЧасти.Всего;
ТабДок.Вывести(Строка);
УсловныеГектарыИтог = УсловныеГектарыИтог + СтрокаТабЧасти.УсловныеГектары;
ОплатаТрудаИтог = ОплатаТрудаИтог + СтрокаТабЧасти.ОплатаТруда;
РасходГорючегоИтог = РасходГорючегоИтог + Строка.Параметры.РасходГорючего;
ОплатаТрудаВсего = ОплатаТрудаВсего + СтрокаТабЧасти.Всего;
СменныеНормыИтог = СменныеНормыИтог + СтрокаТабЧасти.СменныеНормы;
//ОплатаТрудаИтог = ОплатаТрудаИтог + СтрокаТабЧасти.ОплатаТруда;
//РасходГорючегоИтог = РасходГорючегоИтог + Строка.Параметры.РасходГорючего;
//ОплатаТрудаВсего = ОплатаТрудаВсего + СтрокаТабЧасти.Всего;
УсловныеГектарыИтогНаСтранице
СтрокаТабЧасти.УсловныеГектары;
СменныеНормыИтогНаСтранице
СтрокаТабЧасти.СменныеНормы;
ОплатаТрудаИтогНаСтранице
СтрокаТабЧасти.ОплатаТруда;
РасходГорючегоИтогНаСтранице
Строка.Параметры.РасходГорючего;
ИтогСуммаНачисления1НаСтранице
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
ИтогСуммаНачисления2НаСтранице
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
ИтогСуммаНачисления3НаСтранице
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
=
УсловныеГектарыИтогНаСтранице
=
СменныеНормыИтогНаСтранице
+
ОплатаТрудаИтогНаСтранице
+
РасходГорючегоИтогНаСтранице
+
=
ИтогСуммаНачисления1НаСтранице
+
=
ИтогСуммаНачисления2НаСтранице
+
=
ИтогСуммаНачисления3НаСтранице
+
=
=
// вывод итогов постранице если номер страницы изменился
КонецЦикла;
96
+
//Если НЕ ТабДок.ПроверитьВывод(СтрокаСПодвалом) Тогда
//
//
Если КоличествоСтрок > 1 Тогда
//
//
// Выводим итоги по странице
//
ИтогНаСтранице.Параметры.УсловныеГектарыИтог
=
УсловныеГектарыИтогНаСтранице;
//
ИтогНаСтранице.Параметры.СменныеНормыИтог
=
СменныеНормыИтогНаСтранице;
//
ИтогНаСтранице.Параметры.ОплатаТрудаИтог
=
ОплатаТрудаИтогНаСтранице;
//
ИтогНаСтранице.Параметры.РасходГорючегоИтог
=
РасходГорючегоИтогНаСтранице;
//
ИтогНаСтранице.Параметры.СуммаНачисления1
=
ИтогСуммаНачисления1НаСтранице;
//
ИтогНаСтранице.Параметры.СуммаНачисления2
=
ИтогСуммаНачисления2НаСтранице;
//
ИтогНаСтранице.Параметры.СуммаНачисления3
=
ИтогСуммаНачисления3НаСтранице;
//
ИтогНаСтранице.Параметры.ОплатаТрудаВсего
=
ОплатаТрудаИтогНаСтранице+ИтогСуммаНачисления1НаСтранице+ИтогСуммаНачисления2НаСтранице+ИтогСу
ммаНачисления3НаСтранице;
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
ТабДок.Вывести(ИтогНаСтранице);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
// Очистим итоги по странице
УсловныеГектарыИтогНаСтранице = 0;
СменныеНормыИтогНаСтранице = 0;
ОплатаТрудаИтогНаСтранице = 0;
РасходГорючегоИтогНаСтранице = 0;
ИтогСуммаНачисления1НаСтранице = 0;
ИтогСуммаНачисления2НаСтранице = 0;
ИтогСуммаНачисления3НаСтранице = 0;
// Выведем заголовок таблицы
НомерСтраницы = НомерСтраницы + 1;
СтрокаНомерСтраницы.Параметры.НомерСтраницы = "Страница " +
НомерСтраницы;
//
ТабДок.Вывести(СтрокаНомерСтраницы);
//
//
КонецЕсли;
//
//КонецЕсли;
//
Если СтрокаТабЧасти.Дата <> '00010101' Тогда
//
Строка.Параметры.Число = День(СтрокаТабЧасти.Дата);
//
Иначе
//
Строка.Параметры.Число = "";
//
КонецЕсли;
//
Если СокрП(СтрокаТабЧасти.ЗависитОт) = "" Тогда
//
Строка.Параметры.НаименованиеРаботы
СокрП(СтрокаТабЧасти.Работа.Наименование);
//
Иначе
//
Строка.Параметры.НаименованиеРаботы
СокрП(СтрокаТабЧасти.Работа.Наименование)
+",
"+СокрП(СтрокаТабЧасти.ЗависитОт)
"+СокрП(СтрокаТабЧасти.ПроцентЗависимости) + "%";
97
=
=
+",
//
//
//
КонецЕсли;
Если ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Полевые работы"
Тогда
//
Строка.Параметры.НаименованиеРаботы
СокрП(СтрокаТабЧасти.Работа.Наименование) + " "+СокрП(СтрокаТабЧасти.Показатель);
//
КонецЕсли;
=
//
Строка.Параметры.НаименованиеКультуры
=
СокрП(СтрокаТабЧасти.Культура.Наименование);
//
Строка.Параметры.СоставАгрегата
=
СокрП(СтрокаТабЧасти.СоставАгрегата.Наименование);
//
Если (ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Ремонтные
работы") и (СокрП(СтрокаТабЧасти.Автотранспорт) <> "") Тогда
//
Строка.Параметры.НаименованиеРаботы
=
Строка.Параметры.НаименованиеРаботы + " " + СтрокаТабЧасти.Автотранспорт;
//
Строка.Параметры.СоставАгрегата = Строка.Параметры.СоставАгрегата + " № "
+ СтрокаТабЧасти.Автотранспорт.ИнвНомер;
//
КонецЕсли;
//
Строка.Параметры.ЕдиницаИзмерения = СтрокаТабЧасти.ЕдиницаИзмерения;
//
Строка.Параметры.Разряд = СтрокаТабЧасти.Разряд;
//
Строка.Параметры.НормаВыработки = СтрокаТабЧасти.НормаВыработки;
//
Строка.Параметры.Расценка = СтрокаТабЧасти.Расценка;
//
Строка.Параметры.СменнаяЭталоннаяВыработка
=
СтрокаТабЧасти.СменнаяЭталоннаяВыработка;
//
Строка.Параметры.ОтработаноЧасов = СтрокаТабЧасти.ОтработаноЧасов;
//
Строка.Параметры.УсловныеГектары = СтрокаТабЧасти.УсловныеГектары;
//
Если СтрокаТабЧасти.ОтработаноЧасов <> 0 Тогда
//
Строка.Параметры.СменныеНормы = СтрокаТабЧасти.СменныеНормы;
//
//СменныеНормыИтог
=
СменныеНормыИтог
+
СтрокаТабЧасти.СменныеНормы;
//
Иначе
//
Строка.Параметры.СменныеНормы = 0;
//
КонецЕсли;
//
Строка.Параметры.ОплатаТруда = СтрокаТабЧасти.ОплатаТруда;
//
Строка.Параметры.РасходГорючегоПоНорме
=
СтрокаТабЧасти.РасходГорючегоПоНорме;
//
Строка.Параметры.РасходГорючего = СтрокаТабЧасти.РасходГорючего;
//
Строка.Параметры.СуммаНачисления1 = "";
//
Строка.Параметры.СуммаНачисления2 = "";
//
Строка.Параметры.СуммаНачисления3 = "";
//
//
НайденнаяСтрока = СписокНачисления.Найти("Ночные","ВидНачисления");
//
Если НайденнаяСтрока <> Неопределено Тогда
//
Если НайденнаяСтрока.НомСтроки = 1 Тогда
//
Строка.Параметры.СуммаНачисления1 = СтрокаТабЧасти.Ночные;
//
ИтогСуммаНачисления1
=
ИтогСуммаНачисления1
+
СтрокаТабЧасти.Ночные;
//
ИначеЕсли НайденнаяСтрока.НомСтроки = 2 Тогда
//
Строка.Параметры.СуммаНачисления2 = СтрокаТабЧасти.Ночные;
//
ИтогСуммаНачисления2
=
ИтогСуммаНачисления2
+
СтрокаТабЧасти.Ночные;
//
ИначеЕсли НайденнаяСтрока.НомСтроки = 3 Тогда
//
Строка.Параметры.СуммаНачисления3 = СтрокаТабЧасти.Ночные;
//
ИтогСуммаНачисления3
=
ИтогСуммаНачисления3
+
СтрокаТабЧасти.Ночные;
//
КонецЕсли;
//
КонецЕсли;
//
98
//
НайденнаяСтрока
СписокНачисления.Найти(СтрокаТабЧасти.ПроизвольноеНачислениеВид1,"ВидНачисления");
//
Если НайденнаяСтрока <> Неопределено Тогда
//
Если НайденнаяСтрока.НомСтроки = 1 Тогда
//
Строка.Параметры.СуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
//
ИтогСуммаНачисления1
=
ИтогСуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
//
ИначеЕсли НайденнаяСтрока.НомСтроки = 2 Тогда
//
Строка.Параметры.СуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
//
ИтогСуммаНачисления2
=
ИтогСуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
//
ИначеЕсли НайденнаяСтрока.НомСтроки = 3 Тогда
//
Строка.Параметры.СуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
//
ИтогСуммаНачисления3
=
ИтогСуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
//
КонецЕсли;
//
КонецЕсли;
//
//
НайденнаяСтрока
СписокНачисления.Найти(СтрокаТабЧасти.ПроизвольноеНачислениеВид2,"ВидНачисления");
//
Если НайденнаяСтрока <> Неопределено Тогда
//
Если НайденнаяСтрока.НомСтроки = 1 Тогда
//
Строка.Параметры.СуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
//
ИтогСуммаНачисления1
=
ИтогСуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
//
ИначеЕсли НайденнаяСтрока.НомСтроки = 2 Тогда
//
Строка.Параметры.СуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
//
ИтогСуммаНачисления2
=
ИтогСуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
//
ИначеЕсли НайденнаяСтрока.НомСтроки = 3 Тогда
//
Строка.Параметры.СуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
//
ИтогСуммаНачисления3
=
ИтогСуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
//
КонецЕсли;
//
КонецЕсли;
//
НайденнаяСтрока
СписокНачисления.Найти(СтрокаТабЧасти.ПроизвольноеНачислениеВид3,"ВидНачисления");
//
Если НайденнаяСтрока <> Неопределено Тогда
//
Если НайденнаяСтрока.НомСтроки = 1 Тогда
//
Строка.Параметры.СуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
//
ИтогСуммаНачисления1
=
ИтогСуммаНачисления1
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
//
ИначеЕсли НайденнаяСтрока.НомСтроки = 2 Тогда
//
Строка.Параметры.СуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
//
ИтогСуммаНачисления2
=
ИтогСуммаНачисления2
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
//
ИначеЕсли НайденнаяСтрока.НомСтроки = 3 Тогда
99
=
=
+
=
+
=
+
=
=
+
=
+
=
+
=
=
+
=
+
//
Строка.Параметры.СуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
//
ИтогСуммаНачисления3
=
ИтогСуммаНачисления3
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
//
КонецЕсли;
//
КонецЕсли;
//
Строка.Параметры.РасходФакт = СтрокаТабЧасти.РасходФакт;
=
+
//
Строка.Параметры.Всего = СтрокаТабЧасти.Всего;
//
//
ТабДок.Вывести(Строка);
//
УсловныеГектарыИтог = УсловныеГектарыИтог + СтрокаТабЧасти.УсловныеГектары;
//
ОплатаТрудаИтог = ОплатаТрудаИтог + СтрокаТабЧасти.ОплатаТруда;
//
РасходГорючегоИтог = РасходГорючегоИтог + Строка.Параметры.РасходГорючего;
//
//
ОплатаТрудаВсего = ОплатаТрудаВсего + СтрокаТабЧасти.Всего;
//
СменныеНормыИтог = СменныеНормыИтог + СтрокаТабЧасти.СменныеНормы;
//
//ОплатаТрудаИтог = ОплатаТрудаИтог + СтрокаТабЧасти.ОплатаТруда;
//
//РасходГорючегоИтог = РасходГорючегоИтог + Строка.Параметры.РасходГорючего;
//
//
//ОплатаТрудаВсего = ОплатаТрудаВсего + СтрокаТабЧасти.Всего;
//
//
УсловныеГектарыИтогНаСтранице
=
УсловныеГектарыИтогНаСтранице
+
СтрокаТабЧасти.УсловныеГектары;
//
СменныеНормыИтогНаСтранице
= СменныеНормыИтогНаСтранице +
СтрокаТабЧасти.СменныеНормы;
//
ОплатаТрудаИтогНаСтранице
= ОплатаТрудаИтогНаСтранице +
СтрокаТабЧасти.ОплатаТруда;
//
РасходГорючегоИтогНаСтранице
=
РасходГорючегоИтогНаСтранице
+
Строка.Параметры.РасходГорючего;
//
ИтогСуммаНачисления1НаСтранице
=
ИтогСуммаНачисления1НаСтранице
+
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение1;
//
ИтогСуммаНачисления2НаСтранице
=
ИтогСуммаНачисления2НаСтранице
+
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение2;
//
ИтогСуммаНачисления3НаСтранице
=
ИтогСуммаНачисления3НаСтранице
+
СтрокаТабЧасти.ПроизвольноеНачислениеЗначение3;
//КонецЦикла;
//
//Если НомерСтраницы > 1 Тогда
//
ИтогНаСтранице.Параметры.УсловныеГектарыИтог
=
УсловныеГектарыИтогНаСтранице;
//
ИтогНаСтранице.Параметры.СменныеНормыИтог = СменныеНормыИтогНаСтранице;
//
ИтогНаСтранице.Параметры.ОплатаТрудаИтог = ОплатаТрудаИтогНаСтранице;
//
ИтогНаСтранице.Параметры.РасходГорючегоИтог = РасходГорючегоИтогНаСтранице;
//
ИтогНаСтранице.Параметры.СуммаНачисления1 = ИтогСуммаНачисления1НаСтранице;
//
ИтогНаСтранице.Параметры.СуммаНачисления2 = ИтогСуммаНачисления2НаСтранице;
//
ИтогНаСтранице.Параметры.СуммаНачисления3 = ИтогСуммаНачисления3НаСтранице;
//
ИтогНаСтранице.Параметры.ОплатаТрудаВсего
=
ОплатаТрудаИтогНаСтранице+ИтогСуммаНачисления1НаСтранице+ИтогСуммаНачисления2НаСтранице+ИтогСу
ммаНачисления3НаСтранице;
//
ТабДок.Вывести(ИтогНаСтранице);
//КонецЕсли;
Итог.Параметры.УсловныеГектарыИтог = УсловныеГектарыИтог;
Итог.Параметры.СменныеНормыИтог = СменныеНормыИтог;
Итог.Параметры.ОплатаТрудаИтог = ОплатаТрудаИтог;
100
Итог.Параметры.РасходГорючегоИтог = РасходГорючегоИтог;
Итог.Параметры.СуммаНачисления1 = ИтогСуммаНачисления1;
Итог.Параметры.СуммаНачисления2 = ИтогСуммаНачисления2;
Итог.Параметры.СуммаНачисления3 = ИтогСуммаНачисления3;
Итог.Параметры.ОплатаТрудаВсего = ОплатаТрудаВсего;
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2";
ПрописьЧисла = ЧислоПрописью(ОплатаТрудаВсего, ФормСтрока, ПарПредмета);
счДней = 0;
Для Каждого ТекСтрока Из ВыборкаДней Цикл
Если ТекСтрока.Дата <> '00010101' Тогда
счДней = счДней + 1;
КонецЕсли;
КонецЦикла;
Итог.Параметры.ВсегоДней = "Всего отработано: "+счДней+" дн.";
Итог.Параметры.ВсегоПоНаряду = "Итого по наряду: "+ПрописьЧисла;
ТабДок.Вывести(Итог);
Подвал.Параметры.НачУчастка = Участок.Начальник.Наименование;
Подвал.Параметры.Бухгалтер = Участок.Бухгалтер.Наименование;
Подвал.Параметры.Экономист = Участок.Экономист.Наименование;
Подвал.Параметры.Агроном = Участок.Агроном.Наименование;
Подвал.Параметры.Учетчик = Участок.Учетчик.Наименование;
Если (ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Полевые работы") Тогда
Подвал.Параметры.Учетчик1 = Участок.ВторойУчетчик.Наименование;
КонецЕсли;
Если (ЭлементыФормы.ПанельРабот.ТекущаяСтраница.Заголовок = "Ремонтные работы") Тогда
Подвал.Параметры.Механик= Участок.Механик.Наименование;
КонецЕсли;
ТабДок.Вывести(Подвал);
ТабДок.Показать();
КонецПроцедуры
Процедура РаботыЗависитОтНачалоВыбора(Элемент, СтандартнаяОбработка)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
Если СтрокаТЧ.ЗависимаяРабота = Истина Тогда
ТекстЗапроса =
"ВЫБРАТЬ
|
Наряд.Дата,
|
Наряд.Водитель,
|
Наряд.Ссылка КАК Наряд
|ИЗ
|
Документ.Наряд КАК Наряд
|ГДЕ
|
Наряд.Дата МЕЖДУ &НачПериода И &КонПериода";
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("НачПериода",НачалоМесяца(Дата));
Запрос.УстановитьПараметр("КонПериода",КонецМесяца(Дата));
Выборка = Запрос.Выполнить().Выгрузить();
Выборка.Свернуть("Водитель, Наряд");
101
Выборка.Сортировать("Водитель, Наряд");
ВыбВодитель = Выборка.ВыбратьСтроку("Выберите водителя");
КонецЕсли;
Если ВыбВодитель <> Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
|
Наряд.Ссылка,
|
Наряд.Дата КАК Дата,
|
Наряд.ПолевыеРаботы.(
|
Ссылка,
|
НомерСтроки,
|
Дата,
|
ОплатаТруда,
|
Работа,
|
Расценка,
|
СменнаяЭталоннаяВыработка,
|
ОтработаноЧасов,
|
УсловныеГектары,
|
СменныеНормы,
|
РасходГорючего,
|
УчастокЗатрат
|
)
|ИЗ
|
Документ.Наряд КАК Наряд
|ГДЕ
|
Наряд.Дата МЕЖДУ &НачПериода И &КонПериода
|
И Наряд.Водитель = &ВыбВодитель
|
И Наряд.Ссылка = &ВыбНаряд";
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("НачПериода",НачалоМесяца(Дата));
Запрос.УстановитьПараметр("КонПериода",КонецМесяца(Дата));
Запрос.УстановитьПараметр("ВыбВодитель",ВыбВодитель.Водитель);
Запрос.УстановитьПараметр("ВыбНаряд",ВыбВодитель.Наряд);
ВыборкаРаботы = Запрос.Выполнить().Выбрать();
Пока ВыборкаРаботы.Следующий() Цикл
КонецЦикла;
ВыбРабота = ВыборкаРаботы.ПолевыеРаботы.Выгрузить().ВыбратьСтроку("Выберите
работу");
КонецЕсли;
ПризнакСоединения = 0;
Если ВыбРабота <> Неопределено Тогда
Если СтрокаТЧ.ЗависитОт <> "" Тогда
Режим = РежимДиалогаВопрос.ДаНетОтмена;
Ответ = Вопрос(НСтр("ru = 'Работа уже зависима. Да - Работы соединяться. Нет
- будет действовать расценка одной работы. Отмена - ничего не измениться';"), Режим, 0);
Если Ответ = КодВозвратаДиалога.Отмена Тогда
Возврат;
ИначеЕсли Ответ = КодВозвратаДиалога.Да Тогда
ПризнакСоединения = 1;
ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
СтрокаТЧ.КолвоЗависимых = 0;
102
ПризнакСоединения = 0;
КонецЕсли;
КонецЕсли;
Если СтрокаТЧ.КолвоЗависимых <> 0 Тогда
СтрокаТЧ.КолвоЗависимых = СтрокаТЧ.КолвоЗависимых + 1;
Иначе
СтрокаТЧ.КолвоЗависимых = 1;
КонецЕсли;
СтрокаТЧ.Расценка = 0;
СтрокаТЧ.ОтработаноЧасов = 0;
СтрокаТЧ.УсловныеГектары = 0;
//СтрокаТЧ.СменныеНормы = 0;
//СтрокаТЧ.РасходГорючего = 0;
Если ПризнакСоединения = 0 Тогда
СтрокаТЧ.ЗависитОт = Строка(ВыбВодитель.Водитель.Наименование) +" / " +
Строка(ВыбРабота.Работа.Наименование) + " / " + Строка(ВыбРабота.ОплатаТруда);
Если СтрокаТЧ.ПроцентЗависимости = 0 Тогда
СтрокаТЧ.ОплатаТруда = ВыбРабота.ОплатаТруда;
Иначе
СтрокаТЧ.ОплатаТруда
=
ВыбРабота.ОплатаТруда
*
СтрокаТЧ.ПроцентЗависимости/100;
КонецЕсли;
СтрокаТЧ.РасходГорючего
=
ВыбРабота.СменныеНормы
*
7
*
СтрокаТЧ.РасходГорючегоПоНорме;
СтрокаТЧ.СменныеНормы = ВыбРабота.СменныеНормы;
СтрокаТЧ.УсловныеГектары
=
СтрокаТЧ.СменныеНормы*
СтрокаТЧ.СменнаяЭталоннаяВыработка;
ИначеЕсли ПризнакСоединения = 1 Тогда
СтрокаТЧ.ЗависитОт
=
СтрокаТЧ.ЗависитОт
+
";
"+
Строка(ВыбВодитель.Водитель.Наименование) +" / " + Строка(ВыбРабота.Работа.Наименование) + " / " +
Строка(ВыбРабота.ОплатаТруда);
Если СтрокаТЧ.ПроцентЗависимости = 0 Тогда
СтрокаТЧ.ОплатаТруда
=
(СтрокаТЧ.ОплатаТруда
+
ВыбРабота.ОплатаТруда)/СтрокаТЧ.КолвоЗависимых;
Иначе
СтрокаТЧ.ОплатаТруда
=
((СтрокаТЧ.ОплатаТруда/СтрокаТЧ.ПроцентЗависимости*100+
ВыбРабота.ОплатаТруда)/СтрокаТЧ.КолвоЗависимых)*СтрокаТЧ.ПроцентЗависимости/100;
КонецЕсли;
СтрокаТЧ.СменныеНормы
=
(СтрокаТЧ.СменныеНормы
+
ВыбРабота.СменныеНормы)/СтрокаТЧ.КолвоЗависимых;
СтрокаТЧ.УсловныеГектары
=
СтрокаТЧ.СменныеНормы*
СтрокаТЧ.СменнаяЭталоннаяВыработка;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
СтрокаТЧ.РасходГорючего
=
(СтрокаТЧ.РасходГорючего
+
(ВыбРабота.СменныеНормы * 7 * СтрокаТЧ.РасходГорючегоПоНорме))/СтрокаТЧ.КолвоЗависимых;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура РаботыПроцентЗависимостиПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.ОплатаТруда = СтрокаТЧ.ОплатаТруда* СтрокаТЧ.ПроцентЗависимости/100;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3
103
+
+
КонецПроцедуры
Процедура РаботыРасценкаПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.ОплатаТруда = СтрокаТЧ.СменныеНормы * СтрокаТЧ.Расценка;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3
КонецПроцедуры
+
+
Процедура РаботыВидРаботыПриИзменении(Элемент)
ПересчитатьДанные();
КонецПроцедуры
Процедура ПересчитатьДанныеРемонтныхРабот()
СтрокаТЧ = ЭлементыФормы.РемонтныеРаботы.ТекущиеДанные;
Если СтрокаТЧ <> Неопределено Тогда
СтрокаТЧ.ЕдиницаИзмерения = СтрокаТЧ.Работа.ЕдиницаИзмерения;
Если СтрокаТЧ.ВидРаботы <> Неопределено Тогда
СтрокаТЧ.Разряд = СтрокаТЧ.ВидРаботы.Разряд;
СтрокаТЧ.Расценка = СтрокаТЧ.ВидРаботы.Расценка;
СтрокаТЧ.ОплатаТруда = СтрокаТЧ.ОтработаноЧасов * СтрокаТЧ.Расценка;
КонецЕсли;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3
КонецЕсли;
КонецПроцедуры
+
+
Процедура РемонтныеРаботыРаботаПриИзменении(Элемент)
ПересчитатьДанныеРемонтныхРабот();
КонецПроцедуры
Процедура РемонтныеРаботыВидРаботыПриИзменении(Элемент)
ПересчитатьДанныеРемонтныхРабот();
КонецПроцедуры
Процедура РемонтныеРаботыСоставАгрегатаПриИзменении(Элемент)
ПересчитатьДанныеРемонтныхРабот();
КонецПроцедуры
Процедура РемонтныеРаботыОтработаноЧасовПриИзменении(Элемент)
ПересчитатьДанныеРемонтныхРабот();
КонецПроцедуры
Процедура ПересчитатьДанныеПрочихРабот()
СтрокаТЧ = ЭлементыФормы.ПрочиеРаботы.ТекущиеДанные;
Если СтрокаТЧ <> Неопределено Тогда
СтрокаТЧ.ЕдиницаИзмерения = СтрокаТЧ.Работа.ЕдиницаИзмерения;
Если СтрокаТЧ.ВидРаботы <> Неопределено Тогда
СтрокаТЧ.СменнаяЭталоннаяВыработка
ПолучитьСменнуюЭталоннуюВыработку(Автомобиль.Марка);
СтрокаТЧ.НормаВыработки
ПолучитьНорму(СтрокаТЧ.Работа,Автомобиль.Марка,СтрокаТЧ.СоставАгрегата,СтрокаТЧ.Показатель);
СтрокаТЧ.Разряд = СтрокаТЧ.ВидРаботы.Разряд;
СтрокаТЧ.Расценка = СтрокаТЧ.ВидРаботы.Расценка;
СтрокаТЧ.РасходГорючего
=
СтрокаТЧ.РасходГорючегоПоНорме
СтрокаТЧ.ОтработаноЧасов;
104
=
=
*
СтрокаТЧ.РасходГорючегоПоНорме
=
ПолучитьРаходГорючего(СтрокаТЧ.Работа,Автомобиль.Марка,СтрокаТЧ.СоставАгрегата,СтрокаТЧ.Показатель);
СтрокаТЧ.ОплатаТруда = СтрокаТЧ.ОтработаноЧасов * СтрокаТЧ.Расценка;
КонецЕсли;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.Ночные
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3
КонецЕсли;
КонецПроцедуры
+
+
Процедура ПрочиеРаботыРаботаПриИзменении(Элемент)
ПересчитатьДанныеПрочихРабот()
КонецПроцедуры
Процедура ПрочиеРаботыВидРаботыПриИзменении(Элемент)
ПересчитатьДанныеПрочихРабот()
КонецПроцедуры
Процедура ПрочиеРаботыСоставАгрегатаПриИзменении(Элемент)
ПересчитатьДанныеПрочихРабот()
КонецПроцедуры
Процедура ПрочиеРаботыОтработаноЧасовПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.ПрочиеРаботы.ТекущиеДанные;
СтрокаТЧ.СменныеНормы = СтрокаТЧ.ОтработаноЧасов/СтрокаТЧ.НормаВыработки;
СтрокаТЧ.УсловныеГектары
=
СтрокаТЧ.СменныеНормы*
СтрокаТЧ.СменнаяЭталоннаяВыработка;
СтрокаТЧ.РасходГорючего = СтрокаТЧ.РасходГорючегоПоНорме * СтрокаТЧ.ОтработаноЧасов;
ПересчитатьДанныеПрочихРабот()
КонецПроцедуры
Процедура ПриОткрытии()
Если ЭтоНовый() тогда
Иначе
Если ПолевыеРаботы.Количество() > 0 Тогда
ЭлементыФормы.ПанельРабот.ТекущаяСтраница
ЭлементыФормы.ПанельРабот.Страницы.СтраницаПолевыхРабот;
ИначеЕсли РемонтныеРаботы.Количество() > 0 Тогда
ЭлементыФормы.ПанельРабот.ТекущаяСтраница
ЭлементыФормы.ПанельРабот.Страницы.СтраницаРемонтныхРабот;
ИначеЕсли ПрочиеРаботы.Количество() > 0 Тогда
ЭлементыФормы.ПанельРабот.ТекущаяСтраница
ЭлементыФормы.ПанельРабот.Страницы.СтраницаПрочихРабот;
КонецЕсли;
Конецесли;
КонецПроцедуры
Процедура РаботыГаПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Работы.ТекущиеДанные;
СтрокаТЧ.РасходГорючего = СтрокаТЧ.РасходГорючегоПоНорме * СтрокаТЧ.Га;
КонецПроцедуры
Процедура РемонтныеРаботыПроизвольноеНачислениеВид1ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.РемонтныеРаботы.ТекущиеДанные;
Если СтрокаТЧ.ОплатаТруда <> Неопределено Тогда
105
=
=
=
Если
СтрокаТЧ.ПроизвольноеНачислениеВид1.СпособНачисления
Перечисления.СпособыНачисления.ФиксСумма Тогда
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
СтрокаТЧ.ПроизвольноеНачислениеВид1.Значение;
Иначе
СтрокаТЧ.ПроизвольноеНачислениеЗначение1 = СтрокаТЧ.ОплатаТруда
СтрокаТЧ.ПроизвольноеНачислениеВид1.Значение/100;
КонецЕсли;
КонецЕсли;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.ВсегоНочных
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
КонецПроцедуры
Процедура РемонтныеРаботыПроизвольноеНачислениеВид2ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.РемонтныеРаботы.ТекущиеДанные;
Если СтрокаТЧ.ОплатаТруда <> Неопределено Тогда
Если
СтрокаТЧ.ПроизвольноеНачислениеВид2.СпособНачисления
Перечисления.СпособыНачисления.ФиксСумма Тогда
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеВид2.Значение;
Иначе
СтрокаТЧ.ПроизвольноеНачислениеЗначение2 = СтрокаТЧ.ОплатаТруда
СтрокаТЧ.ПроизвольноеНачислениеВид2.Значение/100;
КонецЕсли;
КонецЕсли;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.ВсегоНочных
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
=
=
*
+
+
=
=
*
+
+
КонецПроцедуры
Процедура РемонтныеРаботыПроизвольноеНачислениеВид3ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.РемонтныеРаботы.ТекущиеДанные;
Если СтрокаТЧ.ОплатаТруда <> Неопределено Тогда
Если
СтрокаТЧ.ПроизвольноеНачислениеВид2.СпособНачисления
Перечисления.СпособыНачисления.ФиксСумма Тогда
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеВид2.Значение;
Иначе
СтрокаТЧ.ПроизвольноеНачислениеЗначение2 = СтрокаТЧ.ОплатаТруда
СтрокаТЧ.ПроизвольноеНачислениеВид2.Значение/100;
КонецЕсли;
КонецЕсли;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.ВсегоНочных
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
=
=
*
+
+
КонецПроцедуры
Процедура РемонтныеРаботыПроизвольноеНачислениеЗначение1ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.РемонтныеРаботы.ТекущиеДанные;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.ВсегоНочных
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
КонецПроцедуры
Процедура РемонтныеРаботыПроизвольноеНачислениеЗначение2ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.РемонтныеРаботы.ТекущиеДанные;
106
+
+
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.ВсегоНочных
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
КонецПроцедуры
Процедура РемонтныеРаботыПроизвольноеНачислениеЗначение3ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.РемонтныеРаботы.ТекущиеДанные;
СтрокаТЧ.Всего
=
СтрокаТЧ.ОплатаТруда
+
СтрокаТЧ.ВсегоНочных
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
+
СтрокаТЧ.ПроизвольноеНачислениеЗначение2
СтрокаТЧ.ПроизвольноеНачислениеЗначение3;
КонецПроцедуры
107
+
+
+
+
ПРИЛОЖЕНИЕ В
Модуль документа «РасчетЗаработнойПлаты»:
Процедура ПриОткрытии()
Если ЭтоНовый() Тогда
ПериодРегистрации = Дата;
КонецЕсли;
МесяцСтрока = Формат(Дата, "ДФ='ММММ гггг'")
КонецПроцедуры
Процедура ПериодСтрокаРегулирование(Элемент, Направление, СтандартнаяОбработка)
ПериодРегистрации = ДобавитьМесяц(ПериодРегистрации, Направление);
Элемент.Значение = Формат(ПериодРегистрации, "ДФ='ММММ гггг'");
КонецПроцедуры
Процедура КоманднаяПанель1Заполнить(Кнопка)
Начисления.Очистить();
ТекстЗапроса =
"ВЫБРАТЬ
|
Наряд.Дата,
|
Наряд.Культура,
|
Наряд.Работа,
|
Наряд.СоставАгрегата,
|
Наряд.ЕдиницаИзмерения,
|
Наряд.Разряд,
|
Наряд.НормаВыработки,
|
Наряд.Расценка,
|
Наряд.СменнаяЭталоннаяВыработка,
|
Наряд.ОтработаноЧасов,
|
Наряд.УсловныеГектары,
|
Наряд.СменныеНормы,
|
Наряд.Ссылка.Участок КАК Участок,
|
Наряд.Ссылка.Водитель КАК Сотрудник,
|
Наряд.Ссылка.ИнвентарныйНомер КАК ИнвентарныйНомер,
|
Наряд.РасходГорючегоПоНорме,
|
Наряд.РасходГорючего
|ИЗ
|
Документ.Наряд.Работы КАК Наряд
|ГДЕ
|
Наряд.Дата МЕЖДУ &НачДата И &КонДата
|
И Наряд.Ссылка.Проведен
|
И Наряд.Ссылка.Участок = &Участок";
Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("НачДата",НачалоМесяца(НачалоДня(ПериодРегистрации)));
Запрос.УстановитьПараметр("КонДата",КонецМесяца(КонецДня(ПериодРегистрации)));
Запрос.УстановитьПараметр("Участок",Участок);
РезультатПоСотрудникам = Запрос.Выполнить().Выгрузить();
РезультатПоСотрудникам.Сортировать("Сотрудник,Дата");
Для каждого строка ИЗ РезультатПоСотрудникам Цикл
НоваяСтрока = Начисления.Добавить();
НоваяСтрока.Сотрудник = строка.Сотрудник;
108
НоваяСтрока.Дата = строка.Дата;
НоваяСтрока.Культура = строка.Культура;
НоваяСтрока.Работа = строка.Работа;
НоваяСтрока.СоставАгрегата = строка.СоставАгрегата;
НоваяСтрока.ЕдиницаИзмерения = строка.ЕдиницаИзмерения;
НоваяСтрока.Разряд = строка.Разряд;
НоваяСтрока.НормаВыработки = строка.НормаВыработки;
НоваяСтрока.Расценка = строка.Расценка;
НоваяСтрока.СменнаяЭталоннаяВыработка = строка.СменнаяЭталоннаяВыработка;
НоваяСтрока.ОтработаноЧасов = строка.ОтработаноЧасов;
НоваяСтрока.УсловныеГектары = строка.УсловныеГектары;
НоваяСтрока.СменныеНормы = строка.СменныеНормы;
НоваяСтрока.ОплатаТруда = строка.СменныеНормы * строка.Расценка;
НоваяСтрока.ИнвНомер = строка.ИнвентарныйНомер;
НоваяСтрока.РасходГорючегоПоНорме = строка.РасходГорючегоПоНорме;
НоваяСтрока.РасходГорючего = строка.РасходГорючего;
КонецЦикла;
КонецПроцедуры
Процедура КоманднаяПанель1Рассчитать(Кнопка)
КонецПроцедуры
Процедура ОсновныеДействияФормыПечать(Кнопка)
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("УчетныйЛист");
Шапка = Макет.ПолучитьОбласть("Шапка");
Строка = Макет.ПолучитьОбласть("Строка");
Итог = Макет.ПолучитьОбласть("Итог");
Подвал = Макет.ПолучитьОбласть("Подвал");
УсловныеГектарыИтог = 0;
СменныеНормыИтог = 0;
ОплатаТрудаИтог = 0;
РасходГорючегоИтог = 0;
л_Сотр = "";
Для Каждого СтрокаТабЧасти Из Начисления Цикл
Если л_Сотр <> СокрП(СтрокаТабЧасти.Сотрудник.Наименование) Тогда
Если л_Сотр <> "" Тогда
Итог.Параметры.УсловныеГектарыИтог = УсловныеГектарыИтог;
Итог.Параметры.СменныеНормыИтог = СменныеНормыИтог;
Итог.Параметры.ОплатаТрудаИтог = ОплатаТрудаИтог;
Итог.Параметры.РасходГорючегоИтог = РасходГорючегоИтог;
ТабДок.Вывести(Итог);
ТабДок.Вывести(Подвал);
УсловныеГектарыИтог = 0;
СменныеНормыИтог = 0;
ОплатаТрудаИтог = 0;
РасходГорючегоИтог = 0;
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
Шапка.Параметры.Год = Год(ПериодРегистрации);
Шапка.Параметры.Месяц = Месяц(ПериодРегистрации);
Шапка.Параметры.Участок = Участок;
Шапка.Параметры.Сотрудник
СтрокаТабЧасти.Сотрудник.ПолноеНаименование;
Шапка.Параметры.Агрегат = СтрокаТабЧасти.СоставАгрегата;
Шапка.Параметры.ИнвНомер = СтрокаТабЧасти.ИнвНомер;
109
=
ТабДок.Вывести(Шапка);
л_Сотр = СокрП(СтрокаТабЧасти.Сотрудник.Наименование);
Строка.Параметры.Число = День(СтрокаТабЧасти.Дата);
Строка.Параметры.НаименованиеРаботы
=
СокрП(СтрокаТабЧасти.Работа.Наименование);
Строка.Параметры.НаименованиеКультуры
=
СокрП(СтрокаТабЧасти.Культура.Наименование);
Строка.Параметры.СоставАгрегата
=
СокрП(СтрокаТабЧасти.СоставАгрегата.Наименование);
Строка.Параметры.ЕдиницаИзмерения = СтрокаТабЧасти.ЕдиницаИзмерения;
Строка.Параметры.Разряд = СтрокаТабЧасти.Разряд;
Строка.Параметры.НормаВыработки = СтрокаТабЧасти.НормаВыработки;
Строка.Параметры.Расценка = СтрокаТабЧасти.Расценка;
Строка.Параметры.СменнаяЭталоннаяВыработка
=
СтрокаТабЧасти.СменнаяЭталоннаяВыработка;
Строка.Параметры.ОтработаноЧасов = СтрокаТабЧасти.ОтработаноЧасов;
Строка.Параметры.УсловныеГектары = СтрокаТабЧасти.УсловныеГектары;
Строка.Параметры.СменныеНормы = СтрокаТабЧасти.СменныеНормы;
Строка.Параметры.ОплатаТруда = СтрокаТабЧасти.ОплатаТруда;
Строка.Параметры.РасходГорючегоПоНорме
=
СтрокаТабЧасти.РасходГорючегоПоНорме;
Строка.Параметры.РасходГорючего = СтрокаТабЧасти.РасходГорючего;
ТабДок.Вывести(Строка);
УсловныеГектарыИтог
=
УсловныеГектарыИтог
+
СтрокаТабЧасти.УсловныеГектары;
СменныеНормыИтог = СменныеНормыИтог + СтрокаТабЧасти.СменныеНормы;
ОплатаТрудаИтог = ОплатаТрудаИтог + СтрокаТабЧасти.ОплатаТруда;
РасходГорючегоИтог
=
РасходГорючегоИтог
+
Строка.Параметры.РасходГорючего;
Иначе
Строка.Параметры.Число = День(СтрокаТабЧасти.Дата);
Строка.Параметры.НаименованиеРаботы
=
СокрП(СтрокаТабЧасти.Работа.Наименование);
Строка.Параметры.НаименованиеКультуры
=
СокрП(СтрокаТабЧасти.Культура.Наименование);
Строка.Параметры.СоставАгрегата
=
СокрП(СтрокаТабЧасти.СоставАгрегата.Наименование);
Строка.Параметры.ЕдиницаИзмерения = СтрокаТабЧасти.ЕдиницаИзмерения;
Строка.Параметры.Разряд = СтрокаТабЧасти.Разряд;
Строка.Параметры.НормаВыработки = СтрокаТабЧасти.НормаВыработки;
Строка.Параметры.Расценка = СтрокаТабЧасти.Расценка;
Строка.Параметры.СменнаяЭталоннаяВыработка
=
СтрокаТабЧасти.СменнаяЭталоннаяВыработка;
Строка.Параметры.ОтработаноЧасов = СтрокаТабЧасти.ОтработаноЧасов;
Строка.Параметры.УсловныеГектары = СтрокаТабЧасти.УсловныеГектары;
Строка.Параметры.СменныеНормы = СтрокаТабЧасти.СменныеНормы;
Строка.Параметры.ОплатаТруда = СтрокаТабЧасти.ОплатаТруда;
Строка.Параметры.РасходГорючегоПоНорме
=
СтрокаТабЧасти.РасходГорючегоПоНорме;
Строка.Параметры.РасходГорючего = СтрокаТабЧасти.РасходГорючего;
ТабДок.Вывести(Строка);
УсловныеГектарыИтог
=
УсловныеГектарыИтог
+
СтрокаТабЧасти.УсловныеГектары;
СменныеНормыИтог = СменныеНормыИтог + СтрокаТабЧасти.СменныеНормы;
ОплатаТрудаИтог = ОплатаТрудаИтог + СтрокаТабЧасти.ОплатаТруда;
110
РасходГорючегоИтог
Строка.Параметры.РасходГорючего;
=
РасходГорючегоИтог
+
КонецЕсли;
КонецЦикла;
Итог.Параметры.УсловныеГектарыИтог = УсловныеГектарыИтог;
Итог.Параметры.СменныеНормыИтог = СменныеНормыИтог;
Итог.Параметры.ОплатаТрудаИтог = ОплатаТрудаИтог;
Итог.Параметры.РасходГорючегоИтог = РасходГорючегоИтог;
ТабДок.Вывести(Итог);
ТабДок.Вывести(Подвал);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.АвтоМасштаб=истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.Показать();
КонецПроцедуры
Процедура НачисленияВсегоЧасовПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Начисления.ТекущиеДанные;
Если СтрокаТЧ.ВсегоЧасов <> 0 Тогда
СтрокаТЧ.Ночные
=
СтрокаТЧ.ОплатаТруда/СтрокаТЧ.ВсегоЧасов*
СтрокаТЧ.ВсегоНочных/100*40;
КонецЕсли;
КонецПроцедуры
Процедура НачисленияВТомЧислеНочныхПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Начисления.ТекущиеДанные;
Если СтрокаТЧ.ВсегоЧасов <> 0 Тогда
СтрокаТЧ.Ночные
=
СтрокаТЧ.ОплатаТруда/СтрокаТЧ.ВсегоЧасов*
СтрокаТЧ.ВсегоНочных/100*40;
КонецЕсли;
КонецПроцедуры
Процедура НачисленияВидПроизвольногоНачисления1ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Начисления.ТекущиеДанные;
Если СтрокаТЧ.ОплатаТруда <> Неопределено Тогда
Если
СтрокаТЧ.ПроизвольноеНачислениеВид1.СпособНачисления
Перечисления.СпособыНачисления.ФиксСумма Тогда
СтрокаТЧ.ПроизвольноеНачислениеЗначение1
СтрокаТЧ.ПроизвольноеНачислениеВид1.Значение;
Иначе
СтрокаТЧ.ПроизвольноеНачислениеЗначение1 = СтрокаТЧ.ОплатаТруда
СтрокаТЧ.ПроизвольноеНачислениеВид1.Значение/100;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура НачисленияПроизвольноеНачислениеВид2ПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Начисления.ТекущиеДанные;
//Спр = Новый("Справочники.Начисления");
//Если Спр.Найти(СтрокаТЧ.ПроизвольноеНачислениеВид2) Тогда
111
=
=
*
//
Если Спр.СпособНачисления = Перечисления.СпособыНачисления.ПроцентОтБазы
Тогда
//
Для каждого строка из Спр.БазаНачислений Тогда
//
//
КонецЦикла;
//
КонецЕсли;
//КонецЕсли;
КонецПроцедуры
112
ПРИЛОЖЕНИЕ Г
Модуль обычного приложения:
Процедура ПриНачалеРаботыСистемы()
Обработки.РабочаяПанель.ПолучитьФорму().Открыть();
КонецПроцедуры
Модуль обработки «Рабочая панель»:
Процедура НадписьОрганизацииНажатие(Элемент)
Справочники.Организация.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьПодразделениеНажатие(Элемент)
Справочники.Подразделения.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьДолжностиНажатие(Элемент)
Справочники.Должности.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьСотрудникиНажатие(Элемент)
Справочники.Сотрудники.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьКультурыНажатие(Элемент)
Справочники.Культуры.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьРаботыНажатие(Элемент)
Справочники.ВидыРабот.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьАвтотранспортНажатие(Элемент)
Справочники.Автотранспорт.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьАгрегатыНажатие(Элемент)
Справочники.Агрегаты.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьВвестиКультуруНажатие(Элемент)
Справочники.Культуры.ПолучитьФормуНовогоЭлемента().Открыть();
КонецПроцедуры
Процедура НадписьВвестиРаботуНажатие(Элемент)
Справочники.ВидыРабот.ПолучитьФормуНовогоЭлемента().Открыть();
КонецПроцедуры
Процедура НадписьВвестиАвтотранспортНажатие(Элемент)
Справочники.Автотранспорт.ПолучитьФормуНовогоЭлемента().Открыть();
КонецПроцедуры
Процедура НадписьВвестиАгрегатНажатие(Элемент)
113
Справочники.Агрегаты.ПолучитьФормуНовогоЭлемента().Открыть();
КонецПроцедуры
Процедура НадписьВвестиНарядНажатие(Элемент)
Документы.Наряд.ПолучитьФормуНовогоДокумента().Открыть();
КонецПроцедуры
Процедура НадписьНарядыНажатие(Элемент)
Документы.Наряд.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьНормыНажатие(Элемент)
Справочники.Нормы.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьВвестиНормуНажатие(Элемент)
Справочники.Нормы.ПолучитьФормуНовогоЭлемента().Открыть();
КонецПроцедуры
Процедура НадписьРасценкиНажатие(Элемент)
Справочники.Расценки.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьКоэффициентыНажатие(Элемент)
Справочники.Коэффициенты.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьРасчетНажатие(Элемент)
Документы.РасчетЗаработнойПлаты.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьВвестиРасчетНажатие(Элемент)
Документы.РасчетЗаработнойПлаты.ПолучитьФормуНовогоДокумента().Открыть();
КонецПроцедуры
Процедура НадписьНачисленияНажатие(Элемент)
Справочники.Начисления.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьПоказательНажатие(Элемент)
Справочники.Показатель.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура НадписьОтчетПоСотрудникамНажатие(Элемент)
Отчеты.ОтчетПоСотрудникам.ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура ОтчетПоАвтотранспортуНажатие(Элемент)
Отчеты.ОтчетПоАвтомобилям.ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура ОтчетПоКультурамНажатие(Элемент)
Отчеты.ОтчетПоКультурам.ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура ОтчетПоКультурам1Нажатие(Элемент)
Отчеты.ОтчетПоКультурам.ПолучитьФорму().Открыть();
КонецПроцедуры
114
Выпускная квалификационная работа выполнена мной совершенно
самостоятельно. Все использованные в работе материалы и концепции из
опубликованной научной литературы и других источников имеют ссылки на
них.
«____» __________________2017 г.
____________________________
____________________________
Подпись
ФИО
115
Отзывы:
Авторизуйтесь, чтобы оставить отзыв