Вход | Регистрация
 

Конфликт блокировок при выполнении транзакций

Конфликт блокировок при выполнении транзакций
Я
   lamme
 
07.06.21 - 21:35
1С УТ10
документ ЗК.
в процедуре ПередЗаписью()
есть код
Если РежимПроведения = проведениедокумента - то монопольно открывается форма с выбором каких-то параметров.
после закрытия - выбранные параметры уходят в документ.
Эти параметры -необходимо вводить только до проведения документа. тк в зависимости от выбранных параметров - по разному документ проводиться.

Собственно ситуация - форма открылась - никто не может (например) создать карточку товара (ошибка блокировок при выполнении транзакции и далее по тексту)

На конфиг стоит - управление блокировками -автоматическое.
--

Как развести - чтобы и не блокировалось
и форма выбора все-таки открывлаась перед записю документа .

что - в управляемые блокировки смотреть ?
   lamme
 
1 - 07.06.21 - 21:36
Если поставить на конфиг режим блокировок - ручной (ну или какой-то там  - но не автоматический) - то как поведет себя база  в режиме провеляни документов. записи данных?
   lamme
 
2 - 07.06.21 - 21:37
Никогда не работал с управляемыми блокировками - поэтому такие глупые вопросы.
   lamme
 
3 - 07.06.21 - 21:40
или логику пересмотреть и как то иначе сделать выбор параметров для дальнейшего проведения документов ?
   Вафель
 
4 - 07.06.21 - 21:44
Если остатки не проверяются то ничего дописывать не нужно
   lamme
 
5 - 07.06.21 - 21:45
не проверяются

на форме - варианты оплаты  -нал/безнал
для последующего записи в реквизит документа и проведения с этим параметром.

но в момоент открытия формы - никаких проверок остатков.
   VladZ
 
6 - 07.06.21 - 21:46
Менять логику работы.
   lamme
 
7 - 07.06.21 - 21:48
хочу просто понять ...

начинается передзаписью()
и что - много таблиц блокируется в базе?
   lamme
 
8 - 07.06.21 - 21:49
даже константы не могу открыть - через операции- константы ..
блокируется ..

чтоб ее ..
   H A D G E H O G s
 
9 - 07.06.21 - 21:50
(7) Все, что читается - блокируется на запись до конца транзакции. Все, что пишется - блокируется полностью.
   H A D G E H O G s
 
10 - 07.06.21 - 21:51
(8) Раньше это была одна таблица.
   lamme
 
11 - 07.06.21 - 21:51
тогда все правильно ...
пока висит окно с выбором - все стоит.
   H A D G E H O G s
 
12 - 07.06.21 - 21:51
(11) Уберите окно.
   lamme
 
13 - 07.06.21 - 21:52
не знаю куда его засунуть.
параметры от пользователя нужны.
   lamme
 
14 - 07.06.21 - 21:54
перед записью в модуле формы документа  - тоже блокирует все что можно заблокировать ?
   lamme
 
15 - 07.06.21 - 21:58
пойду напьюсь
   hhhh
 
16 - 07.06.21 - 22:21
(15) может база файловая? тогда переходите на клиент-сервер.
   lamme
 
17 - 07.06.21 - 22:50
нет
серверная
   acht
 
18 - 07.06.21 - 23:07
(14) Нет. Перед записью а форме происходит вне транзакции. Там можно спрашивать.
А в "перед записью" в объекте транзакция уже начата.
   TormozIT
 
19 - 07.06.21 - 23:38
(18) Ты про управляемые формы, а все остальные про обычные.
   acht
 
20 - 08.06.21 - 00:06
(19) В обычных формах в этой части все работает точно также, дядь Сереж.

Не веришь - поставь там у себя какое-нибудь "Сообщить(ТранзакцияАктивна())" и попроводи.
   Dark_Warrior
 
21 - 08.06.21 - 09:21
(0) Оставить пользователю возможность выбрать вид оплаты до проведения на форме? Или вызывать отдельную форму оплат?
   Сисой
 
22 - 08.06.21 - 09:33
(0) А почему такая дурацкая логика? Почему выбор не хранится в реквизитах и не заполняется в форме?
   assasu
 
23 - 08.06.21 - 10:34
(9)это о каких блокировках речь?
   assasu
 
24 - 08.06.21 - 10:35
(0) разраба этого чудного процесса надо вздернуть. Это первое. Потом позвать специалиста.
   Bigbro
 
25 - 08.06.21 - 10:37
поддержу предложение оторвать руки тому кто в проведении вешает какие то диалоги.
   VladZ
 
26 - 08.06.21 - 10:39
(24) Ну зачем так сразу. Достаточно просто палкой отхр*начить.
   acht
 
27 - 08.06.21 - 10:39
(24) > надо вздернуть.

    — Не поможет, — грустно ответил дядя Фёдор. Промышленная некромантия не для
    воскрешения техники, а для того, чтобы у померших рационализаторов выяснять,
    что же они такого при жизни наулучшали, и как теперь это починить.
   Strogg
 
28 - 08.06.21 - 11:10
(0) правильно тебе говорят. Во избежание блокирования всех причастных таблиц более луТьше сделать все заполнения требуемых параметров перед записью. А при проведении лишь проверять их на заполненность.
   Hmster
 
31 - 08.06.21 - 12:06
(0) поменять логику. в момент записи/проведения уже должно всё стоять.
Как вариант делаешь галку "Все заполнено", разрешаешь проводить только когда она стоит. Галку менять только через "Кнопку", кнопка открывает твою форму. Когда на форме все заполнено - устанавливаешь галку в документе.
   Dmitry77
 
32 - 08.06.21 - 13:24
(0) есть еще групповое проведение. Вот весело будет...

Все данные, что нужны для проведения храните в документе.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.