gifts2017

Загрузка табеля учета рабочего времени из файла Excel

Опубликовал Игорь Гладкий (smooth) в раздел Обмен - Загрузка и выгрузка в Excel

Небольшая обработка по загрузке данных об отработанном времени из xls-файла

Навеяно http://www.infostart.ru/public/59418/.

Решил выложить, может кому пригодится.

В качестве файла шаблона использовал типовую форму Т-13 из ЗУП.

Порядок работы:

  1. Заполняем реквизиты Организация, Подразделение, Ответственный, Месяц, устанавливаем переключатель периода заполнения;
  2. Выбираем файл Excel с табелем (реквизит "Документ");
  3. Указываем документ "Табель учета рабочего времени организации" (если необходимо обновить данные уже существующего табеля) или ставим галочку "Новый" (если необходимо загруженные данные сохранить в новом документе);
  4. По кнопке "Загрузить из XLS" содержимое файла загружается в таб.часть обработки. Поиск сотрудников осуществляется по табельным номерам. При необходимости загруженные данные можно откорректировать;
  5. По кнопке "В документ" данные из в таб.части обработки переносятся в документ новый или существующий.

И немного о настройках... Закладка "Опции загрузки табеля":

  • "Перезаписывать шапку при записи документа" - при записи данных в документ, а именно Дата документа, Организация, ПериодРегистрации, Подразделение, Ответственный, Комментарий, Способ ввода времени и периода заполнения, будут записаны данные из диалога обработки;
  • "Перезаписывать ТЧ при записи документа" - аналогично предыдущему флажку, только перезаписываем табличную часть документа (по сути, бестолковая галочка, кого смущает - уберите);
  • "Загружать шапку при выборе документа" - при выборе документа (реквизит "Документ") данные шапки возьмутся из документа;
  • "Загружать табличную часть при выборе документа" - аналогично, только таб.часть;
  • "Открывать документ после заполнения" - после загрузки по кнопке "В документ", созданный/обновленный документ открывается;
  • "Искать документ по загруженным данным" - автоматический поиск документа для записи по номеру и дате.

Сразу хочу уточнить, что настройки по-умолчанию выставляются для загрузки из шаблона (см.файл Шаблон.xls) и не требуют вмешательства, поэтому я их закрыл подальше от "шаловливых рук", но кому надо - код открыт - все в Ваших руках ;)

Версия под 8.2 от 15.12.2010:

Сконвертировал обработку под 8.2 (ЗУП 2.5.28.1)

Исправил ошибку: после загрузки табеля не закрывался Excel.

 

ps Буду рад за замечания (конструктивные). Это мой, так сказать, дебют :)

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Обработка загрузки под 8.2
.epf 62,25Kb
24.06.13
412
.epf 62,25Kb 412 Скачать
Шаблон табеля
.xls 26,50Kb
20.06.13
498
.xls 26,50Kb 498 Бесплатно
Обработка загрузки под 8.1
.epf 61,05Kb
20.06.13
306
.epf 61,05Kb 306 Скачать

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Людмила Цибарева (floragrace) (0.05 $m)
Подписаться Добавить вознаграждение

Комментарии

1. Сергей (Ulfhedhinn) 16.11.09 03:16
Спасибо! Как по заказу, как раз подобную фишку нарисовать попросили :D Как руки дойдут отпишусь на сколько понравилось
2. Игорь Гладкий (smooth) 16.11.09 18:04
Буду рад, если хоть чем-то поможет :)
3. DarkAn DarkAn (DarkAn) 16.11.09 22:34
Загрузка табеля для 7.7 может тоже кому пригодиться ;)
http://infostart.ru/public/19759/

