Объектно-ориентированное программирование и моделирование
База курса:
Цель курса:
Мы даем вам профессию и готовим к реальной работе
Орг-вопросы
3. Проверьте чтобы вы были записаны тут, допишите свои почтовые ящики (которые вы читаете):
2022.intervolga.ru/imit_2022 1С МОС-191 (8 семестр), 1С МОС-192 (8 семестр)
Выбрать лист группы, найти ФИО, проверить почту, получить номер темы ЛР
4. Для сдачи лабораторных работ заведите приватный репозиторий на github:
Добавьте antonov@intervolga.ru как collaborator к вашему репозиторию:
Внесите адрес репозитория напротив своей фамилии в таблицу
Если вы все сделали верно, в колонке “Приватный” автоматически загорится слово приватный
Правила ведения репозитория
Советы
ПОД ВОПРОСОМ!!!
Лекция 2.5: Механизмы расчета (Завершение “регистр расчета”).
Бизнес-процесс
План
…это отдельный процесс
Кросс-таблица по начисленной ЗП
Диаграмма Ганта
Универсальный расчет премий
В типовых решениях - универсальность механизмов расчета.
В нашем примере - жестко зафиксировано в коде.
Сделаем чтобы премия рассчитывалась гибко, т.е. можно было задать параметры расчета премий.
Универсальность расчета в прикладных решениях обеспечивается за счет того, что:
Сделаем, чтобы в документе “Расчет премии” пользователь мог:
Универсальный расчет премий
Создадим новый вид расчета в пользовательском режиме
Универсальный расчет премий
Добавим в документе возможность выбора пользователем вида расчета
Сделаем чтобы по умолчанию вид расчета был равен предопределенном виду расчета “Премия”
Универсальный расчет премий
Добавим реквизиты
Универсальный расчет премий
Доработаем процедуру проведения
Универсальный расчет премий
Дозаполним и перепроведем уже существующий документ расчета премии для Иванова.
Универсальный расчет премий
Создадим новый документ расчета премии для Петрова
Универсальный расчет премий
Создадим новый документ расчета оклада для Петрова за январь
Выплата заработной платы
Нам необходимо знать какую сумму какому сотруднику необходимо выплатить.
Всё есть в регистре расчета? Нет.
В нем нет информации об уже выплаченных суммах сотруднику. Ведь выплата ЗП может выполняться по частям, также есть выплата аванса.
Необходимо знать остаток долга перед сотрудником на каждый момент времени.
Создание регистра накопления “Долги по заработной плате”.
+ мы должны Сотруднику
- нам должен Сотрудник
Выплата заработной платы
Нам необходимо знать какую сумму какому сотруднику необходимо выплатить.
Всё есть в регистре расчета? Нет.
В нем нет информации об уже выплаченных суммах сотруднику. Ведь выплата ЗП может выполняться по частям, также есть выплата аванса.
Необходимо знать остаток долга перед сотрудником на каждый момент времени.
Создание регистра накопления “Долги по заработной плате”.
+ мы должны Сотруднику
- нам должен Сотрудник
Выплата заработной платы
Выплата заработной платы
Создадим документ для выплаты заработной платы
Выплата заработной платы
Это расход
Выплата заработной платы
Сделаем приход!
Доработаем проведение документов “Начисление оклада”, “Расчет премии”
Выплата заработной платы
Выплата заработной платы
Выплата заработной платы
Перепроводим документы “Начисление оклада” и “Расчет премии”.
Выплата заработной платы
Выплатим зарплату Петрову частично. Создадим документ
Отчеты по заработной плате
Создание отчета “Начисления сотрудников”.
Выведем данные в виде кросс-таблицы. В строках - сотрудники, в колонках виды начислений.
При работе с регистрами накопления мы обращаемся к виртуальным таблицам.
Для получения фактических результатов расчета нам придется использовать физическую таблицу “РегистрыРасчета.ЗаработнаяПлата”. Здесь хранится начисленная ЗП
Отчеты по заработной плате
Отчеты по заработной плате
Параметров не задаем. Отчет за весь период по всем сотрудникам.
Отчеты по заработной плате
Тип отчета - таблица.
Выбираем все три поля.
Отчеты по заработной плате
Отчеты по заработной плате
Отчеты по заработной плате
Исключим те виды расчета, у которых нулевая сумма.
Варианты:
Отчеты по заработной плате
Включим данный элемент в пользовательские настройки
Отчеты по заработной плате
Результат в пользовательском режиме
Отчеты по заработной плате
Сделаем настройку параметра на форме более понятной для пользователей.
Бизнес-процесс
Введение в бизнес-процессы
В основе любого бизнеса лежат проработанные бизнес-процессы, то есть описания – какой сотрудник в какой последовательности должен выполнять какие задачи. В общеэкономическом смысле, без привязки к платформе «1С:Предприятие», можно назвать следующие примеры бизнес-процессов:
Платформа «1С:Предприятие» предназначена для автоматизации бизнес-задач, поэтому в конфигурациях можно встретить отдельные объекты метаданных с похожими названиями: бизнес-процессы и задачи.
Введение в бизнес-процессы
Бизнес-процесс позволяет выстроить цепочку действий разных пользователей программы, которая приведет к определенному результату. Таким результатом может быть формирование отчетности, утверждение документа, состоявшаяся сделка, подписанный договор, заполнение карточки контрагента. По мере движения бизнес-процесса от его начала к завершению создаются задачи сотрудникам. Можно настраивать правила, кому из сотрудников должна быть назначена та или иная задача. Этот механизм называется адресацией задач.
Графически бизнес-процесс можно изобразить в виде карты маршрута. Внешне она похожа на классическую блок-схему алгоритма.
Задача
Таблица с информацией о сотрудниках, подразделениях и должностях сотрудников выглядит так:
В конфигурации необходимо создать бизнес-процесс и настроить автоматическое формирование задач исполнителям. Чтобы выполнить, нужно в первую очередь уметь создавать и настраивать в конфигураторе нужные объекты метаданных.
Поэтому рассмотрим подробнее, как создать бизнес-процесс и как настроить для него карту маршрута.
Как создать бизнес-процесс в конфигурации
В платформе «1С:Предприятие» есть специальные объекты метаданных, которые так и называются – бизнес-процессы, а также «двигатели» бизнес-процессов – задачи.
«Бизнес-процессы» и «Задачи» в структуре Конфигурации
Объект метаданных «Бизнес-процесс»
Как создать бизнес-процесс в конфигурации
Продвижение по карте маршрута бизнес-процесса невозможно реализовать без вспомогательного объекта Задача – «двигателя» бизнес-процесса. При помощи объекта метаданных Задача в каждой точке действия создается одно или несколько заданий исполнителям. Когда все задания в текущей точке завершены, происходит переход к следующей точке карты маршрута.
Поэтому каждому бизнес-процессу в конфигурации обязательно должна быть назначена задача. В каркасной конфигурации нет ни одной задачи. Поэтому ее следует предварительно создать. Создадим задачу «Задачи исполнителям»:
Объект метаданных «Задача»
Как создать бизнес-процесс в конфигурации
На закладке Основные окна редактирования бизнес-процесса необходимо в поле Задачи выбрать созданный в конфигурации объект метаданных ЗадачиИсполнителям:
Выбор задачи для бизнес-процесса
Указание Задачи для Бизнес-процесса является обязательным. Если этого не сделать, система не позволит обновить конфигурацию базы данных и выдаст соответствующее сообщение:
«БизнесПроцесс.БизнесПроцесс: Не выбрана задача бизнес-процесса»
Как создать бизнес-процесс в конфигурации
Задача может присутствовать в конфигурации отдельно, сама по себе, даже когда в дереве объектов метаданных не создано ни одного бизнес-процесса. Проведем аналогию – руководитель может поставить отдельную, разовую задачу своему сотруднику, не в рамках какого-либо бизнес-процесса.
А бизнес-процессу, наоборот, для функционирования обязательно должен быть назначен объект метаданных типа Задача. Это связано с тем, что при продвижении бизнес-процесса от старта к завершению система формирует задания конкретным исполнителям. Поэтому система должна знать, задачи какого типа требуется создавать.
Особенности объекта метаданных Задача рассмотрим в следующих блоках. На текущий момент важно понимать взаимосвязь бизнес-процессов и задач в платформе «1С:Предприятие».
Важно, что для разных бизнес-процессов могут быть назначены одни и те же типы задач. Например, в типовой конфигурации «Управление торговлей, редакция 11» есть несколько типов бизнес-процессов, таких как СогласованиеЗакупки, СогласованиеЦенНоменклатуры, для которых назначены одинаковые задачи.
Как создать бизнес-процесс в конфигурации
В данном случае используется один и тот же тип задач – ЗадачаИсполнителя, чтобы пользователь в одном общем списке видел все свои невыполненные задачи, даже если они относятся к разным типам бизнес-процессов.
Пример назначения задачи одного типа для разных бизнес-процессов
Графически последовательность действий бизнес-процесса представляется при помощи карты маршрута. Рассмотрим, что из себя представляет карта маршрута и как производится ее редактирование.
Как создать карту маршрута бизнес-процесса
В карте маршрута бизнес-процесса схематически отображается логика бизнес-процесса – от старта, через отдельные связанные друг с другом точки маршрута к завершению бизнес-процесса, то есть к достижению определенной цели.
Важно, что бизнес-процесс может иметь только одну карту маршрута.
Открыть карту маршрута бизнес-процесса можно при помощи кнопки Карта маршрута на закладке Прочее:
Открытие карты маршрута бизнес-процесса
Контекстное меню бизнес-процесса
Как создать карту маршрута бизнес-процесса
Для редактирования карты маршрута в конфигураторе предусмотрена специальная панель инструментов. Инструменты этой панели позволяют размещать на карте точки маршрута бизнес-процесса, представляемые как элементы, соединяемые друг с другом:
Панель инструментов для редактирования карты маршрута бизнес-процесса
Панель инструментов для редактирования карты маршрута бизнес-процесса
Как создать карту маршрута бизнес-процесса
Комбинация точек маршрута, а также соединительные линии между ними составляют карту маршрута бизнес-процесса:
Пример карты маршрута бизнес-процесса
Встречаются следующие распространенные точки маршрута:
Точка старта
Схематично точка старта обозначается следующим образом:
Точка старта является обязательной в карте маршрута, так как именно с этой точки начинает свою работу бизнес-процесс. Наличие нескольких точек старта предполагает, что выбор конкретной точки для старта определяется внешними, по отношению к бизнес-процессу условиями.
Точка завершения
Схематично точка завершения обозначается следующим образом:
В точке завершения бизнес-процесс заканчивает свою работу . Эта точка является обязательной в карте маршрута.
Точка действия
При переходе бизнес-процесса на точку действия система формирует одну или несколько задач (заданий). Схематично точка действия обозначается следующим образом:
При формировании задач система может определить исполнителя, которому будет назначена соответствующая задача. Этот механизм называется адресацией задач.
У точки действия есть свойство Групповая:
Точка действия
Если эта галочка установлена, при переходе бизнес-процесса на групповую точку действия может быть сформировано несколько задач в зависимости от настроек адресации. Групповая точка действия выделяется на схеме при помощи тени (справа и снизу):
Точка условия
Схематично точка условия обозначается следующим образом:
Такая точка позволяет в зависимости от значения условия (Истина или Ложь) направить бизнес-процесс по одной из двух веток.
Важно, что для точки условия обязательно должен быть назначен обработчик проверки условия:
Если не назначить этот обработчик, то при сохранении карты маршрута система выдаст ошибку:
Точка условия
Обработчик выглядит следующим образом:
В параметре Результат необходимо вернуть результат проверки условия в данной точке – значение типа Булево (Истина или Ложь).
Если при выходе из процедуры-обработчика параметр Результат принимает значение Истина, то бизнес-процесс будет направлен по той ветке, которая на схеме находится справа и подписана словом «Да». Также обратите внимание, что на схеме эта ветка дополнительно обозначена при помощи точки.
Если же при выходе из процедуры-обработчика параметр Результат принимает значение Ложь, бизнес-процесс будет направлен по той ветке, которая на схеме находится слева и подписана словом «Нет». По умолчанию параметр Результат принимает значение Ложь. То есть если в обработчике не определить никакого кода или не выполнять операцию присваивания для параметра Результат, то бизнес-процесс пойдет по ветке с подписью «Нет».
Точка разделения и точка слияния
Для разбиения карты маршрута на несколько параллельно исполняемых, независимых друг от друга ветвей используется точка разделения. Схематично точка разделения обозначается следующим образом:
Важно, что точка разделения имеет один вход и произвольное количество выходов, то есть параллельно исполняться могут более двух ветвей.
Чтобы объединить несколько параллельно исполняющихся ветвей бизнес-процесса в одну общую ветвь, используется точка слияния. Схематично точка слияния обозначается следующим образом:
Точка разделения и точка слияния
Рассмотрим пример использования в карте маршрута и точки разделения, и точки слияния:
В приведенном примере после точки разделения бизнес-процесс расщепляется на две параллельные ветви. Прием оплаты за заказ и оформление документов могут выполнять разные пользователи. Эти действия происходят параллельно, независимо друг от друга. Но пока оба этих действия не будут выполнены, бизнес-процесс не пойдет дальше точки слияния.
Точка разделения и точка слияния
Точка разделения и точка слияния не обязательно должны вместе использоваться в карте маршрута. Например, может использоваться только точка разделения без точки слияния. В таком случае бизнес-процесс разделится на несколько параллельных ветвей, каждая из которых будет иметь свою собственную точку завершения:
Задавайте вопросы.
Антонов Виталий Михайлович,
руководитель направления 1С-проектов
ИА ИНТЕРВОЛГА
вертикальная оцифровка бизнеса