Skip to content

Instantly share code, notes, and snippets.

@kuznetsovandrey76
Last active October 17, 2018 15:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kuznetsovandrey76/1e5a950f1c1da3d8cd899f4fd2c51181 to your computer and use it in GitHub Desktop.
Save kuznetsovandrey76/1e5a950f1c1da3d8cd899f4fd2c51181 to your computer and use it in GitHub Desktop.
Agent xml-2003
alert('=== Запуск агента ===');
open_doc = OpenDoc("x-local://wt/web/temp.xml");
// Данные из таблицы
table = open_doc.TopElem.Worksheet.Table
info = {
// headers: [],
number_of_column: 0,
number_of_row: 0,
// number_of_field: 4
}
// O(n)
for(elem in table) {
if (elem.Name == "Row") {
info.number_of_row += 1
} else {
info.number_of_column += 1;
}
}
for (i = info.number_of_column + 1, // При добавлении + 1 пропускает строку с заголовками
max = info.number_of_column + info.number_of_row;
i < max; i++) {
// Обращение к полям table[i][j].Data
// где j
// 0. Табельный номер сотрудника; ?
// 1. ГУИД сотрудника;
// 2. ФИО;
fullname = String(table[i][0].Data).split(' ');
// 3. E-mail;
// 4. Пол;
// gender = (String(table[i][2].Data) === "мужской" ? "m" : "w");
// 5. Дата рождения;
// 6. Код подразделения;
// 7. Название подразделения;
// 8. Вышестоящее подразделение;
// 9. ГУИД должности
// 10. Название должности;
// 11. Дата вступления в должность;
// 12. Код организации;
// 13. Название организации;
// org = OpenNewDoc('x-local://wtv/wtv_org.xmd');
// org.TopElem.code = table[i][12].Data;
// org.TopElem.disp_name = table[i][13].Data;
// org.TopElem.name = table[i][13].Data;
// org.BindToDb(DefaultDb);
// org.Save();
// subdivision = OpenNewDoc('x-local://wtv/wtv_subdivision.xmd');
// subdivision.TopElem.code = table[i][6].Data;
// subdivision.TopElem.name = table[i][10].Data;
// if (String(table[i][8].Data)) {
// subdivision.TopElem.parent_object_id = table[i][8].Data;
// }
// subdivision.BindToDb(DefaultDb);
// subdivision.Save();
// position = OpenNewDoc('x-local://wtv/wtv_position.xmd');
// position.TopElem.code = table[i][6].Data;
// position.TopElem.name = table[i][7].Data;
// position.BindToDb(DefaultDb);
// position.Save();
collaborator = OpenNewDoc('x-local://wtv/wtv_collaborator.xmd');
// collaborator.TopElem.id = table[i][1].Data;
collaborator.TopElem.lastname = fullname[0];
collaborator.TopElem.firstname = fullname[1];
collaborator.TopElem.middlename = fullname[2];
// collaborator.TopElem.email = table[i][3].Data;
// collaborator.TopElem.sex = gender;
// collaborator.TopElem.birth_date = table[i][5].Data;
collaborator.BindToDb(DefaultDb);
collaborator.Save();
}
// Удалить документ
// DeleteDoc(open_doc);
alert('=== Данные обновлены ===');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment