воскресенье, 8 апреля 2012 г.

Об ошибке: 80040543: указанная строка данных не существует

Недавно при написании скрипта на событие сохранения столкнулся со следующей ошибкой:

Ошибка при работе с внутренним документом


Не удалось сохранить изменения
80040543: указанная строка данных не существует


Долго искал и гадал отчего она возникает. Скрипт проходил (вылавливал ошибки мессажбоксами) без ошибок, а уже после обновления карточки вылезала эта ошибка. Оказалась виновата следующая функция поиска строк (здесь используется не тот тип карточки, который был. Просто привел для примера. У меня был карточка типа внутренний документ. Поиск вел по секции Сотрудники. Выбирал сотрудников по полю Type):


CardData.Sections("7A9F0D60-444E-41AF-845E-4F4E94F43A52").FindRows _
("<ConditionGroup><Condition><Field>ApproverRowID</Field><Value>'" & miniRow.value("RowID")& "'</Value></Condition></ConditionGroup>")


В конце концов заменил этот поиск на цикл в котором применил условие для выбора только тех строк, которые мне нужны.


P.S. Так и осталось загадкой почему так происходило.