Что такое данные 1с
Перейти к содержимому

Что такое данные 1с

  • автор:

Работа с базой данных

Модель базы данных «1С:Предприятия 8» имеет ряд особенностей, отличающих ее от классических моделей систем управления базами данных (например, основанных на реляционных таблицах), с которыми имеют дело разработчики в универсальных системах.

Основное отличие заключается в том, что разработчик «1С:Предприятия 8» не обращается к базе данных напрямую. Непосредственно он работает с платформой «1С:Предприятия 8». При этом он может:

  • описывать структуры данных в конфигураторе,
  • манипулировать данными с помощью объектов встроенного языка,
  • составлять запросы к данным, используя язык запросов.

Платформа «1С:Предприятия 8» обеспечивает операции исполнения запросов, описания структур данных и манипулирования данными, транслируя их в соответствующие команды. Это могут быть команды системы управления базами данных, в случае клиент-серверного варианта работы, или команды собственного движка базы данных для файлового варианта.

Работа с базой данных

Общая система типов

Важной особенностью работы с базой данных является то, что в «1С:Предприятии 8» реализована общая система типов языка и полей баз данных. Иными словами, разработчик одинаковым образом определяет поля базы данных и переменные встроенного языка и одинаковым образом работает с ними.

Этим система «1С:Предприятие 8» выгодно отличается от универсальных инструментальных средств. Обычно, при создании бизнес-приложений с использованием универсальных сред разработки, используются отдельно поставляемые системы управления базами данных. А это значит, что разработчику приходится постоянно заботиться о преобразованиях между типами данных, поддерживаемыми той или иной системы управления базами данных, и типами, поддерживаемыми языком программирования.

Хранение ссылок на объекты

При манипулировании данными, хранящимися в базе данных «1С:Предприятия 8», зачастую используется объектный подход. Это значит, что обращение (чтение и запись) к некоторой совокупности данных, хранящихся в базе, происходит как к единому целому. Например, используя объектную технику, можно манипулировать данными справочников, документов, планов видов характеристик, планов счетов и т.д.

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

Эта ссылка также хранится в поле базы данных, вместе с остальными данными объекта. Кроме того, ссылка может быть использована как значение какого-либо поля другого объекта. Например, ссылка на объект справочника Контрагенты может быть использована как значение соответствующего реквизита документа Приходная накладная.

Составные типы

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

Работа с базой данных

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

Хранение любых данных как Хранилище значения

Идеология создания прикладных решений в «1С:Предприятии 8» предполагает, что все файлы, имеющие отношение к данному прикладному решению, нужно хранить в самой базе данных.

Для этого введен специальный тип данных — ХранилищеЗначения. Поля базы данных могут хранить значения такого типа, а встроенный язык содержит специальный одноименный объект, позволяющий преобразовывать значения других типов к специальному формату Хранилища значений.

Благодаря этому разработчик имеет возможность сохранять в базе данных значения, тип которых не может быть выбран в качестве типа поля базы данных, например, графические изображения.

Создание и обновление структур данных на основе метаданных

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

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

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

Например, для того, чтобы в справочнике сотрудников появилась возможность хранить сведения о составе семьи сотрудника, разработчику «1С:Предприятия 8» не нужно создавать в базе данных специальную новую таблицу, задавать правила, по которым данные, хранящиеся в этой таблице, будут связаны с данными из основной таблицы, программировать алгоритмы совместного доступа к данным этих таблиц, создавать алгоритмы проверки прав доступа к данным, находящимся в подчиненной таблице и пр.

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

Объектный / табличный доступ к данным

Штатной возможностью «1С:Предприятия 8» является поддержка двух способов доступа к данным — объектного (для чтения и записи) и табличного (для чтения).

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

Работа с базой данных

При манипулировании данными в объектной модели обеспечивается сохранение целостности объектов, кэширование объектов, вызов соответствующих обработчиков событий и т.д.

В табличной модели все множество объектов того или иного класса представляется как совокупность связанных между собой таблиц, к которым можно обращаться при помощи запросов — как к отдельной таблице, так и к нескольким таблицам во взаимосвязи:

Работа с базой данных

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

История данных

История данных — это один из механизмов платформы. Он компактно хранит историю изменения прикладных данных пользователями. С его помощью можно гибко анализировать изменения данных, сравнивать разные версии и восстанавливать данные в то состояние, которое они имели в выбранной версии.

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

Сценарии использования

История данных может использоваться, например, в следующих сценариях:

  • товар продали контрагенту со слишком большой скидкой, и теперь нужно понять, кто установил такую скидку,
  • цена товара выглядит правильной, но в прошлом была продажа этого товара по более низкой цене. Нужно выяснить, кто изменил цену, а затем вернул её в прежнее значение,
  • в текущий момент значение некоторого реквизита в учётной системе установлено так, что это привело к негативным последствиям. Необходимо выяснить, когда было установлено именно это значение, и кто из пользователей его установил,
  • узнать все изменения, которые выполнял определённый пользователь, который один раз сделал что-то неправильно. Потому что в других случаях он мог допустить аналогичную ошибку,
  • после того, как найдены все неподходящие изменения, необходимо восстановить предыдущее, правильное, состояние данных, или даже восстановить данные, которые были непосредственно удалены.

