|
Ошибка при проведении документа
| ☑ |
0
R1A1
28.11.13
✎
10:47
|
При проведении документа из обработки возникает ошибка
Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)
Обработка запускается ночью, в базе никто не сидит. Вначале документы формируются и записываются, затем проводятся
//==========================================================
ПРоцедура ПроведениеДокументов(_Док,НачДата,КонДата)
_ДокВыборка =_Док.Выбрать(НачДата,КонДата);
Пока _ДокВыборка.Следующий() Цикл
_ДокОБ=_ДокВыборка.ПолучитьОбъект();
Если _ДокОБ.ПометкаУдаления Тогда
Продолжить;
КОНЕЦеСЛИ;
Если _ДокОБ.Проведен Тогда
Продолжить;
КОНЕЦеСЛИ;
Попытка
_ДокОБ.Записать(РежимЗаписиДокумента.Проведение);
Исключение КонецПопытки;
КонецЦикла;
КонецПроцедуры
|
|
1
Wobland
28.11.13
✎
10:48
|
отличная новость
|
|
2
Defender aka LINN
28.11.13
✎
10:49
|
(0) "запись была изменена или удалена" - какая-то буква непонятна, или что?
|
|
3
R1A1
28.11.13
✎
10:51
|
Не понятно в какой момент она была изменена.
|
|
4
Defender aka LINN
28.11.13
✎
10:53
|
(3) Возможно, параллельным заданием.
З.Ы. А вообще клево, конечно - сначала получить объект, а потом уже смотреть - а не помечен ли он на удаление
|
|
5
Господин ПЖ
28.11.13
✎
10:53
|
в любой...
.Выбрать()
не гарантирует отсутствие фантомов и повторяемости чтения...
за "_ДокОБ=_ДокВыборка.ПолучитьОбъект();" без нужды - отдельное спасибо от базы...
|
|
6
R1A1
28.11.13
✎
11:02
|
(5) А что гарантирует?
|
|
7
Defender aka LINN
28.11.13
✎
11:03
|
(6) Что ты будешь выгребешь кучу ненужных данных порциями по 25 записей.
|
|
8
Господин ПЖ
28.11.13
✎
11:03
|
(6) Транзакция... "ДЛЯ ИЗМЕНЕНИЯ" в запросе
|
|
9
R1A1
28.11.13
✎
11:08
|
(8) Ясно. Спасибо.
|
|