Имя: Пароль:
1C
1С v8
Обмен по плану через ком соединение (по правилам). Иногда выдается такая ошибка.
0 Босечка
 
30.10.17
10:19
Обработка.ОбменДаннымиXML.МодульОбъекта(14135)}: Ошибка при вызове метода контекста (Записать)
Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!
        ВызватьИсключение СтрокаОписанияОшибки;
Как быть? Обмен несколько раз перезапускается.
1 assasu
 
30.10.17
10:30
(0) не вижу ни одной причины использовать этот ком вместо обычного обмена через файлы.
2 Босечка
 
30.10.17
10:32
(1)Вы думаете дело в этом?
3 Босечка
 
30.10.17
10:33
в com -соединении?
4 h-sp
 
30.10.17
10:37
(3) просто пользователи работают в базе. поэтому. Не берите в голову.
5 Босечка
 
30.10.17
10:39
но ведь это регламентное задание, оно запускается под другим пользователем.
6 Рэйв
 
30.10.17
10:44
(5)ты начинаешь менять объект, который другой юзер уже открыл и неровно на него дышит:-)
7 Босечка
 
30.10.17
10:45
Как избежать этого? Меня заставляют это исправить.
8 Рэйв
 
30.10.17
10:46
(7)Да легко.Выгоняй всех на время обмена.
9 Босечка
 
30.10.17
10:48
Он у нас происходит через каждые 5 минут.
10 Босечка
 
30.10.17
10:48
Это конечно идиотизм, но так хотят юзеры.
11 Рэйв
 
30.10.17
10:50
(9)Тогда ты непременно будешь спотыкаться об сабж при работающих пользователях.

Как вариант можно перед измнением объекта в базе приемнике пытаться его .Записать() в попытке. Если не получилось знать заблокирован или транзакция
12 Босечка
 
30.10.17
10:52
Хорошо. спасибо. Попробую как вариант.
13 assasu
 
30.10.17
11:07
(2) знаю точно что это все очень сложно отладить .
поэтому приходится писать сюда.
через файл оно проще и понятнее
14 Босечка
 
31.10.17
10:15
может быть...
15 pavig
 
31.10.17
10:31
(0)
Возможно, что у вас избыточный объем данных перегоняется.
Проверь, что мигрируют только изменённые данные, а не все например.
16 Cyberhawk
 
31.10.17
10:36
Варианты:
1. Забить.
2. Использовать сторонее (платное) решение, где реализован пропуск ошибочных объектов (обмен целиком не останавливается, пропускаются только объекты, которые не удалось записать)
3. Самому реализовать пропуск ошибочных объектов, тем более раз это СОМ.
17 DexterMorgan
 
31.10.17
10:40
(11) Ты крут)

ДокументОбъект.<Имя документа>.Заблокировать (DocumentObject.<Имя документа>.Lock)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Заблокировать (Lock)
Синтаксис:

Заблокировать()
Описание:

Выполняет блокировку объекта от изменения другими режимами или пользователями.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

Попытка
    НовДокумент.Заблокировать();
Исключение
    Предупреждение(НСтр("ru = 'Невозможно заблокировать документ.';"
     + " en = 'Can't lock the document.'"));
КонецПопытки;
18 DexterMorgan
 
31.10.17
10:42
(11) Записать() - Н@ср@ть на объектные блокировки, есиче