А почему в конце ролика при установке ручной блокировки в качестве значения указывается ссылка, а не значение поля «Документ» из строки табличной части? Сам РС независимый, движения в нем создаются вне зависимости от контекста модуля проведения документа поступления на расчетный счет. Не совсем понял этот момент.
@elenaskvortsova44783 жыл бұрын
Да, вы совершенно правы, спасибо за внимательность. Должно быть так: ЭлементБлокировки.УстановитьЗначение("Документ", стр.Документ); К сожалению, в видео допущена ошибка. Но основная цель - показать, что перед чтением набора записей необходимо устанавливать исключительную блокировку, мы старались проиллюстрировать именно это.
@ВладимирШаров-к5ж Жыл бұрын
@@elenaskvortsova4478 Спасибо за наглядные примеры. Кстати кажется можно было без проверки на статус и без блокировки всегда писать статус "оплачен".
@MrElInfinito6 ай бұрын
@@ВладимирШаров-к5ж Набор записей регистра сведений всегда считывается в НЕЯВНОЙ транзакции с наложением S-блокировки, поэтому без X-блокировки нельзя. Статус "оплачен" нельзя всегда ставить, так как записи в наборе может и не быть, что должно быть понятно по коду.
@fbulkin3 жыл бұрын
Елена, отличные видео, большое спасибо, очень жду следующих. Есть огромная просьба, прикладывать архив с ТЖ, что бы можно было самостоятельно провести анализ. Вопрос по первой блокировке, почему не взаимоблокируется еще и поле "ИмяФайла", которое тоже есть измерение и вроде как должно попадать всеми значениями в блок, как неуказанное?
@elenaskvortsova44783 жыл бұрын
Большое спасибо, рады, что видео показались полезными. По поводу логов с воспроизведением демо-примера - думаю, что чуть позже сможем их выложить. По вопросу: ИмяФайла - ресурс, а не измерение.
@Nerich833 жыл бұрын
Спасибо за видео! Очень жду следующие части. Жаль, что так редко выходят. Поясните, пожалуйста, момент, озвученный в 13:53. У меня не получается проследить связь указанной взаимоблокировки с захватом ресурсов в разном порядке. По идее, второе соединение не смогло бы установить эксклюзивную блокировку на всё пространство "часть файлов = *", т.к. на это же пространство уже наложена блокировка первым соединением? Напрашивается вывод, что на пространство "часть файлов = *" оба соединения устанавливают разделяемую блокировку. А затем оба пытаются наложить явную эксклюзивную блокировку на конкретные значения: "часть файлов = 1" и "часть файлов = 2", что приводит к взаимоблокировке из-за взаимной попытки повышения уровня изоляции на общий ресурс.
@capitan_nemo Жыл бұрын
В видео все верно. Разделяемых блокировок нигде не накладывается. Если обе транзакции начались примерно одновременно, то они накладывают сначала успешно перед запросом непересекающиеся эксклюзивные блокировки в первом пространстве, потом при записи нз они на первое пространство пытаются наложить эксклюзивную блокировку целиком на все, первая начинает ждать вторую, как только вторая делает то же самое возникает дедлок.
@unichkin3 жыл бұрын
Добрый день. А можно в каком-то виде воспроизведение выкладывать? Хотя бы только ТЖ в архиве + файл выгрузки .bak из SQL, где будет только пустая база?
@Курсы1Сиэкзамены1СУчебныйцентр3 жыл бұрын
Здравствуйте. В ближайшее время добавим в описание.
@alexaliferov69013 жыл бұрын
Блокировка в цикле это норм? 21:43
@elenaskvortsova44783 жыл бұрын
Смутить скорее должно чтение набора записей в цикле, потому что это не что иное, как запрос. Но и это зависит от кейса, точнее, от количества итераций, в данном случае по смыслу их должно быть очень мало.