|   |   | 
| 
 | Конфликт блокировок при выполнении транзакций | ☑ | ||
|---|---|---|---|---|
| 0
    
        lamme 07.06.21✎ 21:35 | 
        1С УТ10
 документ ЗК. в процедуре ПередЗаписью() есть код Если РежимПроведения = проведениедокумента - то монопольно открывается форма с выбором каких-то параметров. после закрытия - выбранные параметры уходят в документ. Эти параметры -необходимо вводить только до проведения документа. тк в зависимости от выбранных параметров - по разному документ проводиться. Собственно ситуация - форма открылась - никто не может (например) создать карточку товара (ошибка блокировок при выполнении транзакции и далее по тексту) На конфиг стоит - управление блокировками -автоматическое. -- Как развести - чтобы и не блокировалось и форма выбора все-таки открывлаась перед записю документа . что - в управляемые блокировки смотреть ? | |||
| 1
    
        lamme 07.06.21✎ 21:36 | 
        Если поставить на конфиг режим блокировок - ручной (ну или какой-то там  - но не автоматический) - то как поведет себя база  в режиме провеляни документов. записи данных?     | |||
| 2
    
        lamme 07.06.21✎ 21:37 | 
        Никогда не работал с управляемыми блокировками - поэтому такие глупые вопросы.     | |||
| 3
    
        lamme 07.06.21✎ 21:40 | 
        или логику пересмотреть и как то иначе сделать выбор параметров для дальнейшего проведения документов ?     | |||
| 4
    
        Вафель 07.06.21✎ 21:44 | 
        Если остатки не проверяются то ничего дописывать не нужно     | |||
| 5
    
        lamme 07.06.21✎ 21:45 | 
        не проверяются
 на форме - варианты оплаты -нал/безнал для последующего записи в реквизит документа и проведения с этим параметром. но в момоент открытия формы - никаких проверок остатков. | |||
| 6
    
        VladZ 07.06.21✎ 21:46 | 
        Менять логику работы.     | |||
| 7
    
        lamme 07.06.21✎ 21:48 | 
        хочу просто понять ...
 начинается передзаписью() и что - много таблиц блокируется в базе? | |||
| 8
    
        lamme 07.06.21✎ 21:49 | 
        даже константы не могу открыть - через операции- константы ..
 блокируется .. чтоб ее .. | |||
| 9
    
        H A D G E H O G s 07.06.21✎ 21:50 | 
        (7) Все, что читается - блокируется на запись до конца транзакции. Все, что пишется - блокируется полностью.     | |||
| 10
    
        H A D G E H O G s 07.06.21✎ 21:51 | 
        (8) Раньше это была одна таблица.     | |||
| 11
    
        lamme 07.06.21✎ 21:51 | 
        тогда все правильно ...
 пока висит окно с выбором - все стоит. | |||
| 12
    
        H A D G E H O G s 07.06.21✎ 21:51 | 
        (11) Уберите окно.     | |||
| 13
    
        lamme 07.06.21✎ 21:52 | 
        не знаю куда его засунуть.
 параметры от пользователя нужны. | |||
| 14
    
        lamme 07.06.21✎ 21:54 | 
        перед записью в модуле формы документа  - тоже блокирует все что можно заблокировать ?     | |||
| 15
    
        lamme 07.06.21✎ 21:58 | 
        пойду напьюсь     | |||
| 16
    
        hhhh 07.06.21✎ 22:21 | 
        (15) может база файловая? тогда переходите на клиент-сервер.     | |||
| 17
    
        lamme 07.06.21✎ 22:50 | 
        нет
 серверная | |||
| 18
    
        acht 07.06.21✎ 23:07 | 
        (14) Нет. Перед записью а форме происходит вне транзакции. Там можно спрашивать.
 А в "перед записью" в объекте транзакция уже начата. | |||
| 19
    
        TormozIT гуру 07.06.21✎ 23:38 | 
        (18) Ты про управляемые формы, а все остальные про обычные.     | |||
| 20
    
        acht 08.06.21✎ 00:06 | 
        (19) В обычных формах в этой части все работает точно также, дядь Сереж.
 Не веришь - поставь там у себя какое-нибудь "Сообщить(ТранзакцияАктивна())" и попроводи. | |||
| 21
    
        Dark_Warrior 08.06.21✎ 09:21 | 
        (0) Оставить пользователю возможность выбрать вид оплаты до проведения на форме? Или вызывать отдельную форму оплат?     | |||
| 22
    
        Сисой 08.06.21✎ 09:33 | 
        (0) А почему такая дурацкая логика? Почему выбор не хранится в реквизитах и не заполняется в форме?     | |||
| 23
    
        assasu 08.06.21✎ 10:34 | 
        (9)это о каких блокировках речь?     | |||
| 24
    
        assasu 08.06.21✎ 10:35 | 
        (0) разраба этого чудного процесса надо вздернуть. Это первое. Потом позвать специалиста.     | |||
| 25
    
        Bigbro 08.06.21✎ 10:37 | 
        поддержу предложение оторвать руки тому кто в проведении вешает какие то диалоги.     | |||
| 26
    
        VladZ 08.06.21✎ 10:39 | 
        (24) Ну зачем так сразу. Достаточно просто палкой отхр*начить.     | |||
| 27
    
        acht 08.06.21✎ 10:39 | 
        (24) > надо вздернуть.
 — Не поможет, — грустно ответил дядя Фёдор. Промышленная некромантия не для воскрешения техники, а для того, чтобы у померших рационализаторов выяснять, что же они такого при жизни наулучшали, и как теперь это починить. | |||
| 28
    
        Strogg 08.06.21✎ 11:10 | 
        (0) правильно тебе говорят. Во избежание блокирования всех причастных таблиц более луТьше сделать все заполнения требуемых параметров перед записью. А при проведении лишь проверять их на заполненность.     | |||
| 31
    
        Hmster 08.06.21✎ 12:06 | 
        (0) поменять логику. в момент записи/проведения уже должно всё стоять.
 Как вариант делаешь галку "Все заполнено", разрешаешь проводить только когда она стоит. Галку менять только через "Кнопку", кнопка открывает твою форму. Когда на форме все заполнено - устанавливаешь галку в документе. | |||
| 32
    
        Dmitry77 08.06.21✎ 13:24 | 
        (0) есть еще групповое проведение. Вот весело будет... 
 Все данные, что нужны для проведения храните в документе. | |||
| 33
    
        TormozIT гуру 16.06.21✎ 07:11 | 
        (20) Ты прав. В обычных формах транзакция начинается тоже после выполнения обработчика ПередЗаписью формы.     | |||
| 34
    
        ДенисЧ 16.06.21✎ 07:15 | 
        (32) "Все данные, что нужны для проведения храните в документе."
 Особенно остатки по регистрам ))) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |