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

Критику приемлю.
13 Franchiser
 
гуру
06.07.17
13:32
1. Попробуй не использовать ТЧ,
2. Не использовать в ТЧ реквизиты через точку.
14 location
 
naïve
06.07.17
14:07
(13) заполнение табличной части через общие модуля, без указания таб части, просто ссылка на обьект и таблица чего заполнить.
15 mistеr
 
06.07.17
14:31
Показывай код тогда.

Ну и заблокировать попробуй.