Вводное содержание:
На данный момент использовался метод по квартальной отчетности, с сентября введен помесячный период отчетности, в связи с этим метод создания копии базы и формирование в ней необходимых движений за квартал теперь не актуален и трудозатратен по времени.
Задача:
Реализовать механизм обмена между базами Управление Ломбардами (УСЛ, на базе УТ10.3) и Бухгалтерией предприятия (БП 2.0), который будет в базу БП загружать данные по залоговым билетам (ЗБ) ЕЖЕДНЕВНО, при этом необходимо придерживаться некоторых правил:
1. Механизм должен иметь возможность грузить как фиксировано за 1 день, так и с указанием периода (реализовать можно тем что при старте обработки в период будут подставлены дата начала и дата окончания текущего дня)
2. При записи ЗБ в базу БП необходимо делать закрытие билета придерживаясь условия, что дата реального закрытия билета наступает через N дней (указываются пользователем, но сохраняется при закрытии формы) в базе УЛ, в базе БП дату закрытия нужно рассчитывать относительно текущего дня загрузки. Расчет ведется следующим образом, пользователь указывает среднюю по дням сколько нужно отклонить. Далее формируется диапазон от –средняя до + средняя и в случайном порядке определяется значение отклонения из диапазона. В результате должно получиться средняя дата закрытия ЗБ равная дата текущая + средняя
3. Так же нужно предусмотреть возможность выбора процента обрабатываемых ЗБ от общей массы. То есть чтобы обработка обработала указанный пользователем процент ЗБ согласно выше описанному алгоритму, а оставшуюся часть ЗБ перенести в БП без изменения даты закрытия
Пример
Указана средняя по дням 6 дней
Дата загрузки 12.11.2015
Средняя должна сформировать диапазон (3;9)
Случайным образом выбирается число из диапазона и прибавляется к дате загрузки, получаем дату закрытия ЗБ
При обработке пользователь указал процент 90%, это значит что 90 процентов пройдет по алгоритму закрытия и только 10 % пройдет без изменений
4. Последний этап обмена - это учет данных отчета и реальных ЗБ по невыкупу, т.е. если данные пришли из УЛ в БП превышающие данные отчета. то необходимо перезакрыть лишние ЗБ начиная с граничной даты сдачи отчета.
пример
в отчет подана сумму 1156053, после окончательно переданных данных по ЗБ это примерно 80 дней от даты создания ЗБ, мы получили сумму 1207890, т.е. получили превышение на сумму 1207890 - 1156053 = 51837, теперь нам нужно эту разницу скорректировать, просматриваем закрытые ЗБ по убыванию даты, и переносим их дату закрытия, в результате мы должны получить близкую к 0 разницу между данными отчета и реальными данными по ЗБ, дату нужно переносить за дату сдачи отчета. Отчет сдается помесячно. если сумма ЗБ превышает отстаток, то просто пропускаем такой ЗБ и переходим к проверке следующего.
=================================
Примерная цена реализации и срок?
Добрый день! Готов сделать такой обмен. Опыт нестандартных обменов между базами большой. Нужно будет предварительно посмотреть на реализацию операций с ЗБ в обеих базах.