Отчет позволяет получить:
1. Отклонения ОСТАТКОВ баз по выбранному регистру / периоду по ключевому значению.
2. Отклонения ОБОРОТОВ баз по выбранному регистру / периоду / регистратору.
3. Сверка наличия документов/справочников … ну и т. д.
Что сверять — зависит только от фантазии — как формировать запросы получения данных.
4. Регистрировать отклонения «выбранных» документов в «внешней» базе.
Обработка использовалась при переводе учета с «сильно переделанной»УТ11.1 на УТ 11.4 .
Сценарий сверки баз (после настройки шаблонов запросов/ плана обмена):
Сверка движений по регистраторам:
1. Выбираем регистр/набор данных
2. В базе приемнике строим отчет.
3. Анализируем/Регистрируем «отклонения к загрузке»
4. Выгружаем/загружаем
5. переходим к П.1 до ситуации отсутствия отклонений
Сверка остатков регистров аналогично
Общий принцип:
1. Источники сравнения определяются запросами, для текущей и внешней базы («COM соединение»).
Запросами получаем 2 таблицы значений заданной структуры: (Примеры запросов — в обработке):
№ |
Поле |
Примечание |
1 |
КлючДанных |
Строка строковое поле по которому проводится сопоставление данных Например: Для Номенклатуры: Наименование+Характеристика+Склад Для Контаргента: Наименование+Код+ИНН Для документа: номер+дата+Вид ... и т.д. |
2 |
РегистраторНомер |
строка |
3 |
РегистраторДата |
строка |
4 |
РегистраторНомер |
строка |
5 |
РегистраторПредставление |
строка |
6 |
НачОстаток |
Число - сверка остатков по ключу |
7 |
Приход |
Число |
8 |
Расход |
Число |
9 |
КонечныйОстаток |
Число- сверка остатков по ключу |
10 | Оборот | Число - сверка оборотов "регистратора" |
2. Сравниваем запросом, выводим результат в СКД.
Есть 2 основных режима построения сверки:
1. Сверка остатков по ключевому значению за выбранный период
2. Сверка оборотов по регистратору+КлючевоеЗначение за выбранный период
Исходим из того, что при обмене между базами, при конвертации документа числовая составляющая номера осталась прежней. Таблицы связываем/сравниваем по Периоду регистратора и его «числовому» номеру. Ситуация разного представление регистраторов в конфигурациях,разных префиксов документов в этом случае обрабатывается корректно.( почти :))
3. Сервис.
Регистрация «выделенных» документов отклонений в плане обмена внешней базы.
Данный функционал требует адаптации под конкретный случай.
Примечание:
Регистрация изменений в «внешней» базе работает только в режиме «толстого клиента»
В форме обработки функция заполнить запросы содержит примеры запросов.
Часть запросов «специфичны» под наши конфигурации. Но запросы по регистрам стандартным для УТ думаю будут работать. (ТоварынаСкладах, ТоварыОрганизаций, ВзаиморасчетыСКлиентами, Свободные остатки …)
В ходе сверки баз не корректно сопоставлялись документы / регистры где период документа не соответствовал периоду движений регистра. Это экзотичный случай.
Отклонения вычисляем в запросе. В СКД просто вывел ресурс через MAX. Поскольку нет цели получить "количественное" отклонение а просто факт наличия/отсутствия отклонений. Если нужно иначе - меняем тип ресурса в СКД.
Столкнулся с ситуацией, когда ключевое поле для сверки в запросе получить не удалось. Для этого случая, добавлено поле в шаблонах запросов "КлючДанныхВыражениеТ*". Если значение определено, то "ключ" вычисляем для каждой записи набора данных по контексту результата запроса.
Тестировалось:
Управление торговлей: 11.4.9.98 и 11.1.13
Платформа:1С:Предприятие 8.3 (8.3.14.1779)