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