Имя: Пароль:
1C
1С v8
Получается в postgresql блокировки на уровне записей?
0 Klesk
 
28.04.12
07:35
Или не получается?
8.2.15.301
УТ 11
Строка версии    PostgreSQL 9.0.4-alt1 on x86_64-pc-linux-gnu, compiled by GCC gcc (Debian 4.4.5-8) 4.4.5, 64-bit (с Etersofta)

Режим блокировки документа: Автоматический.
Документ заказ покупателя. Модуль объекта.

Процедура ПриЗаписи(Отказ)
   Ы=1;    
   Если ПараметрыСеанса.ТекущийПользователь.Наименование="Алексей"    Тогда        
       Сообщить("Пустой цикл");
       Пока Ы<100000000 Цикл                
           Ы=Ы+1;        
       КонецЦикла;
   КонецЕсли;
КонецПроцедуры

В это время под другим пользователям спокойно создаю документ.
Что то не так делаю?
1 IamAlexy
 
28.04.12
07:38
(0) кстати эффект подтверждаю...

особенно если цикл запустить в одной базе, а пользователи будут проводить свои документы в другой базе.

так же эффект сохраняется если цикл запустить на одном сервере, а пользователей посадить на другой сервер.
2 gavrikprog
 
28.04.12
07:38
1) а кто сказал, что не даст документы параллельно создавать ?
2) если сами накладываем управляемую блокировку(и в конфе упр.), то управляемые и будут
3 gavrikprog
 
28.04.12
07:39
(2) не претендую на истину... соображения просто
4 gavrikprog
 
28.04.12
07:39
т.к. последовательность не двигается(узкое место), в очереди они не стоят
5 Klesk
 
28.04.12
07:43
2) По идее, если блокировки как сказаны в документации 1с для постгри на уровне таблиц, то должна блокироваться таблица заказов клиентов.Ведь

ПриЗаписи(<Отказ>)
Параметры:

<Отказ>

Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
6 gavrikprog
 
28.04.12
07:46
а сейчас сделай чтение по таблице Контрагентов при проведении с исключительной блокировкой по контрагенту минут на 5.

и в это время проведи подобный документ
7 Klesk
 
28.04.12
08:00
(6) не совсем понял как это сделать, пока не сильно шарю в 8

поместил конструкцию в ПроведениеСервер.ЗаписатьНаборыЗаписей(Объект)

Получаю "Не установлен менеджер временных таблиц" это оно?
8 tridog
 
28.04.12
08:09
(0) В режиме управляемых блокировок - да. УТ11 работает именно в этом режиме. Режим блокировок в ней установлен не для каждого документа, а в целом для регистров, по которым блокировки вообще устанавливаются - например он установлен у регистра СвободныеОстатки.

Сама блокировка данных при утом устанавливается в модуле набора записей данного регистра, в событии "ПередЗаписью".
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс