Импорт начальных данных в подсистему Отдел Кадров

Материал из GedeminWiki
Перейти к: навигация, поиск

Импорт осуществляется на основе стандартной процедуры импорта из CSV файла. Структура файла следующая:

# поля Наименование и допустимые значения Тип данных Поле в БД
1 Фамилия VARCHAR(20) GD_PEOPLE.SURNAME
2 Имя VARCHAR(20) GD_PEOPLE.FIRSTNAME
3 Отчество VARCHAR(20) GD_PEOPLE.MIDDLENAME
4 Дата рождения DATE GD_PEOPLE.BIRTHDAY
5 Место рождения, город VARCHAR(32) GD_PEOPLE.USR$WG_BCITY
6 Место рождения, район VARCHAR(32) GD_PEOPLE.USR$WG_BDISTRICT
7 Место рождения, область VARCHAR(20) GD_PEOPLE.USR$WG_BREGION
8 Место рождения, страна VARCHAR(32) GD_PEOPLE.USR$WG_BCOUNTRY
9 Серия и номер паспорта VARCHAR(40) GD_PEOPLE.PASSPORTNUMBER
10 Дата выдачи паспорта DATE GD_PEOPLE.PASSPORTISSDATE
11 Орган, выдавший паспорт VARCHAR(40) GD_PEOPLE.PASSPORTISSUER
12 Дата действия паспорта DATE GD_PEOPLE.PASSPORTEXPDATE
13 Личный номер VARCHAR(40) GD_PEOPLE.PERSONALNUMBER
14 Страховой номер VARCHAR(40) GD_PEOPLE.USR$INSURANCENUMBER
15 Адрес: индекс VARCHAR(20) GD_PEOPLE.HZIP
16 Адрес: страна VARCHAR(20) GD_PEOPLE.HCOUNTRY
17 Адрес: населенный пункт VARCHAR(20) GD_PEOPLE.HCITY
18 Адрес: улица, дом, корпус, квартира VARCHAR(60) GD_PEOPLE.HADDRESS
19 Телефон VARCHAR(20) GD_PEOPLE.HPHONE
20 Пол (M -- мужской, F -- женский) CHAR(1) GD_PEOPLE.SEX
21 Образование (Высшее, незаконченное высшее, общее среднее, среднее специальное, неполное среднее, начальное общее, базовое профессионально-техническое) VARCHAR(40) USR$WG_PERSONALCARD.USR$EDUCATIONTYPEKEY - > USR$WG_EDUCTIONTYPE.USR$NAME
22 Семейное положение (Женат, замужем, вдовец, вдова, холост, не замужем, разведена, разведен) VARCHAR(20) USR$WG_PERSONALCARD.USR$FAMSTATUSKEY -> USR$WG_FAMSTATUS.USR$NAME
23 Национальность VARCHAR(24) USR$WG_PERSONALCARD.USR$NATIONALITY -> USR$WG_NATION.USR$NAME
24 Годность к воинской службе VARCHAR(180) USR$WG_PERSONALCARD.USR$MR_FITNESS - > USR$WG_MARTFITNESS.USR$NAME
25 Звание VARCHAR(60) USR$WG_PERSONALCARD.USR$MR_RANKKEY - > USR$WG_MILRATE.USR$NAME
26 Военкомат VARCHAR(60) USR$WG_PERSONALCARD.USR$MR_REGOFFICEKEY - > GD_CONTACT.NAME
27 Военно-учетная специальность (ВУС) INTEGER USR$WG_PERSONALCARD.USR$MR_PROFKEY -> USR$WG_MRS.USR$NUMBER
28 Табельный номер VARCHAR(10) USR$WG_MOVEMENTLINE.USR$LISTNUMBER
29 Дата приказа о приеме DATE USR$WG_MOVEMENTLINE.USR$DATEBEGIN
30 Номер приказа о приеме (Это поле необязательно, обычно людей при импорте сбрасывают в один приказ) VARCHAR(20) GD_DOCUMENT.NUMBER
31 Дата последнего приказа о переводе DATE USR$WG_MOVEMENTLINE.USR$DATEBEGIN
32 Номер последнего приказа о переводе (Это поле необязательно, обычно людей при импорте сбрасывают в один приказ) VARCHAR(20) GD_DOCUMENT.NUMBER
33 Текущая должность VARCHAR(60) USR$WG_MOVEMENTLINE.USR$POSITIONKEY - > WG_POSITION.NAME
34 Текущее подразделение VARCHAR(60) USR$WG_MOVEMENTLINE.USR$DEPTKEY - > GD_CONTACT.NAME
35 Форма оплаты труда (Оклад, Сдельно, Повременно, Не ниже среднего. Могут быть свои типы, но первые четыре должны называться так) VARCHAR(20) USR$WG_MOVEMENTLINE.USR$PAYFORMKEY - > USR$WG_PAYFORM.USR$NAME
36 Вид работы (указывается код: "01" -- основная; "02" -- внутренний совместитель; "03" -- внешний совместитель. Кавычки не являются частью кода) VARCHAR(20) USR$WG_MOVEMENTLINE.USR$KINDOFWORKKEY -> USR$WG_KINDOFWORK.USR$NAME
37 Характер работы (Постоянно, Временно, Сезонно, С оплатой по ср., Не ниже ср. Могут быть и свои типы) VARCHAR(20) USR$WG_MOVEMENTLINE.WORKCHARACTERKEY - > USR$WG_WORKCHARACTER.USR$NAME
38 Разряд INTEGER USR$WG_MOVEMENTLINE.USR$PASTCAT
39 Оклад NUMERIC(16, 4) USR$WG_MOVEMENTLINE.USR$MSALARY

