![]() |
|
Операция не может быть выполнена из-за несоответствия версии | ☑ | ||
---|---|---|---|---|
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) можно и так, РС с регистратором и измерением номер строки - вполне вариант! Хотя если ТЧ по настоящему огромная - нужно ещё измерение что-бы не читать чрезмерно много (+ блокировка и т.п.).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |