При разработке сложных проектов мы создаем и работаем с огромным количеством структур данных (таблицы значений, структуры, индексированные таблицы значений).
Очень часто для того, чтобы понять каковы же поля в таблице значений или структуре, приходится искать и анализировать код конфигурации.
Для избежания таких затрат времени на понимание структур данных в большом проекте программист, работающий в рабочей группе, обязан создать документацию на используемые структуры данных и примененные алгоритмы.
Очень часто так случается, что созданная программистом документация не соответствует реально используемым в конфигурации структурам данных. Обычно это случается из-за забывчивости, или просто от того, что программист решил сначала отладить код, а потом написать документацию.
Для моего удобства работы со структурами данных я создал класс 1С++ Фабрика, производный от класса ФабрикаОбъектов, который позволяет создавать типы данных (таблица значений, индексированная таблица значений, структура) по имени типа.
То есть, это попытка применения такого метода работы:
1) Описываем новую структуру данных, присваиваем ему уникальный идентификатор типа данных - Имя типа.
При описании можем добавить комментарии, назначение различных полей объекта, значения по умолчанию для полей структуры.
2) При необходимости создать объект нового типа вызываем функцию-конструктор структуры данных, в которую передаем имя требуемого типа данных. Функция автоматически создает экземпляр структуры данных, соответствующий описанию типа данных.
В демонстрационной конфигурации типы данных описаны в общих таблицах.
Таблицы, описывающие типы данных, строго определенной структуры.
При создании экземпляра класса Фабрика производится парсинг общих таблиц с описанием структур данных. После этого класс готов создавать описанные в таблицах структуры данных.
Преимущества использования методики:
1) Удобство создания структур, таблиц значений, индексированных таблиц значений
2) Есть всегда под рукой актуальная документация на структуры данных. Нет необходимости искать в коде описание структуры данных.
3) Создаваемые структуры данных всегда соответствуют документации.