(0) Кстати, если реализуешь, формирование бланка табеля со списком людей буду ООООООчень благадарен, т.к. самому писать не придеться :D
А вообще если есть желание и возможность посмотри может тоже какие идеи подчерпнешь
4. Вячеслав Голубев (L_Slavon) 18.11.09 05:35
Обработка не запускается ЗУП 2.5.18.2 ошибка
{ОбщийМодуль.НастройкаПравДоступаПереопределяемый(468)}: Поле объекта не обнаружено (Проведение)
ПараметрыПроверкиДокумента.Вставить("ПроверятьПроведениеДокумента", (МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить));
5. sergey-201 Пастушенко (sergey-201) 18.11.09 06:35
Хорошая мысль, значительно облегчит труд кадровика. Жаль что для УПП не подходит....
6. Вика Козлова (natarezn) 18.11.09 10:32
спасибо я сделаю такую на семерке..
7. Игорь Гладкий (smooth) 19.11.09 01:30
(4) это в какой момент вываливается? в момент открытия, при загрузке или при создании документа?
(5) под УПП, скорее всего, надо некоторые общие функции переопределить (названия общих модулей или функций скорее всего отличаются)
(6) не стоит, здесь где-то много таких есть. Если надо могу выложить/сбросить. Под 77 у меня тоже есть ;)
8. DarkAn DarkAn (DarkAn) 19.11.09 11:50
(5) О! А мне как раз под УСО (УПП) надо, значит придеться свое писать :D
9. Алексей Заболотнов (z-alexey) 20.11.09 11:25
(3) Посмотри в сторону этого варианта: http://infostart.ru/public/61090/
Выгружает список сотрудников. И в УПП тоже работает.
10. Вика Козлова (natarezn) 20.11.09 12:57
можно вопрос? вы писали их под себя или для начальника? то есть бухгалтера или руководителя?
11. Вячеслав Голубев (L_Slavon) 21.11.09 16:58
В момент открытия. отключаю строку №642 в Процедура ПриОткрытии()//РаботаСДиалогами.УстановитьДоступностьФормыДляРедактирования(ЭтотОбъект, ЭтаФорма); обработка запускается. работает нормально. спасибо.
12. Serge (stol6) 24.12.09 10:21
Привет. Загрузку шаблона табеля сделал бы для ВСЕХ, а то обработку скачал и не протестить - шаблон еще сутки ждать.
13. Александр Тарханов (altar) 03.10.11 13:00
Спасибо. Помогла для реализации собственных задач
14. Светлана Сафронова (dlyamenya67) 08.11.11 15:07
Спасибо. Очень пригодилась. Но возникли проблемы по загрузке табелей со своей спецификой (вахтовики и водители)
15. qwerty qwerty (vamleshka) 11.11.11 17:09
Спасибо. Как раз нужно подобная вещь. сейчас скачаю. но думаю нужно будет доработать. но ничего страшного главное есть с чего начать. а это главное.
16. Константин (kostya23) 04.12.11 23:24
Спасибо. Адаптировали для реализации своих задач - сЪэкономили много времени.
17. Игорь Гладкий (smooth) 04.12.11 23:32
Пожалуйста :) Рад, что помогло!
18. Димон * (DDos76) 09.12.11 08:48
Загрузил, хоть ЗУПом пока тьфу-тьфу не занимался. Зато пригодится код чтения из Excel - надо загружать С/Ф. Правда там у каждого поставщика свой бланк - придется долго ковыряться. А за обработку - жирный плюс!
19. Виталий Захаров (vz1987) 16.02.12 17:04
Спасибо за обработку. Сэкономил кучу времени. Пришлось докрутить тонкий момент: в разные табели приходят с разными разделителями целой и дробной частей ("." и ","). Поправил, убрав "," из массива "Разделители".
20. Nur (Nur) 05.03.12 20:32
Показала бухам - пищат от восторга. У нас более 500 сотрудников. Кадровики заполнять табеля в программе не хотят. Теперь будет всем радость
21. Людмила Л (Lyuda11) 19.04.12 14:39
А что написать в опциях загрузки табеля, чтобы загружаемые сотрудники дописывались в табличную часть выбранного документа?
22. Павел Никифоров (Lyns_owner) 19.04.12 14:46
Это все очень красиво... Но я один не понимаю ЗАЧЕМ это нужно?
23. Людмила Л (Lyuda11) 19.04.12 14:50
Нам табеля присылают обособленные подразделения по этому шаблону, и потом все загружаем в ЗУП.
24. Игорь Гладкий (smooth) 19.04.12 21:19
(21) Возможности дописывать табель нет.
25. Павел Никифоров (Lyns_owner) 19.04.12 22:15
(23) Lyuda11, А как же кадровые документы отклонений, которые двигают регистры, которые используются программой? Например, для расчета остатков отпусков. А если есть эти документы, заполнить можно по кнопке без всяких обработок.
26. Людмила Л (Lyuda11) 19.04.12 23:24
(25) Lyns_owner, У нас народ работает по табелю (маляры), определенного графика у них нет, по которому можно было бы заполнить табель с учетом отклонений.
27. Павел Никифоров (Lyns_owner) 20.04.12 00:07
(26) Lyuda11, Не увидел в вашем сообщении ответ на мой вопрос. Может, я его плохо сформулировал? Или, может быть, вы не знаете, для чего служит регистр "Состояния сотрудников организаций"? И не вводите кадровые отклонения, нарушая при этом ТК и завышая количество дней отпуска сотрудников (в убыток компании).
28. Людмила Л (Lyuda11) 20.04.12 10:37
(27) Lyns_owner, для этого сотрудник должен быть принят на работу по определенному графику. А если графика нет? Отклонения то ведь от какого то графика вводятся? Мы контролируем чтобы сотрудник отрабатывал определенное количество часов в месяц.
29. Павел Никифоров (Lyns_owner) 20.04.12 16:45
(28) Lyuda11, Смысл не в отклонении от графика, а в увеличении рабочего года для целей расчета остатков отпусков.
Вы фиксируете, сколько дней/часов работник прогулял без сохранения зарплаты, на это кол-во дней у него увеличивается рабочий год для целей расчета остатков отпусков, число дней в году при этом остается прежним. Работать ваши маляры могут по пятидневке, просто фиксировать их невыходы вы будете на рабочие дни. Они работают на сделке или на окладе? Либо вам необходимо переписать абсолютно весь функционал в системе, опирающийся на регистры, которые двигают документы отклонений, т.к. документы отклонений вы не используете.

Банальный пример:

Сотрудник "Прогулял" (проболел без справки, брал дни за свой счет и т.д.) за год с момента приема на работу 50 дней. Сколько дней отпуска вы ему должны будете оплатить через год после приема на работу?
30. Татьяна Иксанова (iksanova) 25.04.12 04:55
Скачаем обработку, посмотрим, потом отпишимся.
31. Гелла (Гелла) 06.06.12 12:03
Своевременно. Как раз такое надо было. Отправляем сотрудников на чужие объекты работать. Они оттуда табеля в exel предоставляют. Попробуем этой обработкой воспользоваться. Спасибо.
32. Макас (makas) 07.09.12 12:37
Если в "Шаблон" пишем/шифруем "как положено"(типа Я8, НН, ДО) тогда это очень неудобно. Т.к. табельщики или тек кто этим занимается факультативно - любят писать упрощенно - в один символ/знак.
33. Роман Кокарев (РоманКокарев) 14.12.12 10:09
Подскажите, данная обработка работает на зуп 2.5.58.1?
34. Гость 20.06.13 06:51
При открытии обработки выходит ошибка {Форма.Форма.Форма(1389)}: Метод объекта не обнаружен (ПолучитьРабочуюДату). ЗУП релиз 2.5.65.2
35. Илья Савельев (Sava944) 20.06.13 06:58
Спасибо уже не надо..подправил.
36. Илья Савельев (Sava944) 20.06.13 12:29
Возник еще один вопрос. При загрузке данных из Excel при днях месяца равных 30 все садится корректно. Если же дней в месяце 31 или 28(февраль) то данные отличаются. Стоит символ В, но при этом указывается время в часах. Может кто сталкивался с таким?
37. Игорь Гладкий (smooth) 20.06.13 12:40
скиньте мне файл табеля - если будет секунда св.времени гляну
38. Илья Савельев (Sava944) 20.06.13 13:00
(37) smooth, пример табеля
Прикрепленные файлы:
Пример Табеля.xls
39. Игорь Гладкий (smooth) 20.06.13 14:20
(38) Sava944, у меня все ОК
выложил обновление обработки под последние релизы (изм.месторасположение общих функций)
Прикрепленные файлы:
40. Илья Савельев (Sava944) 21.06.13 06:09
То есть тут дело в настройках самой конфиг. ЗУП? Если у меня садит неверно? И где скачать последнюю версюю обработки под 82?
41. Игорь Гладкий (smooth) 21.06.13 10:18
(40) Sava944, скорее всего дело не в настройках. Последняя версия обработки уже здесь (если нет sm могу на ящик кинуть)
42. Илья Савельев (Sava944) 21.06.13 10:27
Буду признателен.....очень надо время поджимает...Savelich@list.ru Спасибо большое.
43. борян петров (TODD22) 24.06.13 15:28
(41)
Вот такую ошибку выдаёт:

{Форма.Форма.Форма(1173)}: Метод объекта не обнаружен (ОткрытьФормуВыбораСотрудникаОрганизации)
ПроцедурыУправленияПерсоналомПереопределяемый.ОткрытьФормуВыбораСотрудникаОрганизации(Элемент, Документ.Ссылка, Истина, Дата, мГоловнаяОрганизация, 1, СтандартнаяОбработка, Элемент.Значение);

При изменение периода на форме:

{Форма.Форма.Форма(586)}: Недостаточно фактических параметров
УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), МесяцСтрокой, 4, МесяцСтрокой);

Не загружает... пишет что не найдена организация и не найден сотрудник. Я вбил его табельный номер и ФИО. Вбил организацию в эксель.
При этом каждый раз после загрузки очищаются реквизиты обработки: Дата, подразделение и тд
Релиз 2.5.65.2
44. Игорь Гладкий (smooth) 24.06.13 22:17
(43) TODD22, не все глобальные функции обновил :(
Обработку исправил и перезалил.
Заодно добавил в настройках порядок определения таб.номера: в типовой автонумерация таб.номеров идет с ведущими нулями, а у некоторых организаций табельный присваивают руками (без нулей)...

Не загружает... пишет что не найдена организация и не найден сотрудник.

При этом каждый раз после загрузки очищаются реквизиты обработки: Дата, подразделение и тд


значит у вас в соответствующих полях шаблона табеля не проставлены эти значения, т.е. грузятся пустые значения
45. Владимир Уткин (fxfan) 26.07.13 14:43
Спасибо тщательную проработку темы!
Пришлось дорабатывать под свой формат экселя и работу в ночные смены- все прошло легко, благодаря хорошему коду Автора!
46. Игорь Гладкий (smooth) 26.07.13 14:52
Благодарю! Рад что помогло :)
47. Гелла (Гелла) 15.11.13 11:38
Надо будет попробовать. актуально для нас.
48. max loginov (pinachet) 23.01.14 10:04
Возможно ли переделать под LibreOffice?
49. Игорь Гладкий (smooth) 23.01.14 21:33
В планах такого не стоит :)
Но код открыт и все в Ваших руках!
50. Людмила Цибарева (floragrace) 28.01.14 13:45
Отличная обработка с возможностью доработки под свою конфигурацию и требования. Пользуюсь с 2011год с небольшими доработками.
Прикрепленные файлы:
51. Vit IVA (1vasia1) 08.05.14 13:11
Пришло время и мне табель загружать. Скачал, посмотрел, переделал под наши требования. Сэкономил кучу времени. Спасибо!
Вот только одно, может падать платформа если не закрывая обработки из разных файлов грузить (падает на строке
Если Форма<>Неопределено Тогда
ФормаЭлементыФормыОтработанноеВремя.ДобавитьСтроку();).
52. Ксения Комбарова (Kombarova) 29.05.14 15:54
Добрый день!
Не могу воспользоваться обработкой, выдает ошибку следующего содержания:
{ОбщийМодуль.НастройкаПравДоступаПереопределяемый.Модуль(474)}: Поле объекта не обнаружено (Проведение)
ПараметрыПроверкиДокумента.Вставить("ПроверятьПроведениеДокумента", (МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить));
Не подскажете в чем может быть проблема?
Спасибо.
53. Сергей Тырнов (St1979) 25.02.15 14:03
добрый день,
А возможно ли изменить запись в документ из загруженных данных не в документ табель учета рабочего времени, а в документ индивидуальные графики работы,
st1979@yandex.ru
Спасибо всем кто откликнется, соответственно за вознаграждение
54. Геннадий Дараган (dage) 01.06.15 12:50
Отличная штука после небольших доработок. Плюс за код (читабельно).
55. Алексей Комиссаров (salbey) 08.06.15 13:10
Подскажите, сохраняю печатную форму табеля в excel (ЗУП релиз 2.5.91.1) с типом файла "Лист Excel (*.xls)" и у меня различается количество колонок табличного документа (всего 33) и количество колонок в шаблоне (всего 62).

Как вообще формируется экселевский шаблон для данной обработки?

Причина в строках с различной шириной колонок в области "Подвал", пришлось править макет "Т-13".
56. Вика Козлова (natarezn) 12.06.15 22:50
У меня есть такой отчет с другого сайта. поняла что качает данные из файла Т13 - табель
57. Александр Волков (aleksxx) 20.09.15 12:36
ФормаЭлементыФормыОтработанноеВремя=Форма.ЭлементыФормы.ОтработанноеВремя;
ФормаЭлементыФормыОтработанноеВремя.ДобавитьСтроку();
ФормаЭлементыФормыОтработанноеВремя.ТекущиеДанные.Сотрудник=Сотр;
ФормаЭлементыФормыОтработанноеВремя.ТекущиеДанные.ФизЛицо = Сотр.ФизЛицо;

Вылетает ошибка, что дыннае не являются объектного типа Сотрудник

В отладчике ТекущиеДанные пусто (

http://s018.radikal.ru/i508/1509/a8/a0a6f647b46f.png
58. ivv1970 28.11.16 14:15
Не в обиду автору разработки , тем, кто вроде меня не является программистом , советую пока воздержаться от скачивания данной обработки.

Выскакивает ошибка :

ФормаЭлементыФормыОтработанноеВремя=Форма.ЭлементыФормы.ОтработанноеВремя;
ФормаЭлементыФормыОтработанноеВремя.ДобавитьСтроку();
ФормаЭлементыФормыОтработанноеВремя.ТекущиеДанные.Сотрудник=Сотр;
ФормаЭлементыФормыОтработанноеВремя.ТекущиеДанные.ФизЛицо = Сотр.ФизЛицо;

Что делать с этим непонятно.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа