Во всех статьях рассказывают на справочниках и документах. А что насчёт регистра бухгалтерии? У нас один документ пишет за один раз примерно 500к проводок. При этом я не могу провести в этот момент другой даже маленький документ по другой организации. У регистра включен автоматический режим блокировок. Что с этим делать? Субд блокировок не видит.
Добрый день, благодарю 🙏🏼 Например, программно открывайте транзакцию и блокируйте данные перед формированием отчета, если я правильно понял суть вопроса.
@@kefimov Вы имеете в виду в процедуре "ПриКомпоновкеРезультата"? Можно ли увидеть такое исполнение в типовых отчетах или в каких-нибудь других источниках? По практике заметила, что в управляемом режиме на 8.3 отчеты и так не выдают грязное чтение, хотя по статьям в интернете вижу, что чтение идет грязное
@@maxtravels8018 Посмотрите видео 09-01 про уровни изоляции транзакций. В 8.3 помогает snapshot, если необходимо полностью заблокировать данные, то необходимо открывать транзакцию и блокировать.
открывайте транзакции как то мало экономит времени. заливаю 300тыс. проводок фоновыми заданиями по 2000 на одну бухОпер, залетает за 3 мин. Те же операции, но разделены на отдельные документы ПоступНаЛицевойСчет пишет 20 док с одной проводкой по бух.регстру в 1сек. то есть в многопоточном режиме 5часа. Получается добавил две команды в цикл формирования движения (отбор по регистратору, запись набора) и время увеличилось до часов. есть ли какой способ писать Рег.Бухгалтерии более оптимально?
@@kefimov запись документа мелочь, а вот запись одной проводки для этого документа 90% времени. шаги такие 1.подготовил данные. 2. открыл транзакцию 3. в цикле создаю 500док и 500 проводок к ним по регБух. 4.закрываю транзакцию. Вопрос почему НаборЗаписей.Записать() тратит 90% времени, а Закрыть транзакцию почти ничего?
Где такую консольку хитрую можно взять?)
drive.google.com/file/d/10xAv3zqSFxrhQl84Dv_5TSP05WLyJDLB/view?usp=drivesdk
@@kefimov, спасибо за видео и за обработку!
Спасибо! Всё очень доступно и понятно.
Круто!
Во всех статьях рассказывают на справочниках и документах. А что насчёт регистра бухгалтерии? У нас один документ пишет за один раз примерно 500к проводок. При этом я не могу провести в этот момент другой даже маленький документ по другой организации. У регистра включен автоматический режим блокировок. Что с этим делать? Субд блокировок не видит.
Спасибо!!!!!
Добрый день!
Спасибо за материал! У меня есть небольшое непонимание по грязному чтению в отчетах, есть ли способ от него там избавиться?
Добрый день, благодарю 🙏🏼 Например, программно открывайте транзакцию и блокируйте данные перед формированием отчета, если я правильно понял суть вопроса.
@@kefimov Вы имеете в виду в процедуре "ПриКомпоновкеРезультата"? Можно ли увидеть такое исполнение в типовых отчетах или в каких-нибудь других источниках?
По практике заметила, что в управляемом режиме на 8.3 отчеты и так не выдают грязное чтение, хотя по статьям в интернете вижу, что чтение идет грязное
@@maxtravels8018 Посмотрите видео 09-01 про уровни изоляции транзакций. В 8.3 помогает snapshot, если необходимо полностью заблокировать данные, то необходимо открывать транзакцию и блокировать.
пример с транзакционными блокировками: почему сначала читаем , получаем результат для статистики, а потом блокируем ? Должно быть наоборот.
чтобы не блокировать ресурс на время выполнения запроса, но все зависит от ситуации и контекста. В конкретном случае - конкретное решение.
открывайте транзакции как то мало экономит времени. заливаю 300тыс. проводок фоновыми заданиями по 2000 на одну бухОпер, залетает за 3 мин. Те же операции, но разделены на отдельные документы ПоступНаЛицевойСчет пишет 20 док с одной проводкой по бух.регстру в 1сек. то есть в многопоточном режиме 5часа. Получается добавил две команды в цикл формирования движения (отбор по регистратору, запись набора) и время увеличилось до часов. есть ли какой способ писать Рег.Бухгалтерии более оптимально?
не совсем понял суть написанного, возможно, много времени занимают записи самих документов
@@kefimov запись документа мелочь, а вот запись одной проводки для этого документа 90% времени.
шаги такие 1.подготовил данные. 2. открыл транзакцию 3. в цикле создаю 500док и 500 проводок к ним по регБух. 4.закрываю транзакцию. Вопрос почему НаборЗаписей.Записать() тратит 90% времени, а Закрыть транзакцию почти ничего?
@@oleg-cy1bx возможно, проблема в пересчете итогов при записи каждой проводки, надо смотреть, статистику в субд
@@kefimov отключить пересчет итогов по одному измерению "Подразделение" для всей транзакции видимо нет возможности?
@@oleg-cy1bx можно в целом отключить пересчет итогов в начале, а в конце пересчитать, многое зависит от ситуации, надо раскапывать 🤷🏼♂️
Пересказ стать и все