Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

1. Написать расширение для загрузки данных из Excel (xls) файла в ЗУП.

Пример файла xls: “DRV rep RU 2108 by driver.xls”

Загрузку разместить в раздел «Зарплата» - «Учет рабочего времени». Назвать «Загрузка табеля водителей».

Вид интерфейса загрузки:

1) Поле выбора файла вручную;

2) Выбор месяца, за который загружаются данные

3) Кнопка «Загрузить данные»

При загрузке создается новый отдельный документ «Табель» (записывается, но не проводится) по водителям в «Зарплата»-«Табели» (как пример уже создан документ №0000-000015 с одним водителем). Указать в документе «Подразделение»: «Основное».

Также добавить возможность вручную выбрать документ Табель, в который загрузить дополнительно данные, если не требуется создавать новый документ.

2. Данные в создающемся документе «Табель» располагаются в таблице следующим образом:

На каждого сотрудника по 3 строки:

1) В первой отображаются отработанные дневные рабочие часы (с признаком «Я» (явка), например «Я 8»); работа в праздничные и выходные дни «РВ» (например, «РВ 4»); и просто выходные («В», без часов, нерабочий день) за каждый день месяца;

2) Во второй строке отображаются сверхурочные часы (с признаком «С», например «С 4»);

3) В третьей строке отображаются ночные часы (признак «Н», например «Н 2»).

(Столбец «Итого» считается сам автоматически.)

3. Данные из документа берутся следующим образом:

Из страницы «Overtime summary» ничего не берется.

Со страниц «D1 …» и остальных берется (несколько страниц в документе – на каждого водителя по одной):

1) Столбец «Дата» - соответственно даты рабочих дней;

2) Столбец «Водитель»: из первой стоки берется фамилия сотрудника (остальные строки дублируют) (заносится в табель первый найденный сотрудник из справочника «Сотрудники» с такой фамилией).

3) Столбец «Отработанное время»: берутся отработанные часы с округлением до получаса (например, 8:20 округлять до 8,5 ч; 9:45 до 10 ч).

• Если количество часов меньше 9:00, то в таблицу берется полное количество часов «Я» минус 1 час (1 час обеда вычитается). Например, «8:30» округляется в 9, отнимает 1 час обеда и заносится в таблицу как «Я 8»

• Если количество часов больше 9:00, значит есть переработка (больше 9 часов включая обед), то учитывается соседний столбец «Переработка». Часы переработки вычитаются из общих отработанных часов и заносятся в поле сверхурочных.

Например, отработанное «12:45» и переработка «3:45»: округление в 13 и 4 часа, с вычетом 1 часа обеда из явки получаем: 8 обычных часов работы, 1 час обеда и 4 часа переработки: а именно «Я 8» и «С 4».

• В случае, если в столбце «Начало работы» значение попадает в промежуток ночных часов (с 22:00 до 6:00), это значит была работа в ночные часы. Производится дополнительный подсчет: находится разница между 6:00 и «Началом работы» (если работа продолжалась поле 6:00), либо между «Конец работы» и «Начало работы». Эта разница является ночными часами и вносится в третью строку таблицы «Табеля» с признаком «Н»: например, начало работы «2:30» и окончание «6:30», то разница между 6:00 и 2:30 будет 3:30, то значение ночных часов выходит «Н 3,5» (и соответственно остается ночные часы вычитаются из отработанного времени и остаются дневные часы «Я 0,5» в первой строке); если начало «2:30» и окончание в «4:00», то будет «Н 1,5» (соответственно остается в первой строке не «Я 0», а «В»).

4) Если в поле «Отработанное время» стоит прочерк, то в первой строке на этот день в «Табеле» ставится «В» (выходной).

4. При загрузке данных учитывается «Производственный календарь» из базы ЗУП:

• Автоматически указываются в «Табеле» рабочие и выходные (праздничные дни);

• Автоматически присваивается признак «РВ» вместо «Я» рабочим часам в первой строке в выходные (праздничные) дни (признаки «С» и «Н» не меняются).

Во вложении файл ТЗ и пример файла для загрузки.

3 года назад
ivanovruslan
Руслан 
38 летРоссия
6 лет в сервисе
Был
3 года назад