|   |   | 
| 
 | Блокировки 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 | 
        при завершении редактирования?))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |