Отчет по структуре метаданных конфигурации / поиск "битых" типов (Строка 10)


Простенький отчет на СКД по структуре базы данных, в основном предназначен для автоматического поиска возможных «ошибочных» типов, когда в структуре базы что-то пропало и стало типа Строка(10).
Выложено по просьбам отсюда: http://forum.infostart.ru/forum9/topic166566/

Была проблема: В процессе обновления и объединения различных баз, прототипов и наработок разных разработчиков,  иногда бывали проблемы «утраты» нужных метаданных. Реквизит оставался, а его тип уходил в небытие. Реквизит в таком случае становился типа «Строка (10)». Да и разработчики пару раз тупо забывали указать тип реквизита. Результат — тот же.  Возникла потребность просмотреть реквизиты с такими типами в конфиграции. Когда-то давно, когда разработка велась в СППР, то с этим легко справлялся простой запрос по табличной части «ТипыЗначенияРеквизита» справочника «РеквизитыОбъектовДанных». Но СППР мы больше не использовали.

На коленке было написано вот это решение, может быть кому-нибудь зачем-то понадобится.

Отчет состоит из СКД с внешним набором данных. Внешний набор данных заполняет таблицу со столбцами «ТипМетаданных», «Метаданные», «ТабличнаяЧасть», «Реквизит», «ТипРеквизита», «Длина» данными. Обрабатываются следующие типы метаданных:

Справочники
Документы
Отчеты
Обработки
ПланыВидовХарактеристик
ПланыВидовРасчета
РегистрыСведений
РегистрыНакопления
РегистрыБухгалтерии
РегистрыРасчета
БизнесПроцессы
Задачи

  Эта таблица передается в СКД, где группируется и можно смотреть структуру базы данных в удобной мне группировке. Так как меня интересуют только пустые типы — в СКД стоит отбор по Строка(10). 

Отчет не содержит формы, работает с генерирующейся по умолчанию.

«Зачем тебе всё это нужно»: 

Отчет встроен в конфигурацию на обычных формах. В модуле регламентных заданий дописано: 

Процедура РассылкаТиповСтрока10() Экспорт
Отчет = Отчеты.СтруктураТиповБазыДанных.Создать();
ТабДок = Отчет.СформироватьОтчет();
Заголовок = "Реквизиты с типом Строка(10) от " + Формат(ТекущаяДата(), "ДЛФ=DD");
ДобавитьВОчередьРассылки(Заголовок, ТабДок);
КонецПроцедуры

и создано регламентное задание, которое примерно раз в неделю присылает мне список потенциальных проблем с типами данных. В общем-то все. Планов дорабатывать что-то нет, но если у кого-то будут идеи или просьбы — могу и сделать. Запускал на самописной конфе на обычных формах и на бухгалтерии 3.0. 

Выкладывается, скорее, как шаблон, если кому-то вдруг нужно нечто подобное. Аналоги искал, нашел один, но мне он не подошел.

1 Comment

  1. necropunk

    Изначально поставил «бесплатно», но, видимо, правила сайта не позволяют. Кто не может скачать или не хочет тратить см — пишите в личку — вышлю.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *