Файл: Разработка регламента выполнения процесса «Расчет заработной платы».pdf
Добавлен: 28.06.2023
Просмотров: 133
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
ГЛАВА 1. Основы расчета заработной платы в организациях
1.1 Виды, формы и системы оплаты труда, порядок ее начисления
1.2. Документы по учету личного состава, труда и его оплаты
1.3. Начисление и удержание оплаты труда работникам бюджетных организаций
Код модуля документа:
- Процедура ОбработкаПроведения()
- Если (Номер_дог = " - / ") или (Номер_дог = " ") тогда
- сообщить("Введите номер договора! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Серия = " № " тогда
- сообщить("Введите серию и номер путевки! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Тип = Перечисление.Тип_клиента.Физ_лицо тогда
- Если Наименование_Клиента.выбран()=0 тогда
- сообщить("Выберите клиента! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- ИначеЕсли Тип = Перечисление.Тип_клиента.Юр_лицо тогда
- Если Юр_орг.выбран()=0 тогда
- сообщить("Выберите клиента! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Конецесли;
- Если Цена_договора=0 тогда
- сообщить("Не указана цена договора! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Наим_туро.выбран()=0 тогда
- сообщить("Выберите туроператора! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если курорт.выбран()=0 тогда
- сообщить("Выберите куророт! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Пансион.выбран()=0 тогда
- сообщить("Выберите пансион! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Номер.выбран()=0 тогда
- сообщить("Выберите номер! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Мед_Страх.выбран()=0 тогда
- сообщить("Выберите значение Мед.страх! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если ПустоеЗначение(Прибытие)=1 тогда
- сообщить("Введите дату прибытия! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если ПустоеЗначение(Отъезд)=1 тогда
- сообщить("Введите дату отъезда! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Самолет_туда.выбран()=0 тогда
- сообщить("Выберите вид самолета! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Самолет_обр.выбран()=0 тогда
- сообщить("Выберите вид самолета! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Вылет_туда.выбран()=0 тогда
- сообщить("Выберите аэропорт вылета! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если ПустоеЗначение(Прибытие_туда)=1 тогда
- сообщить("Выберите значение Мед.страх! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если ПустоеЗначение(Рейс_туда)=1 тогда
- сообщить("Введите номер рейса! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если ПустоеЗначение(Рейс_обр)=1 тогда
- сообщить("Введите номер рейса! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Рук_группы.выбран()=0 тогда
- сообщить("Выберите значение: Наличие руководителя группы! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Леч.выбран()=0 тогда
- сообщить("Выберите значение: наличие лечения! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Пустоезначение(Экс)=1 тогда
- сообщить("Введите значение в поле Дополнительные экскурсии или поставьте нет! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если Пустоезначение(Доп)=1 тогда
- сообщить("Выберите значение: Дополнительные оплаченные услуги или поставьте нет ! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Если ФИО_Сотр.выбран()=0 тогда
- сообщить("Выберите сотрудника, заключившего договор! Документ не проведен.");
- непроводитьдокумент();
- возврат;
- конецесли;
- Регистр.Продажа.Привязыватьстроку(1);
- Выбратьстроки();
- Пока Получитьстроку() = 1 Цикл
- Регистр.Продажа.Курорт = Курорт;
- Регистр.Продажа.Страна = Страна;
- Регистр.Продажа.Цена = Цена_договора;
- Регистр.Продажа.ДвижениеПриходВыполнить();
- КонецЦикла;
- КонецПроцедуры
Документ « Акт выполненных работ».
Код модуля формы:
- ПроцедураПриОткрытии()
- ПриЗаписиПерепроводить(1);
- Исполнитель="НОфондМониторинг";
- Адрес_исп="249038г.Обнинскул.Гурьяновад.19";
- КонецПроцедуры
- ПроцедураАвт()
- Цена=Договор.Цена_договора;
- Ед_изм="шт";
- Колво="1";
- Сумма=Цена;
- Предмет_счета="Предоставлениеуслугпоорганизациисанаторно-курортноголечениясотрудниковпредприятия"
- КонецПроцедуры
- ПроцедураАвтоподстановка()
- Еслидоговор.тип=перечисление.тип_клиента.физ_лицотогда
- Сообщить("ДанныйтипдокументаимеетсмыслтолькодляЮридическихлиц!Выберитедругойдоговор!");
- Договор="";
- Возврат;
- Иначе
- Клиент=Договор.Юр_орг;
- Адрес=Клиент.Юр_адрес;
- Дат_Дог=ДатаДок;
- Номер_дог=Договор.Номер_дог;
- Авт();
- КонецЕсли
- КонецПроцедуры
- ПроцедураПечать()
- Таб=СоздатьОбъект("Таблица");
- Таб.ИсходнаяТаблица("Таблица");
- ЕслиПустоезначение(договор)=1тогда
- Сообщить("Выберитеномердоговора!Печатьневозможна!");
- Возврат;
- ИначеЕслиПустоезначение(Номер_акта)=1тогда
- Сообщить("Выберитеномеракта!Печатьневозможна!");
- Возврат;
- ИначеЕслиКоличествоСтрок()<>1тогда
- Сообщить("Предметсчетаможетбытьтолькоодин!Печатьневозможна!");
- НеПроводитьДокумент();
- Возврат;
- Иначе
- СуммаПрописью=Формат(Цена,"ЧПДС");
- Пропись("");
- ДатаПрописью=Формат(Дат_Дог,"Д(0)ДДММММГГГГ");
- Таб.ВывестиСекцию("Акт");
- Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);
- Таб.ТолькоПросмотр(1);
- Таб.Показать("Печатьактавыполненныхработ","");
- КонецЕсли;
- КонецПроцедуры
Код модуля документа:
- Процедура ОбработкаПроведения()
- Если Пустоезначение(договор) = 1 тогда
- Сообщить("Выберите номер договора! Документ не проведен!");
- НеПроводитьДокумент();
- Возврат;
- ИначеЕсли Пустоезначение(Номер_акта) = 1 тогда
- Сообщить("Выберите номер акта! Документ не проведен!");
- НеПроводитьДокумент();
- Возврат;
- ИначеЕсли КоличествоСтрок() <> 1 тогда
- Сообщить("Предмет счета может быть только один!Документ не проведен!");
- НеПроводитьДокумент();
- Возврат;
- КонецЕсли;
- Регистр.Продажа.Привязыватьстроку(1);
- Выбратьстроки();
- Пока Получитьстроку() = 1 Цикл
- Регистр.Продажа.Цена = Цена;
- Регистр.Продажа.ДвижениеПриходВыполнить();
- КонецЦикла;
- КонецПроцедуры
Отчеты.
Код модуля:
- // Процедура генерации запроса Сформировать.
- Процедура Сформировать()
- Перем Запрос, ТекстЗапроса, Таб;
- если пустоезначение(ВыбНачПериода)=1 тогда
- сообщить("Выберете начальную дату формирования отчета!");
- возврат;
- конецесли;
- если пустоезначение(ВыбКонПериода)=1 тогда
- сообщить("Выберете конечную дату формирования отчета!");
- возврат;
- конецесли;
- если(ВыбКонПериода)<(ВыбНачПериода) тогда
- сообщить("Неправельный диапазон дат!");
- возврат;
- конецесли;
- //Создание объекта типа Запрос
- Запрос = СоздатьОбъект("Запрос");
- ТекстЗапроса =
- "//{{ЗАПРОС(Сформировать)
- |Период с ВыбНачПериода по ВыбКонПериода;
- |Обрабатывать НеПомеченныеНаУдаление;
- |Договор = Документ.Договор.ТекущийДокумент;
- |Номер_дог = Документ.Договор.Номер_дог;
- |ДатаДок = Документ.Договор.ДатаДок;
- |Функция ДоговорЦена_договораСумма = Сумма(Договор.Цена_договора);
- |Группировка Договор упорядочить по Договор.Курорт, Договор.Номер_дог, Договор.ДатаДок без групп все ВошедшиеВЗапрос;
- |"//}}ЗАПРОС
- ;
- // Если ошибка в запросе, то выход из процедуры
- Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
- Возврат;
- КонецЕсли;
- // Подготовка к заполнению выходных форм данными запроса
- Таб = СоздатьОбъект("Таблица");
- Таб.ИсходнаяТаблица("Сформировать");
- // Заполнение полей "Заголовок"
- Таб.ВывестиСекцию("Заголовок");
- Состояние("Заполнение выходной таблицы...");
- Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
- Пока Запрос.Группировка(1) = 1 Цикл
- // Заполнение полей Договор
- Таб.ВывестиСекцию("Договор");
- КонецЦикла;
- // Заполнение полей "Итого"
- Таб.ВывестиСекцию("Итого");
- // Вывод заполненной формы
- Таб.ТолькоПросмотр(1);
- Таб.Показать("Сформировать", "");
- КонецПроцедуры
Суммы заключенных договоров (Отчет по клиентам).
Рис. 25 Внешний вид печатной формы отчета.
Код модуля:
- Процедура ПриОткрытии()
- ВТип = Перечисление.Тип_клиента.Физ_лицо;
- КонецПроцедуры
- Процедура ВалидацияДат()
- Если ВыбНачПериода > ВыбКонПериода Тогда
- ВыбКонПериода = ВыбНачПериода;
- ИначеЕсли ВыбНачПериода < ТекущаяДата() тогда
- ВыбНачПериода = ТекущаяДата();
- КонецЕсли
- КонецПроцедуры
- Процедура Сформировать()
- Таб = СоздатьОбъект("Таблица");
- Таб.ИсходнаяТаблица("Сформировать");
- Таб.ВывестиСекцию("Шапка");
- Таб.Опции(0,0,0,0);
- Таб.ТолькоПросмотр(1);
- Таб.Показать("Сформировать","");
- КонецПроцедуры
- // Процедура генерации запроса Сформиро.
- Процедура Сформиро()
- Перем Запрос, ТекстЗапроса, Таб;
- //Создание объекта типа Запрос
- Запрос = СоздатьОбъект("Запрос");
- Если ВТип = Перечисление.Тип_Клиента.Физ_лицо тогда
- Текстзапроса = "
- |Период с ВыбНачПериода по ВыбКонПериода;
- |Договор = Документ.Договор.ТекущийДокумент;
- |Наименование_Клиента = Документ.Договор.Наименование_Клиента;
- |Тип = Документ.Договор.Тип;
- |Функция ДоговорЦена_договораСумма = Сумма(Договор.Цена_договора);
- |Группировка Договор упорядочить по Договор.Наименование_Клиента;
- |Условие(Тип = ВТип);";
- Иначе
- Текстзапроса = "
- |Период с ВыбНачПериода по ВыбКонПериода;
- |Договор = Документ.Договор.ТекущийДокумент;
- |Юр_орг = Документ.Договор.Юр_орг;
- |Тип = Документ.Договор.Тип;
- |Функция ДоговорЦена_договораСумма = Сумма(Договор.Цена_договора);
- |Группировка Юр_орг упорядочить по Юр_орг.Наименование все ВошедшиеВЗапрос;
- |Условие(Тип = ВТип);";
- КонецЕсли;
- // Если ошибка в запросе, то выход из процедуры
- Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
- Возврат;
- КонецЕсли;
- // Подготовка к заполнению выходных форм данными запроса
- Таб = СоздатьОбъект("Таблица");
- Таб.ИсходнаяТаблица("Сформиро");
- // Заполнение полей "Заголовок"
- Таб.ВывестиСекцию("Заголовок");
- Состояние("Заполнение выходной таблицы...");
- Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
- Если ВТип = Перечисление.Тип_Клиента.Физ_лицо тогда
- Пока Запрос.Группировка(1) = 1 Цикл
- // Заполнение полей Физ_лица
- Таб.ВывестиСекцию("Физ_лица");
- КонецЦикла;
- ИначеЕсли ВТип = Перечисление.Тип_Клиента.Юр_лицо тогда
- Пока Запрос.Группировка(1) = 1 Цикл
- // Заполнение полей Юр_орг
- Таб.ВывестиСекцию("Юр_орг");
- КонецЦикла;
- КонецЕсли;
- // Заполнение полей "Итого"
- Таб.ВывестиСекцию("Итого");
- // Вывод заполненной формы
- Таб.ТолькоПросмотр(1);
- Таб.Показать("Отчет по клиентам", "");
- КонецПроцедуры
Информация о путешествиях.
Код модуля:
- Процедура Переключать()
- //переключатель слоя в зависимости от типа клиента
- Если ВыбТип_клиента = Перечисление.Тип_Клиента.Физ_лицо Тогда
- Форма.в_орг.Видимость(0);
- Форма.ВыбЮрЛица.Видимость(0);
- Форма.ВыбФизЛица.Видимость(1);
- Форма.В_к.Видимость(1);
- Форма.отчет_ю.Видимость(0);
- Форма.отчет_ф.Видимость(1);
- Иначе
- ВыбТип_клиента = Перечисление.Тип_Клиента.Юр_лицо;
- Форма.в_орг.Видимость(1);
- Форма.ВыбЮрЛица.Видимость(1);
- Форма.ВыбФизЛица.Видимость(0);
- Форма.В_к.Видимость(0);
- Форма.отчет_ю.Видимость(1);
- Форма.отчет_ф.Видимость(0);
- КонецЕсли;
- КонецПроцедуры
- Процедура ПриОткрытии()
- ВыбТип_клиента = Перечисление.Тип_Клиента.Физ_лицо;
- Переключать()
- КонецПроцедуры
- Процедура ВалидацияДат()
- Если ВыбНачПериода > ВыбКонПериода Тогда
- ВыбКонПериода = ВыбНачПериода;
- ИначеЕсли ВыбНачПериода < ТекущаяДата() тогда
- ВыбНачПериода = ТекущаяДата();
- КонецЕсли
- КонецПроцедуры
- //
- Процедура отчет()
- Перем Запрос, ТекстЗапроса, Таб;
- //Создание объекта типа Запрос
- Если ВыбЮрЛица.выбран()=0 тогда
- сообщить("Выберите клиента!");
- Возврат;
- КонецЕсли;
- Запрос = СоздатьОбъект("Запрос");
- ТекстЗапроса =
- "//{{ЗАПРОС(отчет)
- |Период с ВыбНачПериода по ВыбКонПериода;
- |Обрабатывать НеПомеченныеНаУдаление;
- |Курорт = Документ.Договор.Курорт;
- |Цена_договора = Документ.Договор.Цена_договора;
- |ДатаДок = Документ.Договор.ДатаДок;
- |Номер_дог = Документ.Договор.Номер_дог;
- |Юр_орг = Документ.Договор.Юр_орг;
- |Тип = Документ.Договор.Тип;
- |Группировка Юр_орг без групп все ВошедшиеВЗапрос;
- |Группировка Курорт без групп;
- |Группировка Номер_дог;
- |Группировка ДатаДок;
- |Группировка Цена_договора;
- |Условие(Юр_орг = ВыбЮрЛица);
- |Условие(Тип = ВыбТип_клиента);
- |"//}}ЗАПРОС
- ;
- // Если ошибка в запросе, то выход из процедуры
- Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
- Возврат;
- КонецЕсли;
- // Подготовка к заполнению выходных форм данными запроса
- Таб = СоздатьОбъект("Таблица");
- Таб.ИсходнаяТаблица("отчет");
- // Заполнение полей "Заголовок"
- Таб.ВывестиСекцию("Заголовок");
- Состояние("Заполнение выходной таблицы...");
- Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
- Пока Запрос.Группировка(1) = 1 Цикл
- // Заполнение полей Юр_орг
- //Таб.ВывестиСекцию("Юр_орг");
- Пока Запрос.Группировка(2) = 1 Цикл
- // Заполнение полей Курорт
- //Таб.ВывестиСекцию("Курорт");
- Пока Запрос.Группировка(3) = 1 Цикл
- // Заполнение полей Номер_дог
- //Таб.ВывестиСекцию("Номер_дог");
- Пока Запрос.Группировка(4) = 1 Цикл
- // Заполнение полей ДатаДок
- //Таб.ВывестиСекцию("ДатаДок");
- Пока Запрос.Группировка(5) = 1 Цикл
- // Заполнение полей Цена_договора
- Таб.ВывестиСекцию("Цена_договора");
- КонецЦикла;
- КонецЦикла;
- КонецЦикла;
- КонецЦикла;
- КонецЦикла;
- // Вывод заполненной формы
- Таб.ТолькоПросмотр(1);
- Таб.Показать("Отчет по Юр.лицам", "");
- КонецПроцедуры
- //*******************************************
- // Процедура генерации запроса Физлица.
- //
- Процедура Физлица()
- Перем Запрос, ТекстЗапроса, Таб;
- //Создание объекта типа Запрос
- Если ВыбФизЛица.выбран()=0 тогда
- сообщить("Выберите клиента!");
- Возврат;
- КонецЕсли;
- Запрос = СоздатьОбъект("Запрос");
- ТекстЗапроса =
- "//{{ЗАПРОС(Физлица)
- |Период с ВыбНачПериода по ВыбКонПериода;
- |Обрабатывать НеПомеченныеНаУдаление;
- |Курорт = Документ.Договор.Курорт;
- |Наименование_Клиента = Документ.Договор.Наименование_Клиента;
- |ДатаДок = Документ.Договор.ДатаДок;
- |Номер_дог = Документ.Договор.Номер_дог;
- |Тип = Документ.Договор.Тип;
- |Цена_договора = Документ.Договор.Цена_договора;
- |Группировка Наименование_Клиента;
- |Группировка Курорт;
- |Группировка Номер_дог;
- |Группировка ДатаДок;
- |Группировка Цена_договора;
- |Условие(Тип = ВыбТип_клиента);
- |Условие(Наименование_Клиента = ВыбФизЛица);
- |"//}}ЗАПРОС;
- // Если ошибка в запросе, то выход из процедуры
- Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
- Возврат;
- КонецЕсли;
- // Подготовка к заполнению выходных форм данными запроса
- Таб = СоздатьОбъект("Таблица");
- Таб.ИсходнаяТаблица("Физлица");
- // Заполнение полей "Заголовок"
- Таб.ВывестиСекцию("Заголовок");
- Состояние("Заполнение выходной таблицы...");
- Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
- Пока Запрос.Группировка(1) = 1 Цикл
- // Заполнение полей Наименование_Клиента
- //Таб.ВывестиСекцию("Наименование_Клиента");
- Пока Запрос.Группировка(2) = 1 Цикл
- // Заполнение полей Курорт
- //Таб.ВывестиСекцию("Курорт");
- Пока Запрос.Группировка(3) = 1 Цикл
- // Заполнение полей Номер_дог
- //Таб.ВывестиСекцию("Номер_дог");
- Пока Запрос.Группировка(4) = 1 Цикл
- // Заполнение полей ДатаДок
- //Таб.ВывестиСекцию("ДатаДок");
- Пока Запрос.Группировка(5) = 1 Цикл
- // Заполнение полей Цена_договора
- Таб.ВывестиСекцию("Цена_договора");
- КонецЦикла;
- КонецЦикла;
- КонецЦикла;
- КонецЦикла;
- КонецЦикла;
- // Вывод заполненной формы
- Таб.ТолькоПросмотр(1);
- Таб.Показать("Отчет по физ.лицам", "");
- КонецПроцедуры