Имя: Пароль:
1C
1С v8
Управляемые блокировки 8.2
0 АНТ-1970
 
04.10.11
16:51
Привет всем!
УПП 1.3, Платформа 8.2, MsSQL2005.
Есть мнене заморочиться упр.блокировками. Проблема такова:
При проведении документа "Расчет себестоимости..." в УПП никто не может работать с "РеализациейТоваровУслуг". Расчет проводится долго, а периоды не пересекаются, расчет за январь, реализация октябрь.
Возможно ли настроить блокировки так, что бы все могли работать?
1 АНТ-1970
 
05.10.11
09:25
Хм. Странная реакция...
2 ДенисЧ
 
05.10.11
09:27
Мда.... При РСВ ещё что-то в базе делать... Самоубийцы...
3 aka MIK
 
05.10.11
09:30
(0) Конечно настроить можно, определяешься какая табличка блокируется в обоих документх и работаешь с ней
4 strange2007
 
05.10.11
09:32
Есть еще вариант, который применяю на больших нагрузках: отделять тяжелые перепроведения по РИБу
5 aka MIK
 
05.10.11
09:33
6 АНТ-1970
 
05.10.11
09:35
В РИБу я предлагал. Эти бухи дрейфят неподецки. Орут, что у них "все слетит".
7 strange2007
 
05.10.11
09:37
(6) Понимаю их. Скорее всего раньше кто-то сильно им попортил жизнь. Но и переписывание конфы ой как чревато последствиями и большими трудозатратами.
Мне интереснее РИБ на отдельном сервере. Пусть там себе считает-пересчитывает сколько душе угодно, остальные даже не понимают, что кто-то там что-то перегружает
8 АНТ-1970
 
05.10.11
09:37
(5) Спасибо. Этот ресурс я тоже изучал...
9 АНТ-1970
 
05.10.11
09:39
(7) не совсем понял, какая выгода от отдельного сервака, если в итоге из РИБы все-равно загрузим результаты перепроведений...
10 strange2007
 
05.10.11
09:44
(9) Смотри: бух ставит запрет на прошлый период, переводит обмен в ручной режим и дня 4 в сегменте все перепроводит. Постоянно и непрерывно, что даже сервак скрипит и дымит. По окончанию в 6.00 нажимает на обмен и идет спать. Утром все пучком и все красиво во взрослой базе. Теперь представь как бы это выглядело, если бы она в общей сидела. Все это время манагеры и часть бухов долбит первичку в основном сегменет и они ни как не замечают тормозов
11 АНТ-1970
 
05.10.11
09:53
(10) Так я им так и предлагаю. Но если в Общей базе период закрыт, а в РИБ работать только в закрытом периоде, то при переносе тек.период не должен же быть затронут?
12 strange2007
 
05.10.11
09:56
(11) Период закрыт для манагеров и директора. Гл. бух. то правит закрытый период, ей не надо закрывать
13 АНТ-1970
 
05.10.11
10:04
(12) Не. я имел ввиду следующее:
1.Мы закрыли период в Общей базе всем.
2. выгрузили в РИБ.
3. в РиБе гл.бух перепроводит закрытый период и только.
4. загружаем из РИБ.
5. в общей ничего не "плывет" в текущем периоде и при этом   закрытый период становится ровно, как в РИБ?
14 strange2007
 
05.10.11
10:07
(13) В основной базе закрываешь период манагерам и директору. Можешь еще одинэснику, что бы при поломке мог отмазаться. У гл.буха период открыт!!!!! Открыт во всех базах!!!! Кроме гл.буха, надо еще открыть у пользователя, под кем будет работать РИБ
15 АНТ-1970
 
05.10.11
10:12
(13) С закрытием периода все ясно. Ладно, все понятно, будем воевать. Всем спасибо!
16 5 Элемент
 
05.10.11
10:17
в упп же есть УБ, не помогает?
17 5 Элемент
 
05.10.11
10:17
попробуй включить отложенное проведение
18 АНТ-1970
 
05.10.11
10:30
(17) что значит отложенное проведение. проведение каких документов? и как это поможет в ситуации конфликта блокировок?
19 strange2007
 
05.10.11
11:14
(17) На больших объемах не поможет. Точнее не сильно поможет
20 ДемонМаксвелла
 
05.10.11
11:14
Видимо 5 Элемент имеет в виду, что если реализации не будут проводиться по большинству регистров сразу, то и блокировок не будет.

Вообще тема интересная. Расчет себестоимости иногда приходится переделывать по нескольку раз.
21 Traker
 
05.10.11
11:27
Сделай отложенное проведение по регистрам бухгалтерии (Хозрасчетный и налоговый), скорее всего блокируются именно они, должно помочь. Еще решало проблему проведение расчета себистоимости вне транзакции, но это неочень хороший вариант.
22 strange2007
 
05.10.11
11:43
(20) И ждать ночи, когда все проведется? А если надо каждые 3 часа пересчитывать? А если работа менеджеров круглосуточная и ночью вообще перегружать сервера нельзя? Не знаю, мне кажется не всегда нормальное решение
23 strange2007
 
05.10.11
11:45
А вообще, если про переписки, то блокировки можно снять очень просто. Надо разделить блокировки временем (1-5 секунд). Актуально для РИБ, потому что вставку делать в 1-2 местах.
Тут эффект именно в задержке. Когда решал проблему перепроведения доков в живой базе, это решение оказалось единственно возможным
24 Гефест
 
