Механизм основан на том, что документ в момент перепроведения проверяет модифицированность движений по регистрам и, если движения изменились, то перезаписывает движения по этому регистру.
Данный механизм используется на рабочей базе. Производительность проведения некоторых документов увеличена в 3 раза
Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С.
Анализ текущих зааросов на sql, ожиданий, конвертация запроса в 1с и рекомендации где может тормозить
Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.
При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.
Казалось бы, КОРП-системы должны быть устойчивы, быстры и надёжны. Но, работая в рамках РКЛ, мы видим немного другую картину. Об основных болевых точках КОРП-систем и подходах к их решению пойдет речь в статье.
Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.
не совсем понятно в чем выигрыш.... неужели "записать" уже подготовленные движения дольше чем:
1.Прочитать все движения до проведения
2.сравнить все движения фактически после проведения (с тем что было)
?
(1) Это как раз просто.
Если в движениях нет разницы, то их можно не записывать. Соответственно ""записать" уже подготовленные движения" дольше чем их не записывать совсем. :)
Если в движениях нет разницы, то их можно не записывать. Соответственно ""записать" уже подготовленные движения" дольше чем их не записывать совсем. :)
Время затраченное на чтение движений "до", сравнение движений "после" как мне кажется большее чем время на "запись" уже готовых движений.
+ не совсем понятно, что происходит с "удалением движений" перед проведением (такое ощущение, что они вообще не трогаются)
(3) если логически подумать то на жесткий диск запись идет медленее чем чтение, а расчет сравнения двух таблиц вообще почти моментально по сравнению с записью и чтением.
(3) Можно выделить 3 режима проведения документов:
1. Проведение новых
2. Проведение проведенных без внесения изменений
3. Проведение измененных проведенных документов
При "проведении новых" сравнивать нечего, поэтому для них ничего не меняется
При "проведении проведенных без внесения изменений" только сравниваем и нечего не записываем
При "проведении измененных проведенных документов" конечно же пролетаем, т.к. записи движений добавляется ещё и сравнение
При массовом проведении документов большинство из них попадают в категорию "проведение проведенных без внесения изменений". Отсюда и ускорение
(0)
Идея очевидная. Странно, что в "штатных" средствах делается иначе. ;-)
По моему опыту работы с различными ИС - только в продуктах 1С делается "тупое" обновления не измененных данных без предварительного анализа.
(8) даже хуже, если посмотреть как делают расчет зарплатных документов... (любой расчет очищает движения, делает заново рассчитывает и все ... отказаться от нового расчета невозможно).
(0) (9)
http://www.sibeaz.ru/ver8111.shtml Прочее
Ускорено перепроведение документов, выполняющих движения по регистру бухгалтерии, в тех случаях, когда не используется автоматическое удаление движений и не изменяются движения документа. Теперь, если новый набор записей совпадает со старым набором записей, сохраненным в базе данных, перезапись набора записей регистра бухгалтерии в базе данных не происходит.
Где в следующих редакциях распространили на другие регистры.
В 8.2 появилась возможность самому устанавливать режим записи.
В принципе, не работает, если предварительно очищать и записывать движения.
Так что пока "-" за незнание мат.части. Даже, если Ваше решение лучше поведения платформы при ПРАВИЛЬНОЙ работе с движениями в режиме проверки модифицированности, то не раскрыто почему это так или почему это не работает в типовых или у Вас до оптимизации.
Хотя посмотрев код не вижу чего-то нового, кроме лишней процедуры на доп.проверку модифицированности. По-моему достаточно просто не очищать движения перед записью и платформа сама сравнит движения.
Покажите код записи движений ДО Вашей оптимизации. Что-то было не так, если механизм платформы не работал.
1с опубликовала год, а то и два назад технологию проведения документов как они это называют "по-новому". Описано в нескольких книжках и даже на сайте 1с в открытой части. Общее описание этих правил не бог весть какое сложное, но там более комплексно рассмотрено "правильное" проведение документов.
Подразумевается перевод полностью или частично на управляемое проведение. То что описано в данной публикации - это только часть этой технологии. Не в обиду автору публикации.