История изменений по объекту

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

История данных

В колонке Источник изменений может быть указан также узел плана обмена, если изменение было выполнено в узле, и попало в эту базу в результате обмена данными. В этом списке, в колонке Комментарий, можно указать произвольный комментарий, который поможет в расследовании каких-то ситуаций.

Отбор версий

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

История данных

Отчет о данных версии

Отчет позволяет просмотреть данные любой версии. В этом отчете подсвечиваются значения, измененные по отношению к предыдущей версии.

История данных

Отчет о разнице между версиями

Существует возможность сравнить между собой две произвольные версии. В этом отчете подсвечиваются добавленные, измененные и удаленные значения.

История данных

Программный интерфейс

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

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

Что такое данные 1с

В 1С реализованы две модели представления данных – объектное и табличное. При этом объектное представление данных реализует принципы объектно-ориентированной модели.

Как минимум два раздела в экзамене 1С Профессионал по платформе посвящены этой тематике.

Хотите узнать про это?

Что такое данные 1С

Как мы узнали в предыдущем уроке – конфигурация 1С состоит из объектов метаданных. Объекты 1С есть в режиме Конфигуратора. Там это – шаблон, описывающий свойства объекта. Например, документ «Поступление товаров».

В режиме Предприятие пользователи заполняют этот шаблон множество раз. Соответственно появляются множество документов: «Поступление товаров №1 от 10 января», «Поступление товаров №2 от 12 января» и т.д.

Все введенные пользователем документы, справочники в режиме Предприятие в целом – это данные 1С. Данные 1С хранятся в базе данных 1С (т.е. в базе с данными 1С).

Что такое модели представления данных

Я говорю «один». Это цифра. Она одна как на нее не посмотри, и от этого она не изменится.

Однако я знаю несколько вариантов представления этих данных:

В других алфавитах существуют еще модели представления данных «один».

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

Представление данных 1С для пользователя

Для пользователя практически любой объект 1С является набором полей (и таблиц, если они есть у объекта).

Например, я хочу ввести в 1С товар «Лопата». Для меня это значит, что я в справочнике открою форму справочника товаров и буду заполнять поля:

  • Наименование = Лопата
  • Вид номенклатуры = Товар
  • Страна происхождения = Россия
  • И т.п.

Аналогично с документом или другим объектом 1С.

Таким образом пользовательское представление данных 1С – это набор полей, который нужно заполнить. Пример на картинке.

Среди множества полей объекта, есть специальные поля, значение которых должно быть уникальное (обычно), чтобы отличить один элемент данных от другого. Такие поля можно называть поля «уникальной идентификации».

У разных объектов 1С такие поля разные:

  • Документы – номер и дата
  • Справочники и большинство других объектов – код и наименование
  • Регистры – произвольный набор полей, которые назначает программист, их называют «измерения регистра».

Когда пользователь говорит «У меня задвоился справочник», это может значить следующее:

  • Введено два разных элемента справочника с одинаковым заполнением полей
  • Введено два разных элемента справочника, у которых поля заполнены по разному, но поля уникальной идентификации заполнены одинаково.

Методы / функции объектов 1С

Термин «Метод» или «Функция» объекта 1С означает, что есть заранее запрограммированное действие, которое может быть выполнено. Действие может быть запущено, например, с помощью нажатию на кнопку на форме объекта. Или программированием на языке 1С «вызова» (запуска) этого действия.

Методы бывают «стандартные» — то есть они уже есть в платформе 1С и их не нужно программировать, их сразу можно запустить. Методы бывают «не стандартные», то есть программист 1С придумал и запрограммировал такое действие на языке 1С.

Пример таких методов у объекта 1С «Документ»:

  • СоздатьДокумент() – стандартный метод, создает новый документ
  • ОбработкаПроведения() – не стандартный метод, программист 1С должен написать программу, которая должна быть выполнена при вызове этого метода.

Проголосовать за этот пост:

Формат хранения данных 1С

Сейчас, когда речь заходит о системе 1С, зачастую под этим подразумевается версия платформы «1С:Предприятие 8» (последняя рабочая версия технологической платформы на текущий момент — 8.3). Рассмотрим ниже методику хранения данных в ней.

База данных 1С может использоваться в файловом режиме, с хранением базы в виде файла, или в клиент-серверном режиме с хранением баз на сервере SQL.

Предпосылки перехода БД на формат хранения данных SQL:

  1. Количество пользователей;
  2. Объем базы данных;
  3. Тип самой конфигурации.

Нужно отметить, что для легального использования 1С клиент-серверный режим потребует дополнительного приобретения лицензии на сервер «1С:Предприятия 8».

Также со стороны операционной системы сервера должны быть установлены либо PostgreSQL, либо MS SQL.

Добавить комментарий

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