Файл: Расчет заработной платы» в среде 1С:Предприятие 8.3..pdf
Добавлен: 04.07.2023
Просмотров: 862
Скачиваний: 4
СОДЕРЖАНИЕ
1.1 Выбор комплекса задач автоматизации
1.2 Характеристика документооборота, возникающего при решении задачи
1.3 Обоснование проектных решений по информационному обеспечению
2.2 Характеристика разработанных экранных форм документов в среде 1С:Предприятие
2.2.2 Описание разработанных форм отчетов, необходимых для отражения результатов решения задачи
2.3 Описание реализации периодических расчетов в среде 1С:Предприятие
2.4 Описание созданной / откорректированной карты маршрута бизнес-процесса в среде 1С:Предприятие
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Табель") Тогда
// Заполнение шапки
Период = ДанныеЗаполнения.Период;
Сотрудник_оформил = ДанныеЗаполнения.Сотрудник_оформил;
Для Каждого ТекСтрокаТабель Из ДанныеЗаполнения.Табель Цикл
НоваяСтрока = Оклад.Добавить();
НоваяСтрока.Отработано_часов = ТекСтрокаТабель.Отработано_часов;
НоваяСтрока.Сотрудник = ТекСтрокаТабель.Сотрудник;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.Зарплата.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Зарплата.Дата,
| Зарплата.Номер,
| Зарплата.Период,
| Зарплата.Сотрудник_оформил,
| Зарплата.Зарплата.(
| НомерСтроки,
| Сотрудник,
| Оклад,
| Вычет,
| Премия,
| Сумма
| )
|ИЗ
| Документ.Зарплата КАК Зарплата
|ГДЕ
| Зарплата.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьЗарплатаШапка = Макет.ПолучитьОбласть("ЗарплатаШапка");
ОбластьЗарплата = Макет.ПолучитьОбласть("Зарплата");
Подвал = Макет.ПолучитьОбласть("Подвал");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьЗарплатаШапка);
ВыборкаЗарплата = Выборка.Зарплата.Выбрать();
Пока ВыборкаЗарплата.Следующий() Цикл
ОбластьЗарплата.Параметры.Заполнить(ВыборкаЗарплата);
ТабДок.Вывести(ОбластьЗарплата, ВыборкаЗарплата.Уровень());
КонецЦикла;
Подвал.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Подвал);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Зарплата Приход
Движения.Зарплата.Записывать = Истина;
Для Каждого ТекСтрокаЗарплата Из Зарплата Цикл
Движение = Движения.Зарплата.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Сотрудник = ТекСтрокаЗарплата.Сотрудник;
Движение.Сумма = ТекСтрокаЗарплата.Сумма;
Движение.Дата = Дата;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Учет_доступа_по_пропускам") Тогда
// Заполнение шапки
Сотрудник_оформил = ДанныеЗаполнения.Сотрудник;
Для Каждого ТекСтрокаРегистрация_сотрудников Из ДанныеЗаполнения.Регистрация_сотрудников Цикл
НоваяСтрока = Отработанное_время.Добавить();
НоваяСтрока.Сотрудник = ТекСтрокаРегистрация_сотрудников.Сотрудник;
НоваяСтрока.Часов = ТекСтрокаРегистрация_сотрудников.Часов;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
роцедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.Рабочее_время_сотрудника.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Рабочее_время_сотрудника.Дата,
| Рабочее_время_сотрудника.Номер,
| Рабочее_время_сотрудника.Сотрудник_оформил,
| Рабочее_время_сотрудника.Отработанное_время.(
| НомерСтроки,
| Сотрудник,
| Дата,
| Часов,
| Затраты_рабочего_времени | )
|ИЗ
| Документ.Рабочее_время_сотрудника КАК Рабочее_время_сотрудника
|ГДЕ
| Рабочее_время_сотрудника.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьОтработанное_времяШапка = Макет.ПолучитьОбласть("Отработанное_времяШапка");
ОбластьОтработанное_время = Макет.ПолучитьОбласть("Отработанное_время");
Подвал = Макет.ПолучитьОбласть("Подвал");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;