Быстрое восстановление последовательности по партиям

Модуль для конфигурации АСТОР Торговый дом Prof 6.0 и 7.0

Полностью заменяет стандартную обработку восстановления последовательности по партиям в АСТОР Торговый дом Prof.   Многократно  ускоряет процесс восстановления последовательности. Не требует монопольного режима доступа к базе данных и позволяет восстанавливать последовательность, не блокируя работу пользователей.

Основная проблема при работе с 1С – необходимость изменения данных задним числом. Ошибаются поставщики, ошибаются сотрудники, ошибаются разработчики ПО и периодически  возникает необходимость исправить какой-либо документ,  ранее введенный в базу. Удаление, добавление и изменение количества товаров, изменение даты документа, ввод новых документов с прошлой датой влияют на порядок списания партий и, как следствие, суммы списываемой себестоимости и себестоимость остатков товаров становятся неактуальными. Для актуализации расчетов используется обработка по восстановлению последовательностей. Если размер базы данных небольшой и (или) небольшой документооборот – несколько дней и последовательность восстановлена. А если база «весит» несколько десятков гигабайт и пополняется несколькими тысячами документов в день?

Если вы IT-специалист, то можете уговорить руководство на покупку нового «супер» сервера, а лучше двух, потратить уйму времени на оптимизацию всего что только возможно и получить большой прирост в восстановлении последовательностей… вместо пяти восстановленных  дней за одну ночь работы с БД – получите восемь. Потом, например, загнать tempdb на RAM диск, собрать RAID массив из SSD дисков, построить кластер и получить прирост еще в три-четыре дня. Вот только сегодня 25 апреля,  последовательность у вас «почему-то» на 1 марта, 28-го последний день сдачи налога на прибыль, а вам так не хочется потом ругаться с бухгалтерией  на тему «поехавшей оборотки», хотя это именно бухгалтерия откатила последовательность. Очень не хочется объяснять руководству, почему стали другие цифры в отчете по валовой прибыли, хотя вы абсолютно ни при чём, а просто операционист  (менеджер по закупу, бухгалтер и т.д.) исправляли документы  (не та номенклатура, характеристика, не та сумма НДС, с ценой ошиблись,  «нечаянно не туда нажали» и т.д.). После очередной оперативки выносится решение о глобальном ограничении прав по работе прошлой датой.

Если вы руководитель, то вам наверняка надоели вечные жалобы бухгалтерии на айтишников и айтишников на всех пользователей базы. Вам надоели меняющиеся цифры в отчетах. И хоть вам не хочется выделять очередные сотни тысяч рублей на покупку нового сервера, а то и двух, вы их выделяете. Ваша IT служба успешно вводит новые сервера в эксплуатацию и увеличивает производительность восстановления партионного учета в два раза, но все остается на своих местах.  Взмах шашкой… Функциональные ограничения, даты запрета редактирования, все изменения с датой позже, чем неделя только через служебки с установлением виновных и последующим их «наказанием».

Проблема решена – результаты отчетов за один и тот же период стабильно одинаковы, сотрудники стали меньше допускать ошибки и оперативно решают вопросы с входящими документами, дрязги между службами сведены к минимуму.

Спустя какое-то время, по каким-либо причинам, у вас проходит аудиторская проверка, в результате которой выясняется: бухгалтерская отчетность не соответствует управленческому учету; у вас масса лишних списаний и оприходований товаров, по первым вы, оказывается, не можете возместить НДС, по вторым платите НДС второй раз; со слов аудиторов, в базе бардак,  определить правильность рассчитанных налогов не представляется возможным и необходимо восстановить учет за прошлые два года…

Причина – часть ошибок, требующих исправления, по понятным причинам, перестали трансформироваться в служебки, часть  исправлялась текущей датой корректирующими списаниями-оприходованиями и корректировками взаиморасчетов, а часть вообще хозяйственными операциями, отражающимися только в бухучете.

Возможно ли не допустить подобную ситуацию при больших объемах БД? Да. Для этого нужно оптимизировать процедуру восстановления последовательностей.

В конфигурации АСТОР ТД Prof четыре последовательности: партии, НДС, взаиморасчеты, перепродажи. Самой «неповоротливой» из них является последовательность по партиям. На примере одной из БД размером больше 20Гб  в ночь (с 21:00 до 9:00)  восстановление по партиям успевает пройти примерно 5 дней, НДС+Взаиморасчеты – 60 дней. Напрашивается вывод – нужно оптимизировать восстановление партий.

Один большой минус стандартного восстановления последовательности по партиям – проводятся абсолютно все документы от границы нарушения, участвующие в последовательности. Хотя, при нарушении границы не известно, изменились ли данные и повлечет ли нарушение цепочку изменений в последующих документах. Документ мог быть просто перепроведен и изменения в регистрах не произошло.  Если не произошло изменений в регистрах, то не зачем проводить документы, находящиеся в интервале от текущей границы  до бывшей. Если изменения всё же есть, то в подавляющем большинстве документов отсутствуют те ТМЦ, по которым произошло изменение. А т.к. самым узким местом (при прочих равных) в работе с 1С являются операции записи, то при восстановлении последовательности  желательно было бы свести количество перепроводимых документов к минимуму.

Интерфейс обработки 1С восстановления последовательности по партиям

Этот подход реализован в нашем модуле - проводятся только те документы, которые необходимо перепровести. Рассчитываются эталонные списания по партиям (как должно быть) и сравниваются с реальными движениями документов, если движения документа по регистрам учета партий не соответствуют рассчитанным значениям, то данный документ перепроводится. Для увеличения быстродействия документы перепроводятся только по регистрам учета партий. Поэтому, используя наш модуль, вы можете восстанавливать последовательности гораздо быстрее. На той же самой БД мы получили результат порядка 100 - 150 дней. В рабочее время, при активности 80-ти пользователей!

Модуль поставляется как внешняя обработка и не требует внесения изменений в конфигурацию.