Создание самописной конфигурации по учету приходу и уходу сотрудников предприятия и выдаче заработной платы
Добрый день, друзья. Сегодня мне поступило предложение о разработке конфигурации по учету рабочего времени сотрудников в предприятии и учету заработной платы согласно отработанным часам за месяц.
Краткое описание:
-имеется RFID-reader(в наличии 1 единица)
-имеется один стационар или ноутбук
-в организации имеется 5 подразделений по 20 человек.
Задачу я хочу писать на 1С: Предприятие.
Думаю, как именно получить "приход" и "уход" через один считыватель.
У меня возникла идея, что это можно будет сделать создать документ "Приход" и "Расход".
В табличных частях будут колонки "Сотрудник","Подразделение", "Время Прихода(Ухода)".
Загвоздка в том, правильное ли я решение выбрал или есть у вас другие более простые решения?
Краткое описание:
-имеется RFID-reader(в наличии 1 единица)
-имеется один стационар или ноутбук
-в организации имеется 5 подразделений по 20 человек.
Задачу я хочу писать на 1С: Предприятие.
Думаю, как именно получить "приход" и "уход" через один считыватель.
У меня возникла идея, что это можно будет сделать создать документ "Приход" и "Расход".
В табличных частях будут колонки "Сотрудник","Подразделение", "Время Прихода(Ухода)".
Загвоздка в том, правильное ли я решение выбрал или есть у вас другие более простые решения?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Вы ввязываетесь в порядочный геморрой. Потом возникнут вопросы типа как узнать вошел или вышел в нерабочее время по графику, а оператора нет? И прочие организационные проблемы определения входа/выхода никак не касающиеся разработки решения. Добейтесь установки раздельных считывателей на вход и выход.
Я бы хранил данные в регистрах сведений:
Регистр1: Пришел ДатаВремя / Ушел ДатаВремя
РегистрНакопления2: +Время проведенное на работе = Ушел ДатаВремя - Пришел ДатаВремя
И далее если хочется документ, который пишет в эти регистры;
Регистр1: Пришел ДатаВремя / Ушел ДатаВремя
РегистрНакопления2: +Время проведенное на работе = Ушел ДатаВремя - Пришел ДатаВремя
И далее если хочется документ, который пишет в эти регистры;
Если система должна работать более менее автономно, то документ должен создаваться на каждое пересечение "границы"...
Документ тогда может быть один и без табличных частей - зачем они ему...
При каждом срабатывании ридера - создавать документ с операцией приход либо уход. И его при проведении запись в регистр.
Так проще - весь учет будет через регистр.
Если сидит оператор и он будет создавать документы и работать с ридером как типа со сканером то тогда ваш вариант может жить с одним документом.
Который оператор открыл и ловит проходимцев... Наловил , провел, открыл новый....
Но ясно , это не пахнет автоматизацией. И потому 1 проход - 1 документ без табличной части + запись в регисты.
Каждый док пишет в регистр сведений время прохода и направление
При выходе документ пишет еще и в РН рабочее время, считывая последнее время захода и отнимая его от времени выхода...
Документ тогда может быть один и без табличных частей - зачем они ему...
При каждом срабатывании ридера - создавать документ с операцией приход либо уход. И его при проведении запись в регистр.
Так проще - весь учет будет через регистр.
Если сидит оператор и он будет создавать документы и работать с ридером как типа со сканером то тогда ваш вариант может жить с одним документом.
Который оператор открыл и ловит проходимцев... Наловил , провел, открыл новый....
Но ясно , это не пахнет автоматизацией. И потому 1 проход - 1 документ без табличной части + запись в регисты.
Каждый док пишет в регистр сведений время прохода и направление
При выходе документ пишет еще и в РН рабочее время, считывая последнее время захода и отнимая его от времени выхода...
(6)Я создал общую форму с реквизитами :
-Сотрудник - Справочник.Ссылка.Сотрудники;
-Приход и Уход - Тип : Булево.
-Сотрудник - Справочник.Ссылка.Сотрудники;
-Приход и Уход - Тип : Булево.
&НаКлиенте
Процедура ПриходПриИзменении(Элемент)
Если Приход = Истина Тогда
НаборЗаписей = РегистрыСведений.Посещаемость.СоздатьМенеджерЗаписи();
НаборЗаписей.Период = ТекущаяДата();
НаборЗаписей.Сотрудник = Сотрудник;
НаборЗаписей.ПришелДатаВремя = ТекущаяДата();
НаборЗаписей.Записать();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УходПриИзменении(Элемент)
Если Уход = Истина Тогда
НаборЗаписей = РегистрыСведений.Посещаемость.СоздатьМенеджерЗаписи();
НаборЗаписей.Период = ТекущаяДата();
НаборЗаписей.Сотрудник = Сотрудник;
НаборЗаписей.УшелДатаВремя = ТекущаяДата();
НаборЗаписей.Записать();
КонецЕсли;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
(13) Я понял ваш пост так, что вы еще не начали "писать на 1С: Предприятие. "
Потому как приведенный вами текст процедур не может быть выполнен в 1С: Предприятие принципиально!
И потому очень любопытно - на чем вы программируете?
Что у вас приведенный текст не генерирует ошибок?
Потому как приведенный вами текст процедур не может быть выполнен в 1С: Предприятие принципиально!
И потому очень любопытно - на чем вы программируете?
Что у вас приведенный текст не генерирует ошибок?
Покупается в китае штука которая читает мордочки. Она на выходе выдает файл. Этот файл переводишь в 1с и подгружаешь в самописную обработку. В обработке можно сразу посчитать зарплату или любые другие алгоритмы. Из обработки перекачиваешь в любой документ допустим в "Ввод индивидуальных графиков". все
Просто поясните пожалуйста с какой целью вы привели нерабочий код?
Стиль тут совершенно не при чем!
Код либо рабюотает в любом стиле либо не работает!
Ведь вы создали тему не шутки ради и общаетесь здесь преследуя какую-то цель.
Чтобы мы тоже подерживали нормальное общение , вы должны донести до нас ваши намерения и действия, вы не находите?
Иначе зачем вообще эта тема?
Стиль тут совершенно не при чем!
Код либо рабюотает в любом стиле либо не работает!
Ведь вы создали тему не шутки ради и общаетесь здесь преследуя какую-то цель.
Чтобы мы тоже подерживали нормальное общение , вы должны донести до нас ваши намерения и действия, вы не находите?
Иначе зачем вообще эта тема?
Уважаемый, по коду видно же что человек только начинает разрабатывать на 1с. Вероятнее всего перескочил с другого языка или учится. Он не показывает, что умеет писать код, он просто ждет конструктивных советов по разработке. Важно время, отсюда такая нервозность. Просто автор немного не понимает назначение форума. Здесь не учат программировать и не предлагают готовые решения ( хотя несколько человек уже попыталось это сделать, просто без кода) . А дают грамотные советы и ссылки на то, где можно посмотреть. Обычно за готовые решение отвечает другой раздел.
По поставленной задаче естественно нужно в первую очередь просто написать бизнес процесс ибо не до конца понятно как разработчик себе видит данное расширение. Всех его участников. А уже только потом на его основе что то разрабатывать. А именно какой участник бизнес процесса будет вовлечен, какие у него задачи. Ну или если он понимает, то хотя бы выкладывать описание на форум ибо невозможно помочь не пойми в чем.
По поставленной задаче естественно нужно в первую очередь просто написать бизнес процесс ибо не до конца понятно как разработчик себе видит данное расширение. Всех его участников. А уже только потом на его основе что то разрабатывать. А именно какой участник бизнес процесса будет вовлечен, какие у него задачи. Ну или если он понимает, то хотя бы выкладывать описание на форум ибо невозможно помочь не пойми в чем.
Вы правильно сделали Регистр сведений...
Но вот как вы в него собрались данные заносить нам пока не ясно...?
И как потом считать будете рабочее время?
Я в 4 вам предложил идею с документом , который бы сразу делал запись в Регистре накопления о отработанном времени, что гораздо облегчило бы подсчет в дальнейшем.
А как вы будете безошибочно считать?
Но вот как вы в него собрались данные заносить нам пока не ясно...?
И как потом считать будете рабочее время?
Я в 4 вам предложил идею с документом , который бы сразу делал запись в Регистре накопления о отработанном времени, что гораздо облегчило бы подсчет в дальнейшем.
А как вы будете безошибочно считать?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот