Интеграция с 1С - ЗУП: обновить статусы сотрудников

output={}

sqlPositions=[[select zup.status_code, zup.CostCenter, zup.NameDivis, zup.NameDolj, zup.TabNum, zup.FIO, zup.IIN,  zup.StatusStartDate id
from (select master.sys.fn_varbintohexstr(StatusD._Fld18879RRef ) status_code , Divis._Description CostCenter,Divis._Fld30174 NameDivis,Dolj._Description NameDolj, Fiz._Code TabNum,Fiz._Description FIO,
                         Fiz._Fld6379 IIN,Fiz._IDRRef ID_Fiz,Divis._IDRRef ID_Divis, Dolj._IDRRef ID_Dolj,
                         ROW_NUMBER () OVER (PARTITION BY StatusF._Fld19518RRef ORDER BY MAX(StatusD._Fld18880) DESC) AS StatusStartDate,
                         ROW_NUMBER () OVER (PARTITION BY Fiz._Description ORDER BY MAX(StatusF._Period) DESC) AS num
          from   _InfoRg19517 StatusF, _Reference260 Fiz, _Reference157 Divis,_Reference68 Dolj, _InfoRg18875 StatusD

          where StatusF._Fld19520RRef = Fiz._IDRRef and
                        StatusF._Fld19522RRef = Divis._IDRRef and
                        StatusF._Fld19526RRef = Dolj._IDRRef and
                        StatusF._Fld19518RRef = StatusD._Fld18876RRef and
                        Fiz._Fld6379 not in ( select _Fld6379 from _Reference260 where _IDRRef in (select _Fld19520RRef from _InfoRg19517 where _Fld19523RRef = 0xB33DFC9B1619F433433E45BE20908286))
          group by Divis._Description, Divis._Fld30174, Dolj._Description, Fiz._Code, Fiz._Description, Fiz._Fld6379, Fiz._IDRRef, Divis._IDRRef,Dolj._IDRRef, StatusD._Fld18880,StatusD._Fld18879RRef,StatusF._Fld19518RRef

)zup

where num=1
]]
arrPositions,output.error_text,output.error_code = SqlQueryRowsExtDb("ZUP_Work83",

        sqlPositions


)

output.arrPositions =array(arrPositions)
  if output.error_code~=0 then
          return
  end


for k,v in pairs (arrPositions) do
        output.error_text,output.error_code = SqlExec2([[update users set stat_id = (select id from user_stat where code= ?) where login = ?]],v.status_code, v.TabNum)
        SqlExec2("commit")
          if output.error_code~=0 then
                  return
          end

end