Документы начального ввода данных

Повторный ввод начальных данных

Макрос импорта

'#include TCREATOR
 
Option Explicit
 
Sub I2W_ImportData
 
  Dim Creator, Dlg
  Set Creator = New TCreator
  Set Dlg = Creator.GetObject(nil, "TOpenDialog", "")
  If Not Dlg.Execute Then Exit Sub
 
  Dim fso, f
 
  ReDim FieldValues(38)
  ReDim FieldDefs(38)
  FieldDefs(0)  = Array("surname",             "S", 20, True)
  FieldDefs(1)  = Array("firstname",           "S", 20, True)
  FieldDefs(2)  = Array("middlename",          "S", 20, False)
  FieldDefs(3)  = Array("birthdate",           "D",  0, True)
  FieldDefs(4)  = Array("usr$wg_bcity",        "S", 32, False)
  FieldDefs(5)  = Array("usr$wg_bdistrict",    "S", 32, False)
  FieldDefs(6)  = Array("usr$wg_bregion",      "S", 20, False)
  FieldDefs(7)  = Array("usr$wg_bcountry",     "S", 32, False)
  FieldDefs(8)  = Array("passportnumber",      "S", 40, False)
  FieldDefs(9)  = Array("passportissdate",     "D",  0, False)
  FieldDefs(10) = Array("passportissuer",      "S", 40, False)
  FieldDefs(11) = Array("passportexpdate",     "D",  0, False)
  FieldDefs(12) = Array("personalnumber",      "S", 40, True)
  FieldDefs(13) = Array("usr$insurancenumber", "S", 40, True)
  FieldDefs(14) = Array("hzip",                "S", 20, False)
  FieldDefs(15) = Array("hcountry",            "S", 20, False)
  FieldDefs(16) = Array("hsity",               "S", 20, False)
  FieldDefs(17) = Array("haddress",            "S", 60, False)
  FieldDefs(18) = Array("hphone",              "S", 20, False)
  FieldDefs(19) = Array("sex",                 "S",  1, False)
  FieldDefs(20) = Array("usr$education",       "S", 40, False)
  FieldDefs(21) = Array("usr$maritalstatus",   "S", 20, False)
  FieldDefs(22) = Array("usr$nationalilty",    "S", 40, False)
  FieldDefs(23) = Array("usr$mr_fitness",      "S", 20, False)
  FieldDefs(24) = Array("usr$mr_rank",         "S", 60, False)
  FieldDefs(25) = Array("usr$mr_regoffice",    "S", 60, False)
  FieldDefs(26) = Array("usr$mr_prof",         "I", 0,  False)
  FieldDefs(27) = Array("usr$listnumber",      "S", 10, False)
  FieldDefs(28) = Array("datebegin",           "D",  0, True)
  FieldDefs(29) = Array("begin_number",        "S", 20, False)
  FieldDefs(30) = Array("last_date",           "D", 0,  False)
  FieldDefs(31) = Array("last_number",         "S", 20, False)
  FieldDefs(32) = Array("position",            "S", 60, False)
  FieldDefs(33) = Array("department",          "S", 60, False)
  FieldDefs(34) = Array("usr$wg_payform",      "S", 20, False)
  FieldDefs(35) = Array("usr$wg_kindofwork",   "S", 20, False)
  FieldDefs(36) = Array("usr$wg_workcharacter","S", 20, False)
  FieldDefs(37) = Array("usr$pastcat",         "I", 0,  False)
  FieldDefs(38) = Array("usr$msalary",         "C", 0,  False)
 
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile(Dlg.FileName, 1)
 
  Dim ErrMsg, J, Res, Tr
 
  Set Tr = Creator.GetObject(nil, "TIBTransaction", "")
  Set Tr.DefaultDatabase = IBLogin.Database
  Tr.StartTransaction
 
  Dim AFolderKey, Found
  AFolderKey = I2W_GetID(Tr, "TgdcFolder", "", _
    "name", "Импорт данных", _
    Array("name"), Array("Импорт данных"), Found)
 
  Dim FirstOrder, FirstOrderLine, FirstOrderDS
  Set FirstOrder = Creator.GetObject(nil, "TgdcUserDocument", "")
  FirstOrder.Transaction = Tr
  FirstOrder.SubType = "147017326_119619099"
  FirstOrder.Open
 
  Set FirstOrderDS = Creator.GetObject(nil, "TDataSource", "")
  FirstOrderDS.DataSet = FirstOrder
 
  Set FirstOrderLine = Creator.GetObject(nil, "TgdcUserDocumentLine", "")
  FirstOrderLine.SubType = FirstOrder.SubType
  FirstOrderLine.SubSet = "ByParent"
  FirstOrderLine.MasterSource = FirstOrderDS
  FirstOrderLine.MasterField = "documentkey"
  FirstOrderLine.DetailField = "parent"
  FirstOrderLine.Open
 
  FirstOrder.Insert
  FirstOrder.FieldByName("documentdate").AsDateTime = Date
  FirstOrder.FieldByName("number").AsString = "импорт 1"
  FirstOrder.Post
 
  Dim LastOrder, LastOrderLine, LastOrderDS
  Set LastOrder = Creator.GetObject(nil, "TgdcUserDocument", "")
  LastOrder.Transaction = Tr
  LastOrder.SubType = "147017335_119619099"
  LastOrder.Open
 
  Set LastOrderDS = Creator.GetObject(nil, "TDataSource", "")
  LastOrderDS.DataSet = LastOrder
 
  Set LastOrderLine = Creator.GetObject(nil, "TgdcUserDocumentLine", "")
  LastOrderLine.SubType = LastOrder.SubType
  LastOrderLine.SubSet = "ByParent"
  LastOrderLine.MasterSource = LastOrderDS
  LastOrderLine.MasterField = "documentkey"
  LastOrderLine.DetailField = "parent"
  LastOrderLine.Open
 
  LastOrder.Insert
  LastOrder.FieldByName("documentdate").AsDateTime = Date
  LastOrder.FieldByName("number").AsString = "импорт 2"
  LastOrder.Post
 
  J = 1
  ErrMsg = ""
  While Not f.AtEndOfStream
    Res = I2W_Parse(f.ReadLine, FieldDefs, FieldValues)
 
    Select Case Res
      Case -99
        Dim MRSKey, PositionKey, PayFormKey, KindOfWorkKey, CharacterKey, DeptKey, MilOfficeKey
        Dim EducationTypeKey, FamStatusKey, NationKey, MartFitnessKey, MilRankKey, EmployeeKey
        Dim PersonalCardKey, KindOfWorkTemp
 
        EducationTypeKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_EDUCTIONTYPE", _
          "usr$name", I2W_FieldByName("usr$education", FieldDefs, FieldValues), _
          Array("usr$name"), Array(I2W_FieldByName("usr$education", FieldDefs, FieldValues)), Found)
 
        FamStatusKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_FAMSTATUS", _
          "usr$name", I2W_FieldByName("usr$maritalstatus", FieldDefs, FieldValues), _
          Array("usr$name"), Array(I2W_FieldByName("usr$maritalstatus", FieldDefs, FieldValues)), Found)
 
        NationKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_NATION", _
          "usr$name", I2W_FieldByName("usr$nationalilty", FieldDefs, FieldValues), _
          Array("usr$name"), Array(I2W_FieldByName("usr$nationalilty", FieldDefs, FieldValues)), Found)
 
        MartFitnessKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_MARTFITNESS", _
          "usr$name", I2W_FieldByName("usr$mr_fitness", FieldDefs, FieldValues), _
          Array("usr$name"), Array(I2W_FieldByName("usr$mr_fitness", FieldDefs, FieldValues)), Found)
 
        MilRankKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_MILRATE", _
          "usr$name", I2W_FieldByName("usr$mr_rank", FieldDefs, FieldValues), _
          Array("usr$name"), Array(I2W_FieldByName("usr$mr_rank", FieldDefs, FieldValues)), Found)
 
        MilOfficeKey = I2W_GetID(Tr, "TgdcCompany", "", _
          "name", I2W_FieldByName("usr$mr_regoffice", FieldDefs, FieldValues), _
          Array("parent", "name"), Array(AFolderKey, I2W_FieldByName("usr$mr_regoffice", FieldDefs, FieldValues)), Found)
 
        MRSKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_MRS", _
          "usr$number", I2W_FieldByName("usr$mr_prof", FieldDefs, FieldValues), _
          Array("usr$number"), Array(I2W_FieldByName("usr$mr_prof", FieldDefs, FieldValues)), Found)
 
        PositionKey = I2W_GetID(Tr, "TgdcWgPosition", "", _
          "name", I2W_FieldByName("position", FieldDefs, FieldValues), _
          Array("name"), Array(I2W_FieldByName("position", FieldDefs, FieldValues)), Found)
 
        PayFormKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_PAYFORM", _
          "usr$name", I2W_FieldByName("usr$wg_payform", FieldDefs, FieldValues), _
          Array("usr$name"), Array(I2W_FieldByName("usr$wg_payform", FieldDefs, FieldValues)), Found)
 
        KindOfWorkTemp = Trim(I2W_FieldByName("usr$wg_kindofwork", FieldDefs, FieldValues))
 
        Select Case UCase(KindOfWorkTemp)
          Case "ОСНОВНОЙ"
            KindOfWorkTemp = "01"
          Case "КОНТРАКТ"
            KindOfWorkTemp = "01"
          Case "СОВМЕСТИТЕЛЬ"
            KindOfWorkTemp = "02"
          Case "СОВМЕСТИТЕЛЬ ПО КОНТРАКТУ"
            KindOfWorkTemp = "02"
          Case "СОВМЕСТИТЕЛЬ СО СТОРОНЫ"
            KindOfWorkTemp = "03"
          Case "СОВМЕСТИТ.ПО КОНТР.СО СТОРОНЫ"
            KindOfWorkTemp = "03"
        End Select
 
        If IsNumeric(KindOfWorkTemp) Then
          KindOfWorkKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_KINDOFWORK", _
            "usr$code", KindOfWorkTemp, _
            Array("usr$code", "usr$name"), Array(KindOfWorkTemp, KindOfWorkTemp), Found)
        Else
          KindOfWorkKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_KINDOFWORK", _
            "usr$name", KindOfWorkTemp, _
            Array("usr$name"), Array(KindOfWorkTemp), Found)
        End If
 
        CharacterKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_WORKCHARACTER", _
          "usr$name", I2W_FieldByName("usr$wg_workcharacter", FieldDefs, FieldValues), _
          Array("usr$name"), Array(I2W_FieldByName("usr$wg_workcharacter", FieldDefs, FieldValues)), Found)
 
        DeptKey = I2W_GetID(Tr, "TgdcDepartment", "", _
          "name", I2W_FieldByName("department", FieldDefs, FieldValues), _
          Array("parent", "name"), Array(IBLogin.CompanyKey, I2W_FieldByName("department", FieldDefs, FieldValues)), Found)
 
        If IsNull(DeptKey) Then
          DeptKey = I2W_GetID(Tr, "TgdcDepartment", "", _
            "name", "Импорт данных", _
            Array("parent", "name"), Array(IBLogin.CompanyKey, "Импорт данных"), Found)
        End If
 
        EmployeeKey = I2W_GetID(Tr, "TgdcContact", "", "personalnumber", _
          I2W_FieldByName("personalnumber", FieldDefs, FieldValues), _
          Array("parent", _
            "name", _
            "surname", _
            "firstname", _
            "middlename", _
            "birthday", _
            "usr$wg_bcity", _
            "usr$wg_bdistrict", _
            "usr$wg_bregion", _
            "usr$wg_bcountry", _
            "passportnumber", _
            "passportissdate", _
            "passportissuer", _
            "passportexpdate", _
            "personalnumber", _
            "usr$insurancenumber", _
            "hzip", _
            "hcountry", _
            "hcity", _
            "haddress", _
            "hphone", _
            "sex"), _
          Array(_
            DeptKey, _
            I2W_FieldByName("surname", FieldDefs, FieldValues) & " " & _
              I2W_FieldByName("firstname", FieldDefs, FieldValues), _
            I2W_FieldByName("surname", FieldDefs, FieldValues), _
            I2W_FieldByName("firstname", FieldDefs, FieldValues), _
            I2W_FieldByName("middlename", FieldDefs, FieldValues), _
            I2W_FieldByName("birthday", FieldDefs, FieldValues), _
            I2W_FieldByName("usr$wg_bcity", FieldDefs, FieldValues), _
            I2W_FieldByName("usr$wg_bdistrict", FieldDefs, FieldValues), _
            I2W_FieldByName("usr$wg_bregion", FieldDefs, FieldValues), _
            I2W_FieldByName("usr$wg_bcountry", FieldDefs, FieldValues), _
            I2W_FieldByName("passportnumber", FieldDefs, FieldValues), _
            I2W_FieldByName("passportissdate", FieldDefs, FieldValues), _
            I2W_FieldByName("passportissuer", FieldDefs, FieldValues), _
            I2W_FieldByName("passportexpdate", FieldDefs, FieldValues), _
            I2W_FieldByName("personalnumber", FieldDefs, FieldValues), _
            I2W_FieldByName("usr$insurancenumber", FieldDefs, FieldValues), _
            I2W_FieldByName("hzip", FieldDefs, FieldValues), _
            I2W_FieldByName("hcountry", FieldDefs, FieldValues), _
            I2W_FieldByName("hcity", FieldDefs, FieldValues), _
            I2W_FieldByName("haddress", FieldDefs, FieldValues), _
            I2W_FieldByName("hphone", FieldDefs, FieldValues), _
            I2W_FieldByName("sex", FieldDefs, FieldValues) _
          ), Found)
 
        PersonalCardKey = I2W_GetID(Tr, "TgdcAttrUserDefined", "USR$WG_PERSONALCARD", "usr$emplkey", _
          EmployeeKey, _
          Array("usr$emplkey", _
            "usr$surname", _
            "usr$firstname", _
            "usr$middlename", _
            "usr$passportnumber", _
            "usr$passportissdate", _
            "usr$passportissuer", _
            "usr$passportexpdate", _
            "usr$personalnumber", _
            "usr$insurancenumber", _
            "usr$hzip", _
            "usr$hcountry", _
            "usr$hcity", _
            "usr$haddress", _
            "usr$pzip", _
            "usr$pcountry", _
            "usr$pcity", _
            "usr$paddress", _
            "usr$sex", _
            "usr$educationtypekey", _
            "usr$famstatuskey", _
            "usr$nationality", _
            "usr$mr_fitness", _
            "usr$mr_rankkey", _
            "usr$mr_regofficekey", _
            "usr$mr_profkey", _
            "usr$number"), _
          Array(_
            EmployeeKey, _
            I2W_FieldByName("surname", FieldDefs, FieldValues), _
            I2W_FieldByName("firstname", FieldDefs, FieldValues), _
            I2W_FieldByName("middlename", FieldDefs, FieldValues), _
            I2W_FieldByName("passportnumber", FieldDefs, FieldValues), _
            I2W_FieldByName("passportissdate", FieldDefs, FieldValues), _
            I2W_FieldByName("passportissuer", FieldDefs, FieldValues), _
            I2W_FieldByName("passportexpdate", FieldDefs, FieldValues), _
            I2W_FieldByName("personalnumber", FieldDefs, FieldValues), _
            I2W_FieldByName("usr$insurancenumber", FieldDefs, FieldValues), _
            I2W_FieldByName("hzip", FieldDefs, FieldValues), _
            I2W_FieldByName("hcountry", FieldDefs, FieldValues), _
            I2W_FieldByName("hcity", FieldDefs, FieldValues), _
            I2W_FieldByName("haddress", FieldDefs, FieldValues), _
            I2W_FieldByName("hzip", FieldDefs, FieldValues), _
            I2W_FieldByName("hcountry", FieldDefs, FieldValues), _
            I2W_FieldByName("hcity", FieldDefs, FieldValues), _
            I2W_FieldByName("haddress", FieldDefs, FieldValues), _
            I2W_FieldByName("sex", FieldDefs, FieldValues), _
            EducationTypeKey, _
            FamStatusKey, _
            NationKey, _
            MartFitnessKey, _
            MilRankKey, _
            MilOfficeKey, _
            MRSKey, _
            I2W_FieldByName("usr$listnumber", FieldDefs, FieldValues)), Found)
 
        On Error Resume Next
 
        FirstOrderLine.Insert
        FirstOrderLine.FieldByName("usr$movementtype").AsInteger = 1
        FirstOrderLine.FieldByName("usr$emplkey").AsInteger = EmployeeKey
        FirstOrderLine.FieldByName("usr$listnumber").AsString = I2W_FieldByName("usr$listnumber", FieldDefs, FieldValues)
        FirstOrderLine.FieldByName("usr$datebegin").AsDateTime = I2W_FieldByName("datebegin", FieldDefs, FieldValues)
        FirstOrderLine.FieldByName("usr$deptkey").Value = DeptKey
        FirstOrderLine.FieldByName("usr$positionkey").Value = PositionKey
        FirstOrderLine.FieldByName("usr$payformkey").Value = PayFormKey
        FirstOrderLine.FieldByName("usr$kindofworkkey").Value = KindOfWorkKey
        FirstOrderLine.FieldByName("usr$workcharacterkey").Value = CharacterKey
        FirstOrderLine.FieldByName("usr$pastcat").Value = I2W_FieldByName("pastcat", FieldDefs, FieldValues)
        FirstOrderLine.FieldByName("usr$msalary").Value = I2W_FieldByName("msalary", FieldDefs, FieldValues)
        FirstOrderLine.Post
 
        If Err.Number <> 0 Then
          MsgBox "1 " & Err.Message & " " & I2W_FieldByName("surname", FieldDefs, FieldValues) & " " & _
            I2W_FieldByName("firstname", FieldDefs, FieldValues)
        End If
 
        If (Not IsNull(I2W_FieldByName("last_date", FieldDefs, FieldValues))) And _
          (I2W_FieldByName("last_date", FieldDefs, FieldValues) > I2W_FieldByName("datebegin", FieldDefs, FieldValues)) Then
 
          LastOrderLine.Insert
          LastOrderLine.FieldByName("usr$movementtype").AsInteger = 2
          LastOrderLine.FieldByName("usr$emplkey").AsInteger = EmployeeKey
          LastOrderLine.FieldByName("usr$listnumber").AsString = I2W_FieldByName("usr$listnumber", FieldDefs, FieldValues)
          LastOrderLine.FieldByName("usr$datebegin").AsDateTime = I2W_FieldByName("last_date", FieldDefs, FieldValues)
          LastOrderLine.FieldByName("usr$deptkey").Value = DeptKey
          LastOrderLine.FieldByName("usr$positionkey").Value = PositionKey
          LastOrderLine.FieldByName("usr$payformkey").Value = PayFormKey
          LastOrderLine.FieldByName("usr$kindofworkkey").Value = KindOfWorkKey
          LastOrderLine.FieldByName("usr$workcharacterkey").Value = CharacterKey
          LastOrderLine.FieldByName("usr$pastcat").Value = I2W_FieldByName("pastcat", FieldDefs, FieldValues)
          LastOrderLine.FieldByName("usr$msalary").Value = I2W_FieldByName("msalary", FieldDefs, FieldValues)
          LastOrderLine.Post
 
          If Err.Number <> 0 Then
            MsgBox "2 " & Err.Message & " " & I2W_FieldByName("surname", FieldDefs, FieldValues) & " " & _
              I2W_FieldByName("firstname", FieldDefs, FieldValues)
          End If
        End If
 
        On Error GoTo 0
 
      Case -1
        ErrMsg = ErrMsg & vbCrLf & "Строка " & J & ": Неверное количество полей!"
 
      Case Else
        ErrMsg = ErrMsg & vbCrLf & "Строка " & J & ": Ошибка в поле " & FieldDefs(Res)(0)
    End Select
 
    J = J + 1
  WEnd
 
  If ErrMsg > "" Then
    MsgBox ErrMsg
    Tr.Rollback
  Else
    MsgBox "Успешно импортировано " & J - 1 & " записей."
    Tr.Commit
  End If
 
End Sub

См. также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты