Вход | Регистрация
 

Можно как-то проверить перед записью документа в БД, менялся объект или нет?

Можно как-то проверить перед записью документа в БД, менялся объект или нет?
Я
   Гений 1С
 
22.02.21 - 13:34
чтобы избежать вот этого момента:
Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': Ошибка при вызове метода контекста (Записать): Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!
   RomanYS
 
1 - 22.02.21 - 13:48
(0) ВерсияДанных возможно тебе поможет.
Но если это регулярно, то нужно с причинами разбираться, а не костыли пристраивать
   rozer76
 
2 - 22.02.21 - 14:29
Используй блокировки
   Злопчинский
 
3 - 22.02.21 - 14:37
как-то мутно.. в клюшках можно было получить ТекущийДокумент() например и сравнить его с реквизитами контекста формы. а в 8-ке чего похожего иди дргого механизма. что, нет?
   RomanYS
 
4 - 22.02.21 - 14:40
(3) В (0) про другое: снеговик не даст записать объект если между чтением объекта и записью произошла его запись (в другом сеансе например). А сравнить реквизиты можно и в снеговике без проблем.
   hhhh
 
5 - 22.02.21 - 14:42
(3) а как проверишь? Два человека корректируют документ. Кто первый нажмет ОК, того и тапки.
   Cthulhu
 
6 - 22.02.21 - 14:43
(4): в (3) про то самое (в смысле "что"). ты зачем-то упоминаешь про "зачем" - про которое не говорилось в (3)
   RomanYS
 
7 - 22.02.21 - 14:43
(5) Если корректировка идет через формы, то блокировка устанавливается при внесении изменений
   RomanYS
 
8 - 22.02.21 - 14:45
(6) Ничего не понял)
   Kassern
 
9 - 22.02.21 - 14:46
(0) в типовой же 11 торговле это реализовано, посмотри как в к примеру в заказах клиента это работает
   Вафель
 
10 - 22.02.21 - 14:46
перед записью сравнить объект и объект. ссылка
   RomanYS
 
11 - 22.02.21 - 14:50
(10) Даже если все реквизиты совпадают (кроме ВерсияДанных), всё равно получишь ошибку
   hhhh
 
12 - 22.02.21 - 14:51
(7) это в семерке как раз было.
   RomanYS
 
13 - 22.02.21 - 14:54
(12) В семерке при открытии формы блокировка была
   Вася Теркин
 
14 - 22.02.21 - 14:57
(10) только сравнивать надо вроде Ссылка и Объект.Ссылка...
   Cthulhu
 
15 - 22.02.21 - 14:57
БудетЖопа = ( ЭтотОбъект.ВерсияДанных <> ЭтотОбъект.Ссылка.ВерсияДанных )
   RomanYS
 
16 - 22.02.21 - 14:59
(15) ага
   Serg_1960
 
17 - 22.02.21 - 15:41
"Если ничего не получается - прочитай инструкцию"(с)
ИТС:
"Во встроенном языке реализован доступ к версии объекта. Для этого используется свойство ВерсияДанных, которое реализовано у объектов, ссылок и выборок... Раньше узнать о том, что в базе данных хранится уже другая версия данных (не та, которую редактирует пользователь), можно было только выполнив запись данных и обработав возникавшую исключительную ситуацию. Теперь перед записью разработчик может самостоятельно сравнить версию редактируемых данных и версию данных, хранящихся в базе данных, и реализовать программный алгоритм их объединения и записи"
   Cthulhu
 
18 - 22.02.21 - 16:11
Серёга. с тебя пиво.
   ДенисЧ
 
19 - 22.02.21 - 16:14
(18) Он тебе мобилку даст... Но и попросит потом )))
   Гений 1С
 
20 - 22.02.21 - 16:22
(15) спасибо, но надобность уже отпала. Проблема была в другом.
прав был оратор из (1)
   Ненавижу 1С
 
21 - 23.02.21 - 01:14
(20) проблема в кодинге?
   Гений 1С
 
22 - 23.02.21 - 07:47
(21) да, в кодинге программистов типовых конфигураций УНФ
   Вафель
 
23 - 23.02.21 - 08:39
на уны самые джуны сидят
   dangerouscoder
 
24 - 23.02.21 - 10:10
(22) сам выбирал.
   Гений 1С
 
25 - 23.02.21 - 11:51
(23) ты про клиентов?
   hhhh
 
26 - 23.02.21 - 11:56
(25) клиенты сами не выбирают. Они всегда ведутся на то, что им втюхивают.
   ДедМорроз
 
27 - 23.02.21 - 12:45
Клиент всегда выбирает сам,но так как он,обычно,не специалист,то ведётся на рекомендации,а каждый кулик свое болото хвалит,хоть потом в нем и потонет.
   Ненавижу 1С
 
28 - 23.02.21 - 13:04
(22) может в том, что твой код противоречит типовому, но виноват типовой конечно
   Гений 1С
 
29 - 23.02.21 - 14:56
(28) ну хз. при массовом перепроведении документов оказалось, что ошибка возникает из-за подсистемы сообщений. т.е. при отмене проведения и последующем проведении возникают вот такие конфликты версий объектов-сообщений. Код не мой, типовой.
Но я отключил запись сообщений и понеслось норм.
   RomanYS
 
30 - 23.02.21 - 15:11
(29) сказки какие-то... Нашел запись объектов в подсистеме сообщений? Если там нет записи, то причина не в этом.
 
 Рекламное место пустует
   Ненавижу 1С
 
31 - 23.02.21 - 16:00
(29) некогда разбираться, надо отключать!
   Гений 1С
 
32 - 23.02.21 - 16:10
(30) да, нашел.
   Гений 1С
 
33 - 23.02.21 - 16:11
(31) после отключения работает. да, разбирательства в счет не включены и не интересны.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.