Блокировка при обмене #394229


#0 by forforumandspam
Речь пойдёт о параметре "Количество элементов данных, обрабатываемых в одной транзакции.", который выставляется при обмене. Как он работает я знаю, теперь мучаюсь выбором: сколько поставить. Собственно вопрос: Если обменивается, допустим, 1 документ, то какие данные блокируются?
#1 by forforumandspam
up..
#2 by Serg_1960
Изменения при обмене вносятся в базу "по объектно" и допускается ситуация, когда запись в регистры движений документов вносятся раньше самого документа... И потому, имхо,  лучше записывать обмен в одной транзакции по принципу "всё или ничего". Почитайте статьи на сайте 1С и дисках ИТС про транзакции, про различне типы блокировок...
#3 by forforumandspam
При единой транзакции пользователи жалуются, что не могут работать. Хотел найти компромисс.
#4 by H A D G E H O G s
Нет
#5 by Serg_1960
Компромисс? Ищите оптиум здесь: "чем чаще обмен - тем меньше в нём изменений"... и блокировок :)
#6 by H A D G E H O G s
Сергей, я тебя другим помнил. В связи с праздником - сходил в салон красоты? :-)
#7 by Serg_1960
Вы тоже... эээ... изменились :)
#8 by forforumandspam
Точку зрения я понял, а вот вашу не понял. Разъясните пожалуйста.
#9 by H A D G E H O G s
Щас отожгу.. Товарищь путает мягкое с теплым. На самом на деле - пофиг, кто пришел раньше - движения или документ. Ну будут движения с пустым регистратором в отчетах - почти ничего страшного. Во всяком случае можно сформировать ручной выгрузкой порядок: Справочники Константы Документы Регистры Тогда этих проблем будет меньше (или вообще не будет). Загрузка в единной транзакции нужна для другого. Вот будет посреди выгрузки документ с пустой датой - все, загрузка встала, данные перенеслись частично. И они, эти частичные данные будут болтаться в базе до пришествия следующей выгрузки... Это я про транзакции. Теперь про блокировки. Они возникают при записи в таблицу и блокируют ВСЮ таблицу на период ВСЕЙ транзакции (фактически на всю выгрузку) (фактически как регистры при проведении документа). Единственным выходом могут быть УправляемыеБлокировки при загрузки (это лишь предположение). Я их решил попробовать реализовать. (А то у нас похожая ситуевина, 18 филиалов, центральная база редко свобюодна). Пишите в аську, как реализую - отпишусь...
#11 by Jolly Roger
>Они возникают при записи в таблицу и блокируют ВСЮ таблицу вот уж точно отжог!
#12 by H A D G E H O G s
А что, нет что-ли?
#13 by Serg_1960
Товарищь ничего не путает :( При обмене, действительно, "пофигу" что раньше будет записано: документ или его движения. НО: это не критично только, если он (обмен) будет выполнен полностью. Иначе - неизбежное нарушение ссылочной целостности. Поэтому желательно проводить обмен в одной транзакции.
#14 by Serg_1960
Подчеркну: желательно в одной транзакции, - но вовсе не обязательно :) Что тогда важно? Важно провести обмен в полном объеме. Если обмен "мешает" работе пользователей - "спокойно" указывайте единицу в параметре "Количество элементов данных, обрабатываемых в одной транзакции." - это не столь критично... Составьте своё мнение - прочтите на ИТС стаьи, - например: "Особенности использования транзакций при обменен данными." По поводу блокировки документа и регистров движения: там-же статья "Особенности блокировок регистров при работе 1С:Предприятием 8 в варианте клиент-сервер."
#15 by Лефмихалыч
Коллеги, зачем усложнять? Не проще решить проблему посредством запуска обмена ночью, когда пользователей нет?
#16 by Defender aka LINN
Ты не поверишь.
#17 by milan
а можно я не поверю ??? всетаки в момент проведения документу нужно гарантировать неизменность итогов по регистрам в которых документ может делать движения, или я что-то неправильно понимаю ??? мы же говорим про автоматический режим управления блокировками ???
#18 by Advan
В нормальных системах нужен как минимум ежечасный обмен - а иногда и обмен в реальном времени(он просто не прекращается). Ставь методом единичку - не бойся потерять часть данных - если обмен регулярен, то остальные изменения придут в следующий раз, в течении часа. А если не регулярен - то что мешает его запускать в обед и ночью? А насчет прерывания обмена посередине то это должно быть редким исключением...
#19 by Лефмихалыч
большая книжка "профессиональная разработка бла-бла-бла", стр. 238 однако это только для клиент-серверного варианта коллега, с Вами таки все в порядке? температуры нет?
#20 by milan
и правда ;) чуть не ввел в заблуждение, мсскл блокирует записи
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С