Имя: Пароль:
1C
 
Операция не может быть выполнена из-за несоответствия версии
0 shamannk
 
29.01.16
13:45
Ошибка понятная. Несколько пользователей редактируют один документ одновременно. Редактируют разные реквизиты и никак по логике друг другу не мешают. Как убрать эту ошибку?
1 Mort
 
29.01.16
14:01
Документ весь лочится.
2 lubitelxml
 
29.01.16
14:02
перечитать заново этот документ чтоб получить последние изменения
3 shamannk
 
29.01.16
15:14
(2) Измененный реквизиты слетят.
4 EugeniaK
 
29.01.16
15:17
(0) А точно разные пользователи?
Документ в один период времени может редактировать только один человек. Это правильно. В стандартных формах если кто-то уже начал менять, то другой просто не сможет внести никаких изменений, не то что сохранить.
Такая ошибка обычно означает, что документ изменен программно каким-то режимом, а не другим пользователем.
5 Живой Ископаемый
 
29.01.16
15:18
2(3) Давай ты сначала приведешь пример хотя бы одной базы данных, в которой в одну запись можно одновременно вносить изменения разными сеансами в разные поля, и чтобы не возникало конфликтов, и чтобы изменения обои сеансов не слетали, и мы тут же тебе подскажем как повторить это в 1С.
6 EugeniaK
 
29.01.16
15:21
(5) Пример могу привести я. Есть такая НЕ 1С система "ИТ-Предприятия".
В ней возможно править документ несколькими людьми. Если оба пытаются сохранить, то второму выдается окошка с перечнем какие реквизиты изменились и кем.
С возможностями выбора:
1. Отменить мои
2. Отменить чужие
3. Сохранить мои и чужие.

Технически это можно сделать и в 1С. Своя форма и свои кнопки "Сохранить"
Просто это лишнее.
7 vde69
 
29.01.16
15:22
документ записывается целиком

ситуация

пользователь А открыл документ там в реквизите Б значение 100

пользователь Б открыл документ и изменил реквизит Б на 200, документ записал.

пользователь А решил отредактировать реквизит Д и записать его...

если ему это разрешить, то вместе с реквизитом Д он запишет и старое значение 100 в реквизит Б, по этому 1с оперирует версиями обьекта и не дает записывать не актуальные версии объекта, и за это огромное спасибо компании 1с!
8 Живой Ископаемый
 
29.01.16
15:22
я просил БД
9 Azverin
 
29.01.16
15:27
(7) а что мешало 1С сделать (6)?
10 shamannk
 
29.01.16
15:29
Проблема не в том что в одну сек записываю а в том что открыли формы 2ое один записал а второй уже не может выдает ошибку.
11 shamannk
 
29.01.16
15:30
(7) Почитай тему, изменяют разные реквизиты.
12 Nuobu
 
29.01.16
15:33
(11) Сделай им АРМ, чтобы такого не было и пусть меняют.
13 EugeniaK
 
29.01.16
15:39
(9) Потому что это хуже с точки зрения производительности.
Она проще для пользователя, меньше вероятность случайной порчи чужих данных.
Текущая реализация идеальна в большинстве случаев.
Если кому-то надо работать параллельно, то конфигуратор в руки и делай что хочешь.
14 Azverin
 
29.01.16
15:46
(13) с каких пор 1С печётся о производительности?)))
15 trdm
 
29.01.16
15:54
(5) багтрекер мантиса. Вопрос/инцидент мгут открывать любые пользователи.
16 trdm
 
29.01.16
15:55
+(15) Да в принципе любая система, где не обеспечен механизм блокировок.
17 shamannk
 
29.01.16
15:58
(16) Какие тут блокировки? Документ записывается не одновременно.
18 Живой Ископаемый
 
29.01.16
15:58
2(16) механизм блокировок на column-level ты хотел сказать
Потому что ни в Оракле ни в СКЛ такого например нет.
19 igork1966
 
29.01.16
15:59
(0) Для корректного объединения документа нужны сведения о "модели документа" (внутренней логики работы). Это невозможно.

Если вам такое понадобилось, значит имеет место неправильное проектирование.
20 trdm
 
29.01.16
16:00
(17) Там не блокировки БД, а логические блокировки.
Их надо обеспечивать искусственно.
21 Живой Ископаемый
 
29.01.16
16:03
Ну, пусть автор искусстевенно обеспечивает
22 vde69
 
29.01.16
16:05
(9) дело в том, что "объект" это не только данные...

в 1с реализовано динамическое обновление, и планируется это развивать дальше....

значит возможна ситуация совсем корявая....

а с версионированием объекта все нормально...

кроме того не забиваете, что реквизиты могут быть связаны друг с другом (например контрагент и договор), что сейчас корректно разруливается а вот как будет в модели (5) я Вам не скажу...
23 kossmatiy
 
29.01.16
16:07
(17)Объектная оптимистичная блокировка
24 shamannk
 
29.01.16
16:13
(23) Не у это бред конечно. В каких системах такое есть?
25 Nikulin
 
29.01.16
16:17
на удаленном обучении по блокировкам от УЦ3 был пример, где разбирали возможность редактирования 1 документа несколькими пользователями.
Так что все реально.
Настроить блокировки. Сделать 2 формы у документа что бы реквизиты пересекались по минимуму и все будут счастливы=)
26 rphosts
 
29.01.16
16:19
(24) в 1С, разумеется
27 shamannk
 
29.01.16
16:32
(25) Можешь пример найти, может там индификаторы форм просто разные?
28 vde69
 
29.01.16
16:35
если реквизиты это записи в регистре сведений - то такой пример у меня есть...

еще можно сделать на форме НЕ объекта (произвольная форма), где перед записью считывать по ссылке, сравнивать с тем что в форме и задавать вопросы... Но это куча кода...
29 rphosts
 
29.01.16
16:46
(28) может и много, но ничего сложного, читаем в память объект, правим в нём всё что требуется, сохраняем.

PS не вижу пока ни одного случая когда требуется такое кроме того случая когда большую ТЧ сколько-то чел условно между собой разделили и быстро чего требуется там заполняют.
30 vde69
 
29.01.16
16:50
(29) такие ТЧ удобнее сразу переносить в РС...
31 rphosts
 
29.01.16
16:54
(30) можно и так, РС с регистратором и измерением номер строки - вполне вариант! Хотя если ТЧ по настоящему огромная - нужно ещё измерение что-бы не читать чрезмерно много (+ блокировка и т.п.).