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