05.10.11
11:54
В упэпэ для быстродействия нужно переписывать многоэтажные типовые алгоритмы на простые и быстрые, выкидывать все несрочное в допроведение и допроводить в нерабочее время или в РИБ
25 strange2007
 
05.10.11
12:00
(24) Да не, переписывать не надо, слишком дорого и долго. Многие пробовали, малоэффективное. Я уже на работах даже не предлагаю такой вариант. Хоть как крути, а все равно за сотней человеколет не угонишься и отломаешь что-нибудь лишнее
26 ДемонМаксвелла
 
05.10.11
12:00
Я не защищаю отложенное проведение. Но нужно попробовать всё.
(23) Если не затруднит, расскажи что делал.
27 АНТ-1970
 
05.10.11
12:03
(22) во-во, работа именно круглосуточная. проблема именно в этом. бухи могли бы и задержаться и удаленно, но отгрузка идет и ночью активно...
28 Гефест
 
05.10.11
12:04
(25) Эти сотни человеколет были направлены на то, чтобы оно как-нибудь (не быстро) работало в большинстве возможных ситуаций. Если же писать под ограниченное количество необходимых ситуаций, то ничего долгого и дорогого не будет, а быстродействие может заметно возрасти
29 ДемонМаксвелла
 
05.10.11
12:05
(22) Зачем ждать ночи? Провели документ, распечатали, а движения по регистрам понадобятся к расчету себестоимости и закрытию месяца. Ночью работа по-любому менее активно в базе идёт. Вот ночью и перепроводить всё.
30 strange2007
 
05.10.11
12:17
(26) Ни чего. Просто между каждым перепроведением вставлял задержку в 1-2 секунды и все. У бухов скорость упала, но работали. А вот без задержек все блокировалось и можно было запускать перепроведение только ночью, что тоже не всегда возможно.
Тут эффект в том, что 1Ска на сервере мгновенно забирала ресурсы сервера 1С и блокировала все нафиг, а с принудительной задержкой давала "отдышаться" остальным пользователям
31 strange2007
 
05.10.11
12:18
(29) и как ты оценишь себестоимость? А если бухи требуют её сейчас же? А если у тебя работа в разных странах и нагрузка круглые сутки одинаковая?
32 aka MIK
 
05.10.11
12:23
(0) Читал? Как я победил блокировки (deadlock) http://infostart.ru/public/57613/files/
33 aka MIK
 
05.10.11
12:27
34 ДемонМаксвелла
 
05.10.11
12:31
(31) никак. обойдутся. а вот это проблема (только мало таких баз).
35 strange2007
 
05.10.11
12:34
(34) Мне кажется если есть простейшее решение, то почему бы и не использовать
36 MM
 
05.10.11
12:55
(33) Думаю, что почти все описанные управляемые блокировки излишни. Не вижу смысла блокировать, регистры или последовательности по документам, разве что для предотвращения одновременного проведения одного документа, тем более что операция записи всегда неявно ставит исключительную блокировку. Реально блокировки нужны только по измерениям тех регистров, по которым производится проверка остатков.
37 ДемонМаксвелла
 
05.10.11
12:55
Спасибо, aka MIK, за статью.
(31) возможно, каждый решает что лучше подходит в данном конкретном случае
Итак, что имеем по сабжу из (0)
1) РИБ
2) Отложенное проведение
3) Доработка в направлении управляемых блокировок.
Для себя точно сделаю отложенное проведение документов на тот день, когда себестоимость считаю; потом снова отключу.
38 MM
 
05.10.11
12:58
(31) сейчас же - это значит час в запасе :)
Если проводить по партиям раз в 5 минут из одного фонового задания, то если все работают оперативно, то себестоимость не будет отставать больше чем на час. А если пользователи меняют что-либо задним числом, то проведение по партиям при проведении всё равно будет врать.
39 strange2007
 
05.10.11
13:01
(38) Именно так и полностью согласен
40 ДемонМаксвелла
 
05.10.11
13:06
блокировки при перепроведении и блокировки при расчете себестоимости это проблемы схожие но всё-же разные. в сабже про расчет себестоимости.
41 АНТ-1970
 
05.10.11
14:02
А можно поподробнее про отложенное проведение?
Порядок настройки и нюансы...
42 АНТ-1970
 
05.10.11
14:07
ага, вот тут есть:
http://blog.1c-ei.ru/2009/10/blog-post.html
43 Медведик
 
05.10.11
14:30
(33) Спасибо за ссылку
44 АНТ-1970
 
05.10.11
14:42
блин, кажись проблема решена. РСВ проводится уже 40 минут, а юзвери спокойно работают и не вякают больше.
Век живи - век учись!
45 DEVIce
 
05.10.11
14:45
(44). А что сделал-то?
46 АНТ-1970
 
05.10.11
14:46
установил отложенное проведение, как в статье (42)
47 АНТ-1970
 
05.10.11
14:47
(32) у вас нету статьи этой? а-то на инфостарте халяву ваще прикрыли...
48 DEVIce
 
05.10.11
14:50
(46). Бухи не жалуются на отсутствие проводок в течении дня?
49 АНТ-1970
 
05.10.11
14:53
не-а, они пока и не замечают. а там посмотрим...
Так нет у кого статейки "Как я победил блокировки"?
50 neckto
 
05.10.11
15:09
Оптимизируйте расчет себестоимости, реально удавалось оптимизировать в 30 и более раз. Сейчас самое продолжительное, расчет с/с считается 30 минут, при этом другие юзеры продолжают колотить документы. Попробуйте проводить вне транзакции.