Простые подсистемы. Универсальное хранилище данных

15.09.17

Разработка - Инструментарий разработчика

В хранилище можно "завернуть" значения свойств любого объекта и в том же виде эту информацию оттуда "вытянуть". Простейшая функциональность универсального хранилища свойств объектов (в т.ч. таблиц). Построена на одном ПВХ + РС + общий модуль управления (интерфейс). Можно быстро сохранить любую информацию в системе, причем позже её можно будет "вытянуть" и с помощью запроса. Не надо "на каждый чих" добавлять по регистру или справочнику. Можно использовать как хранилище своих дополнительных свойств справочников в произвольном виде. Можно хранить таблицы. Возможно обращение через запрос.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Простые подсистемы. Универсальное хранилище данных:
.zip 16,55Kb ver:0.0.0.1
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Цель
Решить проблему временного или условно-постоянного хранения каких-то данных, либо данных, структура которых не до конца может быть ясна разработчику, либо не постоянна. Хранение дополнительных данных. Хранение произвольных данных.

Задачи
1. Построение хранилища данных, поддерживающего любую структуру хранимых данных
2. Интерфейс работы с этим хранилищем

Принцип
Подсистема состоит из одного РС "Значения свойств объектов", в измерениях которого - Объект, Свойство, Пространство (разрез), Номер строки таблицы (для хранения таблиц), в ресурсах - "Значение". Свойства и их типы описываются с помощью ПВХ "Свойства объектов". Соответственно тип значения зависит от описания типа свойства (стандартный механизм характеристик). Пространство (разрез) описывает набор свойств, принадлежащих объекту. Объект может иметь произвольное количество просранств свойств. Каждое свойство жестко принадлежит какому-то пространству. В качестве объекта может быть любая ссылка (типы ссылок указать в конфигураторе), либо даже строка. То есть мы можем хранить вообще любуюинформацию, заранее обозначив ключ (идентификатор). Это всё - внутренний механизм. Разработчику достаточно заполнить контейнер с данными для хранения, далее подсистема сама "завернёт" его в нужном виде.
Получение информации аналогично записи: разработчик указывает идентификатор объекта (ссылка, строка, и т.д.) и пространство, свойства которого хочет получить из хранилища.

Пример использования
Необходимо где-то условно временно хранить информацию о кошках тети Нюры, за котрыми надо следить, пока хозяйка уехала на моря. Давайте определимся, какие свойства кошек надо хранить: "Кличка", "Окраска", "Пол", "Возраст", "Порода". Эти свойства по сути являются общими данными кошек, то есть их можно отнести к одному пространству "ОписаниеКошки". Экземпляр кошек будет иметь эти свойства. Часть кошек являются породистыми, а, значит, для них можно хранить данные о прививках, родословной и т.п., то есть выделить еще одно пространство свойств "ОписаниеПородистойКошки". В коде это может быть реализовано так:

   // Первая кошка
    Контейнер = Новый Структура;
    Контейнер.Вставить("Объект", "КошкаМаруся");
    Контейнер.Вставить("Пространство", "ОписаниеКошки");
    Контейнер.Вставить("Данные", Новый Структура("Кличка, Окраска, Пол, Порода, Возраст", "Маруся", "Белая", "Ж", "Беспородная", 6));

    пп_ХранилищеЗначенийСвойствОбъектовПроцедурыИФункцииСервер.ЗаписатьЗначенияСвойствОбъекта(Контейнер);
    
    
    // Вторая кошка - породистый кот
    // Общие данные
    Контейнер = Новый Структура;
    Контейнер.Вставить("Объект", "КотБорис");
    Контейнер.Вставить("Пространство", "ОписаниеКошки");
    Контейнер.Вставить("Данные", Новый Структура("Кличка, Окраска, Пол, Порода, Возраст", "Борис", "Черный", "М", "Британец", 3));

    пп_ХранилищеЗначенийСвойствОбъектовПроцедурыИФункцииСервер.ЗаписатьЗначенияСвойствОбъекта(Контейнер);
    
    // Данные о породистой кошке
    тзПрививки = Новый ТаблицаЗначений;
    тзПрививки.Колонки.Добавить("Период",     Новый ОписаниеТипов("Дата"));
    тзПрививки.Колонки.Добавить("Прививка", Новый ОписаниеТипов("Строка"));
    НС = тзПрививки.Добавить();
    НС.Период = Дата(2015, 01, 01);
    НС.Прививка = "Прививка от чего-то";
    НС = тзПрививки.Добавить();
    НС.Период = Дата(2015, 06, 01);
    НС.Прививка = "Прививка еще от чего-то";
    Контейнер = Новый Структура;
    Контейнер.Вставить("Объект", "КотБорис");
    Контейнер.Вставить("Пространство", "ОписаниеПородистойКошки");
    Контейнер.Вставить("Данные", Новый Структура("Прививки, НомерВыпискиПлеменнойКниги", тзПрививки, "34а4асу5се5е432"));

    пп_ХранилищеЗначенийСвойствОбъектовПроцедурыИФункцииСервер.ЗаписатьЗначенияСвойствОбъекта(Контейнер);
    
    
    // Получение информации
    ИнформацияОМарусе = пп_ХранилищеЗначенийСвойствОбъектовПроцедурыИФункцииСервер.ЗначенияСвойствОбъекта("КошкаМаруся");    
    ИнформацияОКотеБорисе = пп_ХранилищеЗначенийСвойствОбъектовПроцедурыИФункцииСервер.ЗначенияСвойствОбъекта("КотБорис");
    КарточкаПородистогоКотаБориса = ИнформацияОКотеБорисе["ОписаниеПородистойКошки"];
    ИнфомрацияОПрививкахКотаБОриса = КарточкаПородистогоКотаБориса.Прививки;

 

Этот пример можно увидеть во внешей обработке "ПроверкаЗаписиИЧтенияУниверсальногоХранилища", входящей в архив поставки этой подсистемы.

 

Плюсы
1. Можно быстро сохранить любую информацию в системе, причем позже её можно будет "вытянуть" и с помощью запроса. Не надо "на каждый чих" добавлять по регистру или справочнику.
2. Можно использовать как хранилище своих дополнительных свойств справочников в произвольном виде.
3. Можно хранить таблицы

Минусы
1. Скорость работы хранилища, очевидно, медленнее специализированных регистров и справочников.
2. Расширять типы хранимых данных программисту придётся всё-таки через конфигуратор в ПВХ.

Вступайте в нашу телеграмм-группу Инфостарт

Хранилище информации универсальное хранилище свойства объектов

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    72841    370    170    

320

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    264665    1475    421    

1175

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    39368    110    48    

124

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    60034    122    36    

134

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    7309    31    42    

45

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    26013    97    46    

104

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4372    15    1    

19

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2277    6    0    

21
Для отправки сообщения требуется регистрация/авторизация