А. Н. Пупков инициалы, фамилия
Скачать 1.95 Mb.
|
2.3 Обоснование необходимости совершенствования системы учета рабочего времени на предприятии Способы учета рабочего времени, которые используются на предприятии ООО «Компания ВТБ» в данный момент, являются достаточно эффективными, так как предприятие имеет небольшой штат. Однако руководители не имеют удобной системы оценки эффективности работы сотрудников, так как учет общего времени нахождения сотрудников на рабочем месте как таковой не ведется. Отсутствует возможность получать специализированные отчеты о посещении сотрудниками своих рабочих мест, а также времени, которое они провели на предприятии, и в этом вопросе руководство предприятия вынуждено полностью полагаться на записи администратора, либо верить сотрудникам на слово. Для обоснования разработки и внедрения модуля учета рабочего времени предположим следующую ситуацию. Допустим, на предприятии есть несколько сотрудников с приблизительно одинаковым стажем и опытом работы. Если сотрудник находится на рабочем месте 4 часа и выполняет работы на 3 часа, то это является приемлемым и даже хорошим результатом. В то же время, если сотрудник находится на рабочем месте 8 часов, а время, затраченное на труд, 39 составляет 1-2 часа, то в этом случае необходимо разобраться в причинах такой разницы. Благодаря учету общего времени нахождения сотрудников на рабочем месте и наличии информации о времени, затраченном ими на работу, руководство предприятия сможет оперативно реагировать на большие или подозрительные отклонения в этих видах времени. Это позволит пресечь злоупотребление доверием руководства, сравнивать эффективность работы различных сотрудников, выявлять причины неэффективной работы на отдельных рабочих местах, а также избежать недопонимания между сотрудниками и работодателем. Благодаря определенному программному обеспечению, руководство предприятия сможет получать специализированную отчетность о посещаемости и времени, проведенном сотрудниками на своих рабочих местах. К такой отчетности будут относиться: табель учета рабочего времени Т-13, ежедневный отчет посещаемости, табель посещаемости, отчет о приходах- уходах, а также ряд других отчетов. Это позволит в наглядной и удобной форме производить анализ использования сотрудниками своего рабочего времени. Также, на основании табеля Т-13 в программе «1С: Зарплата и Управление Персоналом 3.1» будет возможно производить начисление заработной платы [45]. Внедрение системы учета времени основанной на устройстве считывания отпечатков пальцев позволит повысить точность измерения времени нахождения персонала на предприятии, а также уменьшит влияние человеческого фактора в данном процессе. Одно дело, когда полагаешься на слова работников и администратора, и совсем другое дело – знать, что измерение производится специальным устройством, точным и беспристрастным. Такое устройство позволяет смотреть на работу персонала исключительно с практической точки зрения. Это не значит, что руководителям необходимо следить за каждым шагом работников, но при наличии такого рода информации можно сделать более точные измерения производительности каждого сотрудника, а при неудовлетворительных данных принять 40 соответствующие меры. В ряде случаев это может быть полезным и для самих сотрудников – например, некоторые люди стесняются признаться начальству, что работают не так эффективно как могли бы из-за поломки или неисправности оборудования на их рабочем месте, нехватки знаний или опыта, продолжительном плохом самочувствии и т.п. Помимо автоматизации процессов управления и учета на предприятиях, обслуживания и обновления систем «1С», администрирования сетей различных фирм, ООО «Компания ВТБ» также занимается продажей офисной техники. К такой технике относятся и сканеры считывания отпечатков пальцев «ZKTeco» U160. Именно такой сканер будет использован при создании системы учета времени персонала для внедрения на предприятии. Создание модуля, связывающего устройство считывания отпечатков пальцев и программу «1С: Зарплата и Управление Персоналом 3.1» позволит компании, после некоторого тестирования системы на самом предприятии, заняться продажей устройств для считывания отпечатков сразу со специализированной внешней обработкой или встраиваемой доработкой к программе «1С: Зарплата и Управление Персоналом 3.1», что будет удобно для тех предприятий, которые уже пользуются данной программой и с целью учета рабочего времени приобретают сканеры отпечатков пальцев. Также можно будет предлагать клиентам приобрести одновременно два товара: «1С: Зарплата и Управление Персоналом 3.1» и сканер отпечатков – их можно будет использовать в связке сразу после приобретения и настройки. Все это позволит компании получать дополнительный доход и при этом будет весьма полезным для клиентов. При некоторой доработке или изменении разрабатываемого модуля можно будет увеличить его функциональность и удобство, а также сделать возможным его интеграцию с другими программными продуктами фирмы «1С», учитывающими рабочее время персонала. Помимо «1С: Зарплата и Управление Персоналом 3.1» к таким продуктам можно отнести «1С: Зарплата и Кадры», «1С: Управление Производственным Предприятием», а также ряд отраслевых решений на платформе «1С: Предприятие». Также существуют 41 специальные модули, позволяющие вести учет рабочего времени в программе «1С: Бухгалтерия Предприятия» – разрабатываемая обработка будет полезна и в этом случае. В будущем, при выходе новых версий платформы или новых версий конфигураций, также может потребоваться обновление разрабатываемого модуля, чтобы его работоспособность не ограничивалась лишь текущими версиями программ «1С» [46, 47]. 42 3 Совершенствование системы учета рабочего времени на предприятии ООО «Компания ВТБ» 3.1 Анализ требований к системе учета рабочего времени на предприятии Внедряемая на предприятии ООО «Компания ВТБ» система должна обладать рядом параметров, заранее оговоренных с руководством компании. Так, главные лица предприятия желают, чтобы система учета рабочего времени была реализована с использованием устройства, считывающего отпечатки пальцев. Таким устройством выступит сканер отпечатков U160 от компании «ZKTeco» – китайской компании, специализирующейся на разработке электронных и биометрических систем контроля управления доступом. Вид устройства представлен на рисунке 6. Рисунок 6 – Сканер отпечатков пальцев U160 от компании «ZKTeco» Устройство должно подсчитывать время между отметками с видом «Приход» и «Уход». Если в течение дня будет сделано несколько отметок о прибытии и уходе, то система должна суммировать время между парами 43 приход-уход за день для каждого отдельного сотрудника. Также, если сотрудник в конце дня забыл сделать отметку «Уход», либо первой отметкой за день был не «Приход», то время для сотрудника за такие дни учитываться не должно – в этом случае оно будет проставляться в ручном порядке. Конечным документом, производимым системой, должен являться табель учета рабочего времени, создаваемый в программе «1С: Зарплата и Управление Персоналом 3.1» на основе данных, фиксируемых сканером. В табель должны попадать данные в пределах месяца – это требуется для обеспечения возможности вводить табель как за весь месяц сразу, так и за его часть, что бывает необходимо при начислении авансов. Информация о посещениях изначально хранится в сканере. Чтобы иметь к ней доступ, необходимо выгрузить данные со сканера в базу данных, находящуюся на выделенном компьютере компании, работа с которой ведется в программе «ZKTime 5.0», разработанной компанией «ZKTeco» [48]. Необходимо создать модуль, позволяющий в первую очередь выгрузить список сотрудников из базы «1С» в базу «ZKTime», а уже из базы «ZKTime» непосредственно в сканер. Сотрудники будут регистрироваться в сканере без необходимости продолжительного ввода личной информации – работникам останется только внести свои отпечатки пальцев, связав их с соответствующей записью сканера [49]. Второй задачей разрабатываемого модуля будет являться загрузка информации о посещениях из базы «ZKTime» в базу «1С» и создание на основе этой информации документа «Табель учета рабочего времени». Если учет времени на предприятии ведется в конфигурации «1С: Зарплата и Управление Персоналом 3.1», то данный документ можно будет использовать для начисления заработной платы рабочим. Кроме того этот документ можно использовать как отчет, без необходимости его использования в реальном учете [50]. Разрабатываемый модуль интеграции как объект «1С» будет представлять собой внешнюю обработку, которую можно будет использовать без 44 непосредственного внедрения в конфигурацию «1С: Зарплата и Управление Персоналом 3.1». Это позволит облегчить применение и внедрение модуля, а также не потребует в дальнейшем дополнительных действий с конфигурацией при ее обновлении [51, 52]. Рассмотрим общую схему системы учета рабочего времени с применением разрабатываемого модуля. Схема приведена на рисунке 7. Рисунок 7 – Схема системы учета рабочего времени В цикле работы системы пять основных шагов. На первом шаге через модуль интеграции будет производиться выгрузка информации о сотрудниках из базы «1С» в базу данных «ZKTime». На втором шаге эта информация должна быть выгружена из базы данных «ZKTime» в сканер отпечатков пальцев, при этом используется интерфейс программы «ZKTime». После назначения 45 отпечатков пальцев каждой созданной в сканере записи сотрудников, сканер готов к использованию и может регистрировать события «Приход» и «Уход». На третьем шаге информация о посещениях через интерфейс программы «ZKTime» загружается со сканера в базу данных «ZKTime». На четвертом шаге эти данные через разрабатываемый модуль попадают в базу данных «1С» и на их основе создается табель учета рабочего времени, что является последним, пятым шагом цикла работы системы. Таким образом, разрабатываемый модуль используется на первом, четвертом и пятом шаге. Прежде чем перейти к разработке модуля, ознакомимся с программой «ZKTime», а также заранее произведем необходимые настройки базы. Интерфейс программы «ZKTime» приведен на рисунке 8. Рисунок 8 – Интерфейс программы «ZKTime» 46 В главном окне находится список устройств считывания отпечатков пальцев. Чтобы подключить наше устройство, необходимо нажать на кнопку «Управление устройствами» в верхней части интерфейса программы. Там необходимо выбрать вариант «Добавить новое». Откроется окно ввода данных об устройстве. Вид окна приведен на рисунке 9. Рисунок 9 – Добавление устройства в программе «ZKTime» После ввода необходимых данных и нажатия кнопки «ОК» устройство появится в списке. Чтобы сделать подключение активным, необходимо выбрать наше устройство из списка и нажать на кнопку «Подключить». После этого можно пользоваться пунктами «Выгрузить сведения о пользователях на устройство», «Импорт данных о посещениях» и другими. Файл базы данных «ZKTime» находится в папке с установленной программой и имеет расширение «.mdb». По-умолчанию он имеет название «att2000». Работа с этим файлом напрямую может вестись при помощи программы «Microsoft Access». Необходимо предусмотреть ситуацию, когда попадающие в эту базу данные будут иметь большие значения длины поля, чем предусмотренные изначально. Для этого откроем базу в программе «Microsoft 47 Access» и согласимся с полным отображением данных. Мы увидим окно со списком таблиц базы, как показано на рисунке 10 [53, 54]. Рисунок 10 – Список таблиц базы данных «ZKTime» В ходе работы нам потребуются только две таблицы: USERINFO и CHECKINOUT. Таблица USERINFO содержит записи с информацией о сотрудниках, зарегистрированных в базе, а таблица CHECKINOUT записи приходов и уходов сотрудников. Нам потребуется изменить размер некоторых полей таблицы USERINFO. Например, в поле NAME будет записываться имя, фамилия и отчество сотрудника, но изначально длина поля не превышает 20 символов. При попытке записать в это поле более длинное значение, база выдаст ошибку и не сохранит символы, выходящие за указанное для поля значение длины. Откроем таблицу USERINFO в режиме конструктора и 48 изменим значение полей BADGENUMBER, SSN и NAME на более длинное как показано на рисунке 11. Рисунок 11 – Настройка длины полей таблицы USERINFO в базе «ZKTime» Сохраняем изменения, внесенные в базу. В случае если потребуется записывать еще более длинные значения, мы можем повторить операцию, указав необходимую длину для нужного поля. Также следует сделать определенную настройку в программе «1С». Чтобы программа позволяла использовать табель, в котором виды времени не совпадают с расписанием, указанном для сотрудника, необходимо снять галочку «Проверять соответствие фактического времени плановому». Эта настройка находится в разделе «Настройка», пункт «Расчет зарплаты». На рисунке 12 приведена описанная выше настройка. 49 Рисунок 12 – Настройка проверки соответствия фактического времени плановому Также, перед использованием табеля учета рабочего времени в «1С: Зарплата и Управление Персоналом 3.1» необходимо убедиться, что для предприятия настроен производственный календарь, а для сотрудников указаны и настроены графики работы. Если производственный календарь или графики работы сотрудников не заполнены или не указаны, то программа не сможет рассчитать норму времени для сотрудников для сопоставления ее с фактическим временем, указанным в табеле. Чтобы утвердить производственный календарь, необходимо в разделе «Настройка» выбрать пункт «Производственные календари». В нашем случае необходимо выбрать производственный календарь «Российская Федерация», открыть его и нажать на кнопку «Заполнить по умолчанию», как показано на рисунке 13. Рисунок 13 – Настройка производственного календаря 50 Графики работы сотрудников указываются в документе «Прием на работу». В этом же документе указываются начисления для сотрудников, например, «Оплата по окладу». Если необходимо изменить эти данные, то необходимо воспользоваться документом «Кадровый перевод». После предварительно проведенных настроек можно приступать к созданию модуля, который позволит вести обмен информацией между базами «1С» и «ZKTime». В следующем параграфе описан процесс создания необходимой обработки. 3.2 Разработка модуля учета рабочего времени для программы «1С: Зарплата и Управление Персоналом» и его синхронизация с устройством, считывающим отпечатки пальцев Перед началом разработки модуля, необходимо создать базу данных на основе конфигурации «1С: Зарплата и Управление Персоналом 3.1». Лучше всего для этого подойдет демо-база, так как в ней уже заполнены все основные справочники и создано некоторое количество документов. Такая база не предназначена для ведения реального учета, но позволяет проверить, как будут работать созданные разработчиком объекты. Если никаких ошибок или отклонений в работе добавленных элементов нет, тогда их можно будет переносить на базы, которыми пользуются предприятия. После установки платформы «1С» и нужной конфигурации («1С: Зарплата и Управление Персоналом 3.1»), необходимо запустить программу. Появится пустой список баз и программа предложит создать новую базу. Позже создать новую базу можно будет нажав на кнопку «Добавить». При создании базы необходимо будет указать, что мы создаем новую базу, указать шаблон «Зарплата и Управление Персоналом (демо)» установленной версии (в нашем случае это версия 3.1.1.114), назначить название для базы (как она будет отображаться в списке баз) и указать папку на диске, в которой база будет 51 храниться. Остальные настройки можно оставить по-умолчанию. На рисунке 14 показан список баз после всех проделанных операций. Рисунок 14 – Список баз «1С» после создания новой базы Обычные пользователи в большинстве случаев работают с базой в режиме «1С: Предприятие». Можно сказать, что это пользовательский режим работы программы. Запустим программу в этом режиме. Программа предложит нам ввести имя пользователя и пароль. Так как мы используем демо-базу, то достаточно будет указать лишь одного из заранее заданных в выпадающем списке пользователей – пароль для них в демо-базе отсутствует. Однако при работе в базах «1С», использующихся для ведения реального учета на предприятиях, рекомендуется присваивать пароль каждому созданному в базе «1С» пользователю. Вид программы в пользовательском режиме показан на рисунке 15. 52 Рисунок 15 – Начальный экран демо-базы конфигурации «1С: Зарплата и Управление Персоналом 3.1» Как мы видим, в программе уже создана организация «Крон-Ц», присутствуют записи в справочнике сотрудников, а также есть документы по начислению зарплаты и взносов. Все эти записи сделаны в демо-базе для ознакомления пользователей с конфигурацией и создания условий для проверки работы добавляемых в конфигурацию элементов. Выйдем из режима «1С: Предприятие», нажав на крестик в правом верхнем углу окна программы. Все элементы конфигурации, такие как справочники, отчеты и др., а также и их взаимосвязь создаются и настраиваются в режиме «Конфигуратор». Запустим «1С» в этом режиме. Открывать, редактировать и создавать объекты конфигурации, а также создавать новых пользователей могут только пользователи, имеющие определенные права, поэтому при запуске демо-базы в режиме «Конфигуратор» укажем предопределенного в списке пользователя с 53 правами системного администратора. По-умолчанию это Савинская З.Ю. (Системный программист)). Сразу после запуска мы может создать нового пользователя базы, назначив ему имя, пароль и необходимые права (Администрирование – Пользователи – Добавить) [55, 56]. Чтобы увидеть элементы конфигурации, необходимо открыть дерево конфигурации (Конфигурация – Открыть конфигурацию). На рисунке 16 показано окно конфигуратора, после выполненных действий. Рисунок 16 – Окно базы данных «1С» в режиме «Конфигуратор» В дереве конфигурации показаны все элементы, образующие текущую конфигурацию. Если нажать на плюсик рядом с группой элементов, то можно увидеть текущие элементы данной группы. В самом верху дерева конфигурации располагается основной раздел конфигурации и рядом с ним можно заметить значок в виде замка и желтого кубика. Замок означает, что 54 конфигурация не доступна для редактирования, а желтый кубик – что она находится на поддержке (элементы, находящиеся на поддержке, будут обновляться в момент установки обновлений). Пока замок установлен, мы не сможем добавить либо редактировать элементы конфигурации. Чтобы снять замки необходимо воспользоваться пунктом Конфигурация – Поддержка – настройка поддержки – Включить возможность изменения и согласиться на внесение этого изменения. Откроется окно настройки правил поддержки. Правила поддержки необходимо установить в значение «Объект поставщика редактируется с сохранением поддержки» как показано на рисунке 17 [57, 58]. Рисунок 17 – Настройка правил поддержки После включения возможности редактирования конфигурации значок замка рядом с основным разделом перестанет отображаться, и теперь мы сможем добавлять свои собственные элементы и редактировать их. Разрабатываемый модуль как элемент конфигурации будет представлять из себя обработку. Обработка «1С» – объект конфигурации служащий для изменения и преобразования информации в базе данных. Обработка может быть внешней и встроенной в конфигурацию. Внешняя обработка представляет из себя файл, открываемый в пользовательском режиме «1С» для выполнения определенных действий, заложенных в нее. Но прежде чем обработка становится внешней, необходимо обеспечить ее функциональность и проверить работоспособность, поэтому в первую очередь 55 работа с этим объектом идет как со встроенной обработкой. Встроенную обработку можно будет вызвать несколькими способами: создав для нее отдельный раздел в программе, создав для нее ссылку в уже существующем разделе, либо через пункт пользовательского режима «Все функции». Остановимся на варианте с созданием нового раздела. Для этого в дереве конфигурации откроем вкладку «Общие», выберем группу объектов «Подсистемы» и нажмем кнопку «Добавить». Заполним вкладку «Основные» окна свойств подсистемы как показано на рисунке 18. Остальные вкладки заполнять не требуется [59, 60]. Рисунок 18 – Окно созданной подсистемы Имя объекта используется программой для обращения к нему, оно не должно содержать пробелы и ряд символов. Синоним является отражением элемента в пользовательском режиме, т.е. пользователи увидят этот элемент под названием, указанным в поле синоним. Необходимо установить галочку «Включать в командный интерфейс». Если этого не сделать, то созданный раздел не будет отображаться в пользовательском режиме. Итак, новый раздел 56 создан, но он еще пуст, так как мы не включили в его состав ни один объект [61]. Далее создадим обработку. Для этого нужно кликнуть правой кнопкой мыши на корень объектов типа обработка и выбрать пункт «Добавить». Откроется окно свойств и настройки объекта. Заполним вкладку «Основные» как показано на рисунке 19 [62]. Рисунок 19 – Окно созданного объекта конфигурации Включим этот объект в созданную ранее подсистему. Для этого на вкладке «Подсистемы» установим галку напротив нужной подсистемы как показано на рисунке 20. 57 Рисунок 20 – Настройка вкладки «Подсистемы» Теперь ссылка на создаваемую обработку будет отображаться в разделе «Учет рабочего времени». Прежде чем перейти к разработке интерфейса обработки, определим, какая информация потребуется модулю для выполнения поставленной задачи. В первую очередь, модулю необходимо знать, где находится база данных «ZKTime», т.к. именно из нее будет осуществляться выгрузка в сканер информации о сотрудниках, и в ней же будет содержаться выгружаемая со сканера информация о посещениях. Поэтому нам потребуется поле для ввода пути к базе данных «ZKTime». Также потребуются поля ввода периода, за который из базы «ZKTime» будут загружены данные о посещениях. В базах «1С» вида ПРОФ возможно ведение учета по нескольким организациям, а также ведение учета в филиалах организаций. Табель учета рабочего времени создается для конкретной организации или филиала. В связи с этим 58 потребуется поле для указания организации, по которой будут выгружены данные о сотрудниках, входящих в нее [63]. Вноситься информация будет в поля формы, но хранение и обработка внесенной информации будет производиться через установленный для каждого поля реквизит объекта. Поэтому следует заранее создать необходимые реквизиты. Для этого в дереве конфигурации раскрываем состав создаваемой обработки и, выбрав группу реквизиты, создаем необходимое их количество. Также мы можем сделать это из вкладки «Данные» окна свойств обработки. Заполняем окно свойств для каждого реквизита. В первую очередь задаем название реквизита, синоним и тип. Если реквизит будет использован для поля, обязательного к заполнению, свойство реквизита «Проверка заполнения» необходимо выставить в значение «Выдавать ошибку». Заполнение свойств реквизитов показано на рисунках 21-24, а их отображение в дереве конфигурации на рисунке 25 [64]. Рисунок 21 – Окно свойств реквизита «Путь» 59 Рисунок 22 – Окно свойств реквизита «ПериодС» Рисунок 23 – Окно свойств реквизита «ПериодПо» 60 Рисунок 24 – Окно свойств реквизита «Организация» Рисунок 25 – Отображение реквизитов обработки в дереве конфигурации После проделанных операций можно перейти непосредственно к разработке интерфейса обработки. Интерфейс обработок обеспечивается за счет форм. Создадим форму для обработки. Для этого открываем окно свойств нашей обработки и переходим на вкладку «Формы». Также создать форму для 61 объекта можно в дереве конфигурации. Нажимаем кнопку «Добавить». В окне создания формы заполняем значения, как показано на рисунке 26. Рисунок 26 – Создание формы для разрабатывающейся обработки После нажатия на кнопку «Далее» выбираем созданные ранее реквизиты, которые сразу попадут на форму. Этот процесс показан на рисунке 27. Рисунок 27 – Выбор реквизитов для формы Откроется окно редактирования формы. Оно представлено на рисунке 28. 62 Рисунок 28 – Окно редактирования формы В левом верхнем углу находится список элементов формы, в верхнем правом углу элементы отражены с детализацией по типу и с отображением принадлежности к другим реквизитам. Также имеются вкладки с дополнительными элементами и настройками. В нижней части отображается текущий вид формы. В подвале окна редактирования находятся две вкладки: «Форма» и «Модуль». На вкладке «Форма» работа идет с графической составляющей формы, а на вкладке «Модуль» – с программной. Сразу после создания формы ее модуль будет пустым. Для начала изменим вид и функциональность формы. Создадим необходимые кнопки, а также объединим часть объектов в группы для их более компактного отображения. Для добавления групп и кнопок необходимо использовать кнопку «Добавить» в списке элементов формы (левый верхний угол окна редактирования). 63 По-умолчанию добавленные элементы будут отображаться друг под другом. Чтобы часть из них отображалась по горизонтали, создаем группу и добавляем в нее необходимые элементы, а в окне свойств группы для параметра «Группировка» устанавливаем значение «Горизонтальная если возможно». Настройка группы показана на рисунке 29. Рисунок 29 – Окно редактирования формы При создании кнопок, в окне свойств необходимо указать такие параметры, как имя кнопки, синоним, в зависимости от которого на кнопке будет определенная надпись, и название команды, которая будет выполняться при нажатии на кнопку. Если команды заранее не созданы, их можно создать после добавления кнопок и назначить соответствующим элементам. Конечный вид формы представлен на рисунке 30. 64 Рисунок 30 – Конечный вид созданной формы На рисунке 30 видно, что были созданы такие кнопки как «ВыборПутиКБД», «НастройкаПериода», «ВыгрузкаСотрудников» и «СозданиеТабеля». При этом окне отображения формы на кнопках сделаны другие надписи. Как было указано ранее, это происходит за счет заполнения свойства кнопки «Синоним». Разберемся, для каких целей предназначена каждая из кнопок. Кнопка «ВыборПутиКБД» призвана при нажатии на нее открывать диалоговое окно выбора файла на жестком диске. Благодаря этому отпадает необходимость прописывать путь к файлу вручную. 65 Кнопка «НастройкаПериода» обеспечит вызов расширенного окна выбора периода, которое позволит быстрее выбрать определенные значения для полей «ПериодС» и «ПериодПо». Этот процесс будет реализован с помощью стандартных механизмов платформы. Кнопки «ВыгрузкаСотрудников» и «СозданиеТабеля» будут выполнять главные действия обработки. «ВыгрузкаСотрудников» обеспечит передачу данных о сотрудниках в базу данных «ZKTime», а «СозданиеТабеля» будет осуществлять запрос в базу «ZKTime» и создание на основе полученных данных табеля учета рабочего времени Т-13. Но прежде чем кнопки станут рабочими, создадим и присвоим им команды. Для создания команд в окне редактирования форм существует вкладка «Команды». Перейдем в нее и нажмем на кнопку «Добавить». Так как у нас четыре кнопки, нам понадобится четыре команды. В окне свойств каждой команде потребуется присвоить действие. Действие – это процедура, созданная в модуле формы. Пока не создано ни одной процедуры, поэтому при назначении действия необходимо нажать на значок лупы и в открывшемся списке выбрать один из вариантов создания обработчика команды. Платформа предложит три варианта: «Создать на клиенте», «Создать на клиенте и процедуру на сервере без контекста» и «Создать на клиенте и процедуру на сервере». Выбор определит среду исполнения процедуры. Не углубляясь в особенности директив компиляции в «1С», стоит отметить, что в зависимости от этого выбора часть команд будет недоступна либо их работа будет изменена. Для каждой из команд выбор создания обработчика зависит от особенностей выполнения той или иной команды. Окно выбора директив компиляции показано на рисунке 31 [65, 66]. 66 Рисунок 31 – Окно выбора создания обработчика команды Создадим команды «ВыборПутиКБазе», «ВыборПериода», «ВыгрузкаСотрудников» и «СозданиеТабеля». Для команд «ВыборПутиКБазе» и «ВыборПериода» подойдет вариант создания обработчика «Создать на клиенте», а для «ВыгрузкаСотрудников» и «СозданиеТабеля» – «Создать на клиенте и процедуру на сервере». Пример заполнения окна свойств для команд приведен на рисунке 32, а список созданных команд приведен на рисунке 33. Рисунок 32 – Окно выбора создания обработчика команды 67 Рисунок 33 – Список созданных команд в окне редактирования формы Во время создания и присвоения командам действий, в модуле формы создаются соответствующие процедуры. Это показано на рисунке 34 [67]. Рисунок 34 – Модуль формы после создания процедур 68 Сразу после создания, процедуры не содержат код, который необходимо будет выполнить при нажатии на кнопку. Поэтому после создания процедур нужно наполнить их кодом, который обеспечит выполнение необходимых действий. Также может потребоваться создание функций – подпрограмм для возврата определенных значений. Большую часть кода следует снабжать комментариями, чтобы в дальнейшем было проще ориентироваться в написанном коде. На рисунке 35 приведен вид модуля формы после написания необходимого кода [68, 69]. Рисунок 35 – Модуль формы после написания необходимого кода На рисунке 30 все процедуры и функции свернуты. Полный код процедур и функций приведен в приложении А. Стоит отметить, что в процедурах предусмотрена проверка на заполнение необходимых полей. В случае если нужное поле не заполнено, программа выдаст предупреждение об этом. После всех проделанных операций необходимо сохранить изменения, внесенные в конфигурацию. Если изменения были зарегистрированы, то на 69 панели инструментов конфигурации будет доступен значок «Обновить конфигурацию базы данных (F7)». На рисунке 36 приведена область панели инструментов с выделенным значком, на который нужно нажать. Рисунок 36 – Значок «Обновить конфигурацию базы данных (F7)» на панели инструментов конфигурации Теперь можно запустить программу в режиме «1С: Предприятие» и проверить, как работает созданная обработка. Сворачиваем окно конфигуратора и запускаем базу в пользовательском режиме. На рисунке 37 показано, что в программе появился созданный в конфигураторе раздел. Рисунок 37 – Раздел «Учет рабочего времени» в режиме «1С: Предприятие» В данном разделе находится только одна ссылка – на созданную обработку. Это показано на рисунке 38. Рисунок 38 – Состав раздела «Учет рабочего времени» Нажмем на ссылку «Система учета рабочего времени». Откроется окно созданной для обработки формы, как показано на рисунке 39. 70 Рисунок 39 – Форма обработки «Система учета рабочего времени» в режиме «1С: Предприятие» Заполним необходимые поля. Для начала укажем путь к базе данных «ZKtime». Для этого нажмем кнопку «Указать путь» и в открывшемся диалоговом окне выберем файл базы данных как показано на рисунке 40. Рисунок 40 – Окно выбора файла базы данных «ZKTime» 71 После указания пути мы уже можем воспользоваться кнопкой «Выгрузить сотрудников». В этом случае будут выгружены данные обо всех сотрудниках справочника «Сотрудники», независимо от того к какой организации они относятся. Если в поле «Организация» указать конкретную организацию или филиал, то будут выгружены только сотрудники указанной организации или филиала. В выпадающем меню укажем организацию демо- базы «Крон-Ц». Нажмем на кнопку «Выгрузить сотрудников». В нижней части формы появятся сообщения о том, какие сотрудники были выгружены. Это показано на рисунке 41. Рисунок 41 – Сообщения о выгрузке сотрудников Проверим, попали ли записи в таблицу USERINFO базы данных «ZKTime». С помощью программы «Microsoft Access» откроем файл базы 72 данных «ZKTime». Выберем таблицу USERINFO и откроем ее для просмотра и редактирования. На рисунке 42 показано содержание этой таблицы после выгрузки информации о сотрудниках из программы «1С». Рисунок 42 – Содержание таблицы USERINFO базы данных «ZKTime» после выгрузки информации о сотрудниках из программы «1С» После создания записей о сотрудниках в базе данных «ZKTime», необходимо подключить сканер к локальной сети и запустить программу «ZKTime». В программе «ZKTime» следует убедиться, что она видит в сети устройство считывания отпечатков, и произвести выгрузку данных на устройство с помощью пункта «Выгрузить сведения о пользователях на устройство». После того как данные попадут на устройство и создадут записи о пользователях, каждый сотрудник должен выбрать в устройстве свою учетную запись и присвоить ей свои отпечатки пальцев. Теперь при прибытии на работу сотрудники должны выбирать на дисплее устройства пункт «Приход» и прикладывать к сканеру свой палец. Внутри устройства будет сделана запись, содержащая время, в которое она была сделана, и ссылку на сотрудника, которому принадлежит отпечаток. То же самое следует делать и при уходе с работы, но перед прикладыванием пальца выбирать пункт «Уход». 73 Через определенное время пользования сканером, когда в нем накопится достаточное количество записей и подойдет время создавать табель учета рабочего времени, необходимо сделать выгрузку данных о посещениях со сканера в базу данных «ZKTime». Для этого необходимо воспользоваться пунктом «Загрузить журнал посещений» программы «ZKTime». Как и в случае с выгрузкой данных о сотрудниках необходимо чтобы сканер был подключен к программе. Данные о посещениях попадут в таблицу CHECKINOUT. Связь таблиц CHECKINOUT и USERINFO происходит за счет ключевого поля USERID. В колонке CHECKTYPE для различных записей предусмотрено два значения: I – приход, O – уход. В качестве примера были вручную созданы записи для некоторых сотрудников, как показано на рисунке 43. Рисунок 43 – Содержание таблицы CHECKINOUT базы данных «ZKTime» после загрузки информации о посещениях сотрудников со сканера отпечатков На рисунке видно, что для сотрудника с USERID 152 создано четыре записи за 15 марта: приход в 12:00, уход в 13:00, второй приход в 14:00 и затем уход в 15:00. Это означает, что в табель учета рабочего времени за это число данному сотруднику должно быть учтено два часа нахождения на рабочем месте. Подобные записи сделаны еще для двух сотрудников. При помощи обработки «Система учета рабочего времени» загрузим эти данные в демо-базу «1С: Зарплата и Управление Персоналом 3.1» и создадим на их основе табель учета рабочего времени. Запустим базу «1С» и откроем созданную ранее обработку. На этот раз кроме указания пути и организации, 74 необходимо указать период, данные за который будут загружены из базы «ZKTime». Воспользуемся кнопкой «Расширенная настройка периода». Появится форма выбора периода, как показано на рисунке 44. Рисунок 44 – Форма выбора периода Эта форма является стандартной функцией платформы «1С», поэтому достаточно было написать определенный код в модуле формы обработки, без необходимости создания отдельной формы для выбора периода. Выберем месяц март и два раза нажмем на него. В поля периода на форме обработки попадут необходимые значения дат, как показано на рисунке 45. Рисунок 45 – Автоматическая подстановка дат Теперь нажмем на кнопку «Создать табель учета рабочего времени». В случае правильного заполнения полей обработки, программа выдаст сообщение 75 о создании табеля учета рабочего времени. Это сообщение показано на рисунке 46. Рисунок 46 – Сообщение об успешном создании табеля учета рабочего времени Чтобы посмотреть или отредактировать созданный табель, необходимо перейти в раздел «Зарплата» и выбрать ссылку «Табели». Откроется список созданных документов вида «Табель». Список приведен на рисунке 42. Рисунок 47 – Список созданных документов вида «Табель» В списке табелей появился созданный обработкой документ. Причем в данный момент он не проведен. Откроем созданный табель. На рисунке 48 видно, что данные заполнены корректно. 76 Рисунок 48 – Список созданных документов вида «Табель» Если за день не зарегистрировано записей по сотруднику, то программа автоматически проставит ему за этот день выходной. То время, что сотрудник находился на предприятии, учитывается как часы явки. Мы можем отредактировать созданный табель в случае, если у нас есть данные о посещениях рабочих мест, по каким-либо причинам не зарегистрированных сканером, например, если в какой-то день на предприятии не было электричества, и сканер не работал. После того как документ приведен в устраивающий нас вид, мы можем провести его. Для этого нажмем на кнопку «Провести» или «Провести и закрыть». После проведения документа, его значок в списке документов изменится, и будет содержать изображение зеленой галочки. Это означает, что теперь документ учтется при создании документа «Начисление зарплаты и взносов». Кроме того, если на предприятии уже ведется другой способ учета рабочего времени или если он происходит в 77 другой программе, мы можем распечатать созданный табель и использовать его как отчет, что показано на рисунке 49. Рисунок 49 – Вывод созданного табеля на печать Стоит отметить, что загрузка данных о посещениях может быть сделана не за весь месяц. В таком случае и табель будет создан лишь на заданный в обработке период, например, только за первую половину месяца [70]. Теперь, когда мы убедились, что обработка работает как положено, мы можем сделать ее внешней. Для этого открываем базу «1С» в режиме конфигуратора, находим нашу обработку в дереве конфигурации, жмем на нее правой кнопкой мыши и в открывшемся окне действий выбираем пункт «Сохранить как внешнюю обработку, отчет…» как показано на рисунке 50. 78 Рисунок 50 – Создание внешней обработки В диалоговом окне выбираем папку для сохранения файла и его имя. Файл будет сохранен в формате «.epf». Теперь мы можем использовать обработку в режиме «1С: Предприятие» без необходимости изменения конфигурации. Для этого в пользовательском режиме нужно будет выбрать пункт «Файл» и нажать на команду «Открыть». Затем необходимо выбрать файл обработки на жестком диске. После этого откроется форма обработки, и с ней можно будет работать так же, как было описано выше для варианта со встроенной обработкой. |