Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы да #800618


#0 by location
Подскажите. Сделал обработку, которая получает список документов, распроводит документы программно, а потом заполняет таб часть также программно и записывает документ с проведением. Ошибка эта иногда появляется когда обработало 100 документов, иногда 200, т.е. если перезапустить, она те документы, которые последний раз не обработала и выдала ошибку, успешно проходит. В чем причина, как избежать этого, не могу перезаполнить документы.
#1 by location
с базой работаю только я один. Все фоновые и регл. задания отключены.
#2 by drcrasher
транзакции в помощь
#3 by Buster007
похоже обработка работает "хорошо"
#4 by location
попробую с транзакциями.
#5 by location
транзакции не помогают (
#6 by mistеr
Найди конкретную операцию, на которой возникает ошибка. Дальше много думать.
#7 by location
Как ее найти, если по тексту то ссылается на эту строку в обработке     ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
#8 by PiotrLoginov
Так. А если перед тем как менять и проводить документ, заблокировать его от изменений?
#9 by PiotrLoginov
Т.е. сначала удостовериться, что механизм, модифицирующий документ, в данный момент "владеет" им единолично.
#10 by AlvlSpb
Меня многие здесь отругают, но когда цель просто одноразово поправить базу, а не использовать обработку регулярно, то почему бы и нет. Используй при проведении Попытка-Исключение. Те доки где ошибка будут успешно пропускаться, а обработка продолжит работу. Повторным прогоном проведутся и остальные. Да. Наверное, неправильно, но дольше искать и исправлять. Мне когда-то помогло
#11 by location
нет использовать попытку не вариант. просто я не пойму как может измениться версия, если в базе один пользователь только работает. причем это у выборочных документов. Например тестировал я первый раз стрельнуло на Реализации №250, а второй раз при запуске все успешно прошло данную реализацию, выстрелило на другом документе.
#12 by PiotrLoginov
механизм (код), распроводящий (захватывающий для редактирования) документ, и механизм (код), модифицирующий документ, - это могут быть разные механизмы. И если, рандомно, второй начал работать с документом раньше, чем освободил первый - возникает ошибка. Критику приемлю.
#13 by Franchiser
1. Попробуй не использовать ТЧ, 2. Не использовать в ТЧ реквизиты через точку.
#14 by location
заполнение табличной части через общие модуля, без указания таб части, просто ссылка на обьект и таблица чего заполнить.
#15 by mistеr
Показывай код тогда. Ну и заблокировать попробуй.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям