Имя: Пароль:
 
1C
1С v8
Что кроме Записать() может вызвать "несоответствие версии или отсутствие записи"?
0 Dirk Diggler
 
27.01.21
13:14
Наворочал тут кое-чего в обмене с сайтом, теперь постоянно натыкаюсь при редактировании номенклатуры на "Операция не может быть выполнена из за несоответствия версии или отсутствия записи в базе данных".
Т.е. между моментом открытия номенклатуры, и попыткой её записи чо-то происходит. Вопрос - а что, кроме Записать() у объекта этого справочника может взывать такое поведение? Может, регистрация для обмена? Или запись еще чего-то?

Как поймать, когда запись меняется? Накладывать блокировку на элемент справочника, что ли, при открытии формы?
1 dka80
 
27.01.21
13:24
Журнал регистрации что говорит по поводу изменения объекта?
2 dka80
 
27.01.21
13:25
в фоновых заданиях, может, записывается
3 Dirk Diggler
 
27.01.21
13:33
(2) так и есть. Но в обмене записи нет. Где-то может в другом.... Я бы подписку на событие создал, но там же вряд ли удастся получить имя фонового задания, которое записывает его?
4 vicof
 
27.01.21
13:36
А точку останова поставить не? и чуток подождать, и стек вызовов посмотреть?
5 Dirk Diggler
 
27.01.21
13:37
(4) я не силен в отладке фоновых заданий )
Что нужно, чтобы точка останова сработала, кроме включения отладки на сервере?
6 ДенисЧ
 
27.01.21
13:41
(5) Подключение к фоновым
7 Dirk Diggler
 
27.01.21
13:43
Блрю вас.
Нашел кстати косячный участок, но разобраться с отладкой фоновых давно пора.
8 rozer76
 
27.01.21
14:09
>> Как поймать, когда запись меняется? Накладывать блокировку на элемент справочника, что ли, при открытии формы?
это делать тогда и в обмене  - иначе не сработает Заблокировать() но не рекомендуется такое в обменах, пускай пользователь обламывается но обмен записать должен
9 Dirk Diggler
 
29.01.21
15:42
(8) Ага. Вот момент. Я в блокировках не силен, но полистал в очередной раз эту статью
https://its.1c.ru/db/metod8dev#content:5839:hdoc

Как я понимаю, Записать() у объектов работает всегда, вне зависимости от того, наложил я на элемент управляемую блокировку или объектную? И чтобы сработала блокировка и произошел отказ в записи - перед записать должна быть выполнена попытка наложить такую же?
10 Dirk Diggler
 
01.02.21
10:56
ап
11 Вафель
 
01.02.21
12:02
обмен доработать, чтоб не записывал неизмененные
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.