В процессе работы пользователей, зачастую возникает необходимость создать задачу другому пользователю ИБ и проконтролировать ее выполнение.
К примеру, существует следующая задача:
Автоматизируемая компания занимается торговлей оборудованием. Специфика отгрузки оборудования заключается в том, что в основном она сопровождается оказанием услуг по монтажу закупленного оборудования. Исходя из этого, при оформлении заказа покупателя необходимо кроме ответственного за данный заказ указывать ответственного сотрудника по монтажу (в случае если это услуга не предусмотрена, реквизит не виден).
Если услуга по монтажу оборудования предусмотрена, то автоматически должно сформироваться два напоминания (события):
- Для ответственного менеджера на дату и время напоминания
- Для сотрудника ответственного за монтаж за сутки до напоминания ответственному менеджеру.
Когда срабатывает напоминание у ответственного менеджера, он должен видеть отработано ли напоминание сотрудника по монтажу оборудования.
Сформировать отчет, показывающий состояние согласования (когда сотрудник, ответственный за монтаж отработал напоминание) по незакрытым заказам покупателей (в случае оказание услуги по монтажу).
Решим ее следующим способом:
Создаем три реквизита документа Заказ покупателя: М_Монтаж (булево), М_Монтажник (Справочник пользователи) и М_ДатаМонтажа. Размещаем их на форме. Для того что бы сами реквизиты и их надписи были не видимы добавим процедуру:
При открытии формы документа тоже надо проверять можно ли отображать на форме новые реквизиты. Процедура УстановитьВидимость() вызывается из процедуры ПриОткрытии(). Именно здесь продублируем код процедуры М_МонтажПриИзменении(Элемент). Существуют, конечно, варианты. Например, можно управление видимостью организовать только в процедуре УстановитьВидимость() а в МонтажПриИзменении() обращаться к ней, или в процедуре УстановитьВидимость() вызывать МонтажПриИзменении(), однако, в первом варианте при каждом изменении значения реквизита «М_Монтаж» будет происходить установка видимости всех реквизитов в форме, что негативно скажется на производительности. Второй вариант не совсем корректен с точки зрения логики расположения программного кода, по этому сделаем наш код слегка избыточным, но зато логичным и не замедляющим работу программы.
При проведении документа следует создавать Задачу пользователя с взведенным флагом «Напоминание» и установленной датой напоминания. Лучше всего располагать создание задач после проверки на корректность заполнения всех полей документов (ведь документ может не провестись, а задачи создадутся)
Создавать задачи лучше с помощью немного доработанной процедуры РаботаСДиалогами.ПроверитьЗадачиПоОбъекту(Ссылка);
Во-первых, она проверит, есть ли введенные на основании этого документа задачи, и если обнаружит их, выдаст диалоговое окно пользователю с предложением не создавать новые. Этим мы исключим вероятность создания большого числа напоминаний при перепроведении документа. В самой функции ПроверитьЗадачиПоОбъекту() напишем:
Обратите внимание на реквизит «Инициатор» двух создаваемых нами задач. В форме списка задач существует возможность переключаться в режим просмотра заданий выданных текущим пользователем. Именно с помощью такого определения инициатора выполняется условие задачи: «В окошке напоминания менеджера должно быть видно, отработано ли событие монтажником»
Отчет в задании совсем не сложный, правда, могут возникнуть сомнения какой заказ считать закрытым. Как известно, заказ покупателя делает два движения. Одно по регистру «Заказы покупателя» где в разрезе номенклатуры, ведется учет по отгруженным товарам, второе по регистру «Расчеты с контрагентами» и здесь контролируется оплата по заказу. Думаю, что закрытым можно считать заказ, которого нет в остатках ни по одному, ни по второму регистру. Соединив их полным соединением, а так же присоединив таблицу Задач пользователя, получим отчет по незакрытым заказам пользователя. Автор: Максим Нечистяк
Грамотно построить работу и распланировать рабочее время сотрудников – задача не из легких, особенно в «горячую» пору очередных отпусков, ведь нужно сделать все необходимое, чтобы отсутствие «ценных кадров» никоим образом не отразилось на деятельности вашей организации. В этой статье мы затронем вопрос планирования отпусков персонала в программе «1С:Зарплата и Управление Персоналом 8.1».
Для начала необходимо создать документ «Планирование отпусков». В документе осуществляется планирование ежегодных отпусков работников предприятия, т.е. указывается список работников и периоды их отпусков.
В графе «Состояние» есть два варианта: «Утвержден» или «Не утвержден».
Проведение документа
При проведении документа производится проверка непротиворечивости получающегося графика.
После проведения можно открыть меню «Персонал» - «Отпуска» - «График отпусков». Перед вами появится табличное поле со всеми введенными отпусками.
Здесь можно отследить по цвету ячеек, кто из сотрудников уже был в отпуске, кто еще только запланировал, но еще не утвержден.
В шапке таблицы есть кнопка «Остаток отпусков». Справочник хранит остатки неиспользованных дней управленческого ежегодного отпуска за прошлые года без учета фактических отпусков текущего рабочего года. Остатки хранятся в разрезе календарных лет, с 01.01. по 31.12. В год, когда принят сотрудник, остатки хранятся с даты приема на работу по 31.12.
Заполнять справочник необходимо в двух случаях:
- При начале работы с механизмом остатков отпусков;
- Для ускорения времени проведения документов и формирования отчетов.
Начало работы с механизмом остатков отпусков
Если в программе уже есть документы фактических отпусков, использовать механизм остатков можно с того года, с которого в программе введены фактические отпуска. Порядок ввода данных в этом случае будет следующий:
1. Ввести остатки за год, являющийся предыдущим по отношению к тому году, с которого в программе введены фактические отпуска. Если данных об остатках нет, можно считать, что остатки нулевые, и ввести в качестве остатков нулевые остатки;
2. Заполнить регламентированный производственный календарь за все года, начиная с того года, с которого в программе введены фактические отпуска;
3. Перепровести документы фактических отпусков, чтобы программа посчитала количество дней, использованных каждым фактическим отпуском.
Если в программе данных о фактических отпусках нет, тогда необходимо ввести остатки за предыдущий рабочий год. Если данных об остатках нет, рекомендуется ввести нулевые остатки по каждому сотруднику.
Ускорение времени проведения документов и формирования отчетов
Если в процессе эксплуатации механизма медленнее проводятся документы или формируются отчеты по отпускам, заполнение справочника поможет решить эту проблему. Программа будет рассчитывать остатки каждого сотрудника не с даты приема на работу, а только для тех рабочих лет, для которых нет записей в справочнике остатков. Заполнять справочник можно вручную, вызовом команды заполнения или автоматически, настроив регламентное задание. Функция заполнения остатков заполняет остатки для тех рабочих лет, для которых еще не введены остатки в справочнике. Функция «Рассчитать» в форме редактирования остатков по сотруднику рассчитает остатки автоматически с даты приема сотрудника на работу, используя данные о фактических отпусках, введенных в программу и проигнорировав все остатки, введенные вручную. Увидеть информацию об актуальных остатках по сотрудникам можно из карточки сотрудника.
Также из окна «График отпусков» можно ввести дополнительные дни отпуска, нажав кнопку «Дополнительные дни отпуска». Документ предназначен для ввода дополнительных дней управленческого отпуска, обычно называемых «отгулами». Документ позволяет ввести дополнительные дни управленческого отпуска списку сотрудников. Дни отпуска записываются на дату документа. По каждому отпуску можно ввести примечание. Это примечание будет выводиться в справке по отпуску, которую можно открыть из обработки «График отпусков».
И последнее меню, которое можно вызвать из таблицы - это «Отчет по отпускам».
Отчет предоставляет возможность сформировать разнообразные списки отпусков и графики отпусков сотрудников, как по регламентированному учету, так и по управленческому учету. Данные списки можно формировать в разрезе подразделений и должностей организации и предприятия (режим формирования отчета), а также выбрать отпуска только руководителей. В отчете содержатся варианты, которые позволяют получить различные сведения об отпусках, не прибегая к дополнительным настройкам отчета. Вариант отчета «График отпусков» предназначен для вывода графика отпусков по данным управленческого и регламентированного учетов. В отчет попадают также и неутвержденные графики отпусков. Вариант отчета «Отпуска» предназначен для контроля исполнения графика отпусков. Вариант отчета «Отпуска руководителей» предназначен для вывода графика отпусков руководителей организации или предприятия. Вариант отчета «Фактические отпуска» предназначен для вывода фактических отпусков работников по данным управленческого и регламентированного учетов. В отчет попадают утвержденные отпуска.