|
Блокировки 1С 8.2 | ☑ | ||
---|---|---|---|---|
0
mrParadox
19.07.12
✎
11:04
|
Доброго времени суток, коллеги.
конфигурация "Управление проектной организацией, редакция 1.3"(1.3.25.1/3.1.6.16). Конфа построена на базе УПП. Обнаружил, что у конфигурации стоит режим блокировок "Управляемые", а у абсолютного большинства объектов (справочники/регистры) режим стоит автоматический. Это значит при работе с данными объектами автоматический режим работать не будет? Еще вопрос по управляемым блокировкам. мне нужно заблокировать рег. сведений при редактировании его из формы списка. Хотел блокировать перед началом редактирования, но блокировать надо в транзакции, а, насколько я знаю, транзакция не может тянуться до процедуры "При окончании рекактирования". Как в данных случаях поступают? |
|||
1
Stavrt
19.07.12
✎
11:13
|
(0) "мне нужно заблокировать рег. сведений при редактировании его из формы списка"
зачем? |
|||
2
mrParadox
19.07.12
✎
11:15
|
(1) Если одну и ту же запись редактируют 2 чела, то она расходится, задваивается, сохраняется вариант каждого из этих 2-х
|
|||
3
Coldboy
19.07.12
✎
11:17
|
разве такое возможно?
|
|||
4
mrParadox
19.07.12
✎
11:17
|
еще как возможно
|
|||
5
Stavrt
19.07.12
✎
11:18
|
||||
6
mrParadox
19.07.12
✎
11:18
|
форма не управляемая, а обычная
|
|||
7
France
19.07.12
✎
11:20
|
не верю в 2
|
|||
8
Serg_1960
19.07.12
✎
11:21
|
Чему "не верю"? Это же регистр сведений :)
|
|||
9
Serg_1960
19.07.12
✎
11:23
|
Ммм... не совсем в тему,но... Даже если вы услышали про блокировки впервый раз, то вам всё объяснят в http://1cexpo.ru/informacziya/27-blokirovki-dannyx-v-1spredpriyatii-8.html
|
|||
10
mrParadox
19.07.12
✎
11:24
|
чесслово. Конфигурация - управляемый режим. Объект - управляемый (пробовал автоматический - не помогло). Редактирование рег. сведений организовано в форме списка. Под 2-мя разными пользователями одновременно начинаю редактировать одну и ту же запись - 1С это позволяет сделать (к сожалению). После редактирования и сохранения обоими пользователями, если изменено измерение, появляются 2 записи рег. сведений, с вариантом каждого из пользователей.
|
|||
11
gosn1ck
19.07.12
✎
11:24
|
(0) очень подробно написано в книге по переходу с 8.0 на 8.1
|
|||
12
mrParadox
19.07.12
✎
11:25
|
(10) Управляемый режим - про блокировки имел ввиду, а форма обычная
|
|||
13
Stavrt
19.07.12
✎
11:25
|
запрети редактирование из формы списка
|
|||
14
France
19.07.12
✎
11:25
|
(8) регистр сведений не дает записать записи с одинакомым набором измерений..
|
|||
15
mrParadox
19.07.12
✎
11:26
|
(11) а если без особых подробностей, а так, попроще объяснить?
|
|||
16
gosn1ck
19.07.12
✎
11:26
|
(0) зачем блокировать регистр перед началом редактирования?
|
|||
17
France
19.07.12
✎
11:26
|
(10) а вот это совершенно нормальная ситуация..
а что в регистрах, если не секрет? |
|||
18
mrParadox
19.07.12
✎
11:26
|
(13) - нач. хочет из формы списка, не могу.
Глянулд с прочими типовыми регистрами УПО - та же картина |
|||
19
mrParadox
19.07.12
✎
11:27
|
(16) - чтобы 2-й пользователь не мог редактировать данную запись
|
|||
20
France
19.07.12
✎
11:27
|
(16) + открыл форму и ушел человек курить бамбук: остальные сидят и тоже курят бамбук, потому что один бамбук дал другому бамбуку возможность заставлять всех остальных курить бамбук))
|
|||
21
mrParadox
19.07.12
✎
11:28
|
(14) Я же написал, что если изменяются ИЗМЕРЕНИЯ тогда задваиваются записи
|
|||
22
France
19.07.12
✎
11:29
|
(21) я тоже написал: это СОВЕРШЕННО нормальное явление.. блокировка в данном случае никак не поможет, потому второй в ЛЮБОМ случае изменит и проведет после того, как первый завершит редактирование..
|
|||
23
mrParadox
19.07.12
✎
11:29
|
(20) открыл форму и начал редактировать - разные вещи
|
|||
24
France
19.07.12
✎
11:30
|
блокировки нужны для обеспечения достоверности одной записи, в твоем случае - две разные записи..
|
|||
25
Stavrt
19.07.12
✎
11:30
|
а что хранится в регистре?
|
|||
26
France
19.07.12
✎
11:30
|
(25) я уже спрашивал - не хочет колоться))
|
|||
27
mrParadox
19.07.12
✎
11:31
|
(25) - да просто сведения, можно сказать справочные
|
|||
28
mrParadox
19.07.12
✎
11:32
|
с данным регистром будет работать много пользователей одновременно из формы списка
|
|||
29
mrParadox
19.07.12
✎
11:34
|
(22) - почему же не поможет? если заблокировать набор записей перед началом редактирования, а разблокировать при окончании, то второй пользователь просто не сможет начать редактировать данную запись до окончания записи 1-го
|
|||
30
gosn1ck
19.07.12
✎
11:34
|
(21) что за регистр? предлагаю редактировать записи не в списке, а чтобы формочка записи открывалась - тут нужен эксперимент, т.к. я не знаю будет ли оптимистическая блокировка (вроде так называется) включаться или нет (аналогично, если мы откроем элемент справочника)
|
|||
31
mrParadox
19.07.12
✎
11:37
|
начальство хочет, что редактирование осущетслялось из формы списка, "нгужно много и быстро редактировать, некогда в форму переходить". И я совсем не уверен, что при переходе в форму списка данная проблема решится
|
|||
32
mrParadox
19.07.12
✎
11:37
|
регистр непериодический, независимый
|
|||
33
France
19.07.12
✎
11:41
|
(29) да потому, что второй пользователь дождется завершения транзакции первого, и ЛЮБОМ случае запишет свою запись.. блокируется регистр на запись набора, а в форме списка - воля вольному.
|
|||
34
Serg_1960
19.07.12
✎
11:42
|
(32) Ну и как ты собираешься блокировать набор записей в таком случае?
|
|||
35
gosn1ck
19.07.12
✎
11:45
|
(31) не понял, перейдите из режима редактирования "в списке" в "в диалоге". даже если ты это сделаешь, потом тебя попросят документы в списке редактировать
|
|||
36
mrParadox
19.07.12
✎
11:45
|
попробовал с формой записи - абсолютно то же самое, что и из формы списка, точно так же задваивается
|
|||
37
mistеr
19.07.12
✎
11:45
|
(10) Читай доки про объектные и необъектные данные. В твоем случае нужно хранить как объекты, например, в справочнике. Тогда блокировки в твоем сценарии будут работать.
Поскольку все равно читать поленишься, вот кратко теория. В РС понятие "отна и та же запись" определяется набором измерений. Изменил измерение - это уже другая запись, блокируй не блокируй. В справочнике идентичность записи определяется ссылкой, и не заыисит от значений реквизитов. |
|||
38
mrParadox
19.07.12
✎
11:46
|
(35) - не помогло все равно. Почему рег. сведений не редактировать в списке?
|
|||
39
gosn1ck
19.07.12
✎
11:46
|
кто-нибудь выпытал что за регистр и что в нем хранится?
|
|||
40
Serg_1960
19.07.12
✎
11:47
|
Если можно "чуток" подправить регистр, то у меня есть решение вопроса... Но озвучу тогда, когда иного выхода не найдут.
|
|||
41
France
19.07.12
✎
11:47
|
не признается же...
|
|||
42
mrParadox
19.07.12
✎
11:48
|
(37) - это я прекрасно знаю. Так же знаю, что рег. сведений можно заблокировать по измерениям
|
|||
43
France
19.07.12
✎
11:48
|
(40) нет там решения..
|
|||
44
France
19.07.12
✎
11:49
|
(42) блокировка таблицы регистра сведений не запрещает параллельно запустить еще одну транзакцию... понимаешь?
|
|||
45
Serg_1960
19.07.12
✎
11:52
|
(43) Я не собираюсь решать за все регистры :) но в отдельно взятом регистре - можно.
|
|||
46
France
19.07.12
✎
11:52
|
(45) с учетом (44)????
|
|||
47
France
19.07.12
✎
11:53
|
и исходной задачи, что изменяется значение измерения??
|
|||
48
gosn1ck
19.07.12
✎
12:06
|
(42) а что толку? пользователь же записывает уже с новыми значениями измерений, по которым ты ничего не заблокировал
|
|||
49
France
19.07.12
✎
12:08
|
да хоть по всем возможным наборам пусть блокирует - все равно не поможет))
|
|||
50
gosn1ck
19.07.12
✎
12:09
|
да уж, придётся переводить данные в справочник
|
|||
51
France
19.07.12
✎
12:11
|
(45) хочешь одно измерение чтоле оставить??
|
|||
52
mrParadox
19.07.12
✎
12:12
|
Убедили, переделываю на справочник. Справочник при редактировании из списка блокирует элемент автоматически - проверил.
Изначально душа и лежала к справочнику. Всем неравнодушным большое спасибо за помощь. А все же, Serg_1960, какой вариант у тебя был? |
|||
53
France
19.07.12
✎
12:13
|
(52) до одного измерения свести регистр - я так думаю)) тогда второй пользователь получить "посыл", что данные в базе изменились...
|
|||
54
France
19.07.12
✎
12:13
|
начать менять второй сможет, но при попытке записи система его пошлет.
|
|||
55
Serg_1960
19.07.12
✎
12:14
|
(не пинать нагами сильно) Добавляемв конфигурацию справочник. Абсалютно пустой (безкодов , реквизитов и пр.) В регистр добавляем ресурс - ссылкуна это справочник... Продолжать или всё ясно?
|
|||
56
mrParadox
19.07.12
✎
12:15
|
Данный регистр еще не внедрен толком, только на этапе разработке, хотя уже все для него написано, включая загрузку которая должна начаться через 4 часа :) Так что перекинуться на справочник можно, только быстро.
|
|||
57
France
19.07.12
✎
12:16
|
(55) не продолжай, потому что не поможет.. по другим наборам измерений вторую запись добавят..
|
|||
58
France
19.07.12
✎
12:16
|
решить можно если одно измерение..
|
|||
59
mrParadox
19.07.12
✎
12:17
|
(54) - не пошлет, при записи он просто затрет изменения первого (если он не менял измерение)
|
|||
60
Serg_1960
19.07.12
✎
12:20
|
(57) Нет, не добавят. Если записи регистра "связанны" со справочником 1:1 и если перед редактированием записи регистра сделать попытку блокирования ссылки справочника - торедактировать запись сможет только один из многих.
|
|||
61
France
19.07.12
✎
12:20
|
(59) проверь: скорее всего получишь сообщение о несоответствии записи в базе данных.. или что там еще пиликает 1с..
|
|||
62
France
19.07.12
✎
12:21
|
(60) блокируется на запись справочник, а не регистр сведений...
|
|||
63
gosn1ck
19.07.12
✎
12:23
|
(55) прикольно, но что лучше? избыточный справочник + не верно построенный РС vs правильно спроектированного справочника
|
|||
64
gosn1ck
19.07.12
✎
12:24
|
(59) а почему ты так и не сказал что хранится в РС ?
|
|||
65
France
19.07.12
✎
12:32
|
(60) (63) 1С сказала что ему пофиг на ресурс с "уникальным" справочником.
|
|||
66
skeptik_m
19.07.12
✎
12:34
|
Добавить еще одно измерение - пихать туда УникальныйИдентификатор. В спсике это поле не показывать вообще. Блокировать по этому измерению.
Но лучше не извращаться и сделать справочник :-) |
|||
67
France
19.07.12
✎
12:35
|
(66) да не будет работать... скоко можно..
|
|||
68
Serg_1960
19.07.12
✎
12:37
|
(63) Если регистр не типовой - то лучше не мудрить и сделать справочник. А вот если ты вынужден выкручиваться с типовым регистром - то да, тогда можно изваращятся.
Когда то я так сделал регистр сведений и справочник. Измерения регистра <=> реквизиты справочника. Это было давно, когда я был "твердо" уверен, что отбор и поиск по регистру работает значительно быстрее чем по справочнику. Сообствено говоря, сам регистр сведений "непосредственно" пользователями не редактировался - они переходили по ссылке и редактировали только записи справочника. В конфигурации справочник больше ни для чего не использовался - только типовой регистр работал, как обычно, для отбора и поиска. |
|||
69
skeptik_m
19.07.12
✎
12:38
|
(67) Будут-будет, если пользователь не сможет менять измерение с UUID ручками.
|
|||
70
Feanorko
19.07.12
✎
12:42
|
погляди в сторону "ЗаблокироватьДанныеДляРедактирования", тока это для УФ, но вроде как можно в обычном режиме открывать УФ.
|
|||
71
France
19.07.12
✎
12:48
|
(69) с учетом того, что данные в форме списка сперва редактируются, и только потом идет ПОПЫТКА записи в базу, и собственно, контроль целостности - системе будет фиолетово наличие ююайди, потому набор ИЗМЕРЕНИЙ больше одного...
а если уж так хочется именно через форму списка: объявить глобальную булеву переменную, и если она взведена посылать всех нафиг при попытке редактирования в форме списка - это в качесте порции бреда... можно же и мне)) |
|||
72
Serg_1960
19.07.12
✎
12:51
|
(69) Работать можно заставить что угодно :) Но этот вариант - изврат. Ибо блокировку набора записей всё равно нельзя будет задействовать.
|
|||
73
hhhh
19.07.12
✎
12:54
|
(69) стоп, а как тогда можно получить данные из этого регистра? Например, будут шесть одинаковых строчек, но с разными Уид. Как мы определим, какая из них наиболее правильная?
|
|||
74
skeptik_m
19.07.12
✎
12:56
|
(72) Почему нельзя блокировать набор записей по измерению UUID?
|
|||
75
France
19.07.12
✎
12:58
|
потому что блокируется по набору измерений, НАБОРУ..
|
|||
76
Feanorko
19.07.12
✎
12:58
|
а чем кстати объект "БлокировкаДанных" не угодил?
|
|||
77
France
19.07.12
✎
12:59
|
(76) а что блокировать?
|
|||
78
France
19.07.12
✎
13:00
|
я лучше пойду посмотрю как венгров в лиге европы будут рвать.. а вы пока рвите теорию баз данных, блокировки, транзакции, уровень изоляции данных и еще много разных хороших вещей))
|
|||
79
Feanorko
19.07.12
✎
13:00
|
(77) РС ,не?
|
|||
80
Serg_1960
19.07.12
✎
13:01
|
(78) +1 :)
|
|||
81
Serg_1960
19.07.12
✎
13:03
|
PS: только сейчас обратил внимание на "схожесть" варианта из (68) и "изящную" реализацию РАУЗ, с его "параллельными" регистрами и справочниками...
|
|||
82
skeptik_m
19.07.12
✎
13:04
|
(73) Это аргумент.
(75) Это тоже аргумент. Ладно придумаем другой изврат: UUID пихаем в реквизит, пользователю редактировать не даем, при начале редактирования заносим этот UUID в специальный дополнительный регистр вместе с пользователем, перед началом редактирования проверяем не редактируется ли уже эта запись. При записи или отказае от редактирования - снимаем блокировку. При начале сеанса пользователя автоматически чистим "зависшие блокировки этого пользователя", тоже самое из специального регламентного задания, котрое удаляет блокировки пользователей, корых в данный момент нет в системе раз в несколько минут. |
|||
83
France
19.07.12
✎
13:11
|
проще распределить права на редактирование, чем огород городить непонятный...
автор до сих пор не признается, в состоит задача.. зы.. а бегу, бегу на матч ЛЕ)) кто со мной в раменское?)) |
|||
84
hhhh
19.07.12
✎
13:24
|
(82) ну смотри: например, утром пользователь редактирует запись регистра. В обед приходит второй пользователь и тоже редактирует эту же запись. Вечером первый пользователь открывает регистр и видит, что его корректировки пропали.
В итоге парадоксу влетит по-полной, что он никак не наладит свои блокировки. И Уидами тут не поможешь. |
|||
85
France
19.07.12
✎
13:25
|
(84) да, это круто mrParadox влетит за парадокс с записями))
|
|||
86
sapphire
19.07.12
✎
13:33
|
ТС надо вкурить до просветления мозга что есть регистр сведений и что есть задвоение записей.
(21) Для тех, кто на бронепоезде, измерения разные != задвоение. |
|||
87
sapphire
19.07.12
✎
13:35
|
Если ТС разберется КОГДА возникнет блокировка при редактировании списка, то, ИМХО, проблему решит сам.
|
|||
88
France
19.07.12
✎
14:00
|
при завершении редактирования?))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |