Отчет для проверки корреспонденций проведенных за период документов и проверки наличия битых ссылок в движениях регистров

Как показывает практика, практически в каждый отчетный период возникают ситуации, когда не удается сразу получить баланс. Уходит значительное время на то, чтобы найти причину несходимости баланса. А причиной зачастую являются ошибки в заполнении документов, которые приводят к отсутствию двойной записи при проведении документа. Такая возможность заложена типовой конфигурацией.

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

В связи с этим требуется отчет, который бы показывал за период по каждому виду документа дебетовые и кредитовые суммы движений, итог по дебету и кредиту с выделением несхождений. Важно, чтоб отчет мог показать документы, по которым суммы дебета и кредита не сходятся, а также непроведенные документы, по которым есть движения. Для выявления битых ссылок на объекты (практика показала, что такие ссылки возникают из-за удаления объектов в системе распределенных баз) необходимо, чтоб отчет показывал, движения регистров, которых есть битые ссылки.

Предлагаемое решение

Макет параметров   Внешний отчет для проверки корреспонденций проведенных за период документов и проверки наличия битых ссылок в движениях регистров   Внешний отчет для проверки корреспонденций проведенных за период документов и проверки наличия битых ссылок в движениях регистров

Внешний отчет для проверки корреспонденций проведенных за период документов и проверки наличия битых ссылок в движениях регистров   Внешний отчет для проверки корреспонденций проведенных за период документов и проверки наличия битых ссылок в движениях регистров

Набор полей отчета:

  • Организация
  • Тип документа
  • Документ
  • Дата документа
  • Проведен
  • Пометка удаления
  • Регистр
  • Сумма дебет
  • Сумма кредит
  • Признак несоответствия сумм по дебету и кредиту (с выделением цветом)
  • Признак битых ссылок в движениях регистра(ов) (с выделением цветом)
  • Признак движений непроведенного документа 

Ресурсами отчета будут поля:

  • Сумма дебет
  • Сумма кредит
  • Признак битых ссылок в движениях
  • Признак движений непроведенного документа

Группировать ресурсы можно будет по следующим полям:

  • Организация
  • Тип документа
  • Документ
  • Регистр

Задача требует проверки корреспонденций движений. Соответственно, интересны движения регистров, влияющие на баланс. Далеко не все регистры, по которым документы делают движения, влияют на баланс. Следовательно, нужно выделить только те регистры, по которым делаются балансовые движения. Необходимо определить, в каких ресурсах регистра отражаются обороты по дебету или по кредиту. В регистрах оборотов суммы по дебету и по кредиту должны находиться в разных ресурсах. В регистрах остатков суммы по дебету и по кредиту могут находиться в одном ресурсе, отличием в этом случае является вид движения – приход или расход.

Проверяемые регистры нужно ограничить строгим набором с указанием для каждого регистра имени ресурса и вида движения для получения сумм по дебету и по кредиту. Сделаем этот набор в виде макета отчета «Балансовые регистры» - вид макета «табличный документ». Каждому балансовому регистру в макете должна соответствовать одна строка. Для удобства поиска область каждой строки макета, соответствующей регистру, нужно именовать названием регистра как в метаданных.

Алгоритм заполнения таблицы-источника данных для СКД выглядит следующим образом. Нужно перебрать все документы из метаданных. В процессе перебора для каждого документа нужно создать текст запроса, который вернет данные для заполнения таблицы-источника данных для СКД. Те документы, в которых нет реквизита «организация» пропускаются. В метаданных каждого регистра из макета перебираются все документы, которые делают движения. Для каждого регистра ищется область макета «Балансовые регистры», по имени регистра. Если область не найдена, регистр пропускается. Запрос строится как объединение запросов по каждому регистру с отбором по регистратору – текущему типу документов перебора. Для автоматизации формирования текста запроса снабдим макет «балансовые регистры именованными областями-колонками.

 

Колонки макета:

  • Синоним регистра (будет попадать в колонку таблицы-источника данных «регистр»)
  • Вид движения дебет – «расход» или «приход» для регистров остатков, «оборот» для регистров оборотов
  • Ресурс дебет – название ресурса, из которого брать сумму по дебету
  • Вид движения кредит – «расход» или «приход» для регистров остатков, «оборот» для регистра оборотов
  • Ресурс кредит – название ресурса, из которого будет браться сумма по кредиту

далее следуют колонки макета, предназначенные для автоматизации той части текста запроса, которая отвечает за выявление битых ссылок:

  • Измерения ссылочного типа - строка с перечислением через запятую имен измерений ссылочного типа регистра
  • Реквизиты ссылочных типов – строка с перечислением через запятую реквизитов объектов, ссылки на которые являются значениями измерений, перечисленных в колонке «измерения ссылочного типа» (количество имен реквизитов должно соответствовать количеству измерений и перечисляться они должны в порядке соответствия измерениям)
  • Измерения составного типа – строка с перечислением через запятую имен измерений составного типа, в состав которого входит хотя бы один ссылочный тип.
  • Реквизиты составных типов – строка с перечислением через запятую реквизитов объектов, ссылки на которые являются значениями измерений, перечисленных в колонке «измерения составного типа» ( количество имен реквизитов должно соответствовать количеству измерений и перечисляться они должны в порядке соответствия измерениям; также нужно учитывать, что реквизит в перечислении обязательно должен присутствовать во всех объектах, ссылки на которые входят в состав ссылочного типа) 

Далее текст запроса, сформированного для текущего типа документа, снабжается отборами, соответствующими отборам из схемы компоновки. Требуется анализ элементов отбора и преобразование их в текст запроса.

Значение поля таблицы-источника «признак несоответствия дебета и кредита определяется неравенством сумм по дебету и по кредиту по группировке «документ» - если суммы не равны, то «истина», если равны, то «ложь»

Значение поля таблицы-источника «признак битых ссылок» определяется наличием значения NULL хотя бы одного реквизита, полученного из измерений регистра, полученного из макета «Балансовые регистры». В этом случае значение колонки «истина», иначе «ложь».

Значение поля таблицы-источника «признак движений непроведенного документа» определяется значением поля «проведен» путем инверсии значения.

joomla
spbport
^ Наверх