2015-01-12 16:52:08
Краткое описание :
Необходимо реализовать импорт нарядов из ExcelОписание :
Формирование и расчет нарядовЧто измененно :
Необходимо реализовать импорт нарядов из Excel, кроме самого наряда, непосредственно должна импортироваться оборотная сторона, а также доплаты по нарядам.
Как измененно :
В контекстное меню окна списка бригадных нарядов, добавлен новый пункт меню "Импорт из Excel" который вызывает окно параметров импорта. В окне параметров импорта два параметра "Обновлять наряды" и "Добавлять новые наряды" и поле для ввода/выбора пути и имени файла импорта. Параметр "Обновлять наряды" означает, что для всех табельных номеров из файла импорта при нахождении соответствия в нарядах данные, в том числе и доплаты, будут заменены на данные из обрабатываемого файла. Параметр "Добавлять новые наряды" разрешает добавлять новые наряды. Если параметр не отмечен, записи из файла с новыми нарядами будут игнорироваться при импорте.
Файл с импортируемыми данными должен соответствовать следующему шаблону:
Шаблон представляет собой книгу Excel, шапка идет со второго ряда с первого столбца. Шапка должна быть заполнена, между колонками не должно быть пробелов (пустых колонок).
Внимание, содержание шапки не проверяется, проверяется просто наличие названий, важна только последовательность.
Данные должны идти с третьего ряда в следующей последовательности:
1) Таб.№ (обязательно)
2) Наименование наряда (обязательно)
3) Тариф (оклад)
4) КТУ для сдельной оплаты
5) КТУ для премии (используем поле расценка)
6) Дни факт.
7) Часы факт.
8) Дни план
9) Часы план
10) % премии
11) % понижения
В зависимости от количества доплат поля 12, 13 и 14 повторяются, код вида доплаты находится над полем "процент" в первом ряду шаблона, или в объединенной ячейке в первом ряду над полями "процент", "часы" и "сумма".
{.Начало доплат
12) Процент (для первой доплаты) (здесь в первом ряду код первой доплаты)
13) Часы (для первой доплаты)
14) Сумма (для первой доплаты)
.
.
.
18) Процент (для последней доплаты) (здесь в первом ряду код последней доплаты)
19) Часы (для последней доплаты)
20) Сумма (для последней доплаты)
.} Конец доплат
21) Подразделение (код)
22) Категория (код)
23) Должность (код)
24) Код вида оплаты наряда (обязательно)
25) Код вида оплаты премии по наряду (обязательно)
При отсутствии обязательных полей ряд будет пропущен и не будет импортирован, отсутствие табельного номера будет расцениваться как окончание строк для импорта и импорт будет завершен.
Для импорта предусмотрено не более 40-ка доплат, коды доплат не должны повторятся, если ни одного поля для доплаты не заполнено доплата не будет добавлена. Раздел с доплатами может отсутствовать.
Сочетания табельного номера и номера наряда в файле импорта могут повторятся. В режиме "Добавлять новые наряды" все эти записи будут проимпортированы в систему. Однако если включен режим "Обновлять наряды", но не включен "Добавлять новые наряды", обновляться будет только одна запись наряда, причем в результате она получит атрибуты и доплаты последней соответствующей записи из файла импорта.
Часть данных после обработки берутся из лицевого счета, поэтому если некоторые поля в файле импорта не заполнены, то они будут взяты из лицевого счета. Если нужно взять их из файла импорта то в файле в поле должно быть указано значение, например, 0.
Полный перечень полей значения которых берутся из лицевого счета:
1) Тариф
2) Подразделение
3) Категория
4) Должность