Типы данных в 1С 8.3

Объектные и необъектные данные

Все данные в 1С можно поделить на 2 вида:

  • Объектные данные
  • Необъектные данные

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

Примеры объектных данных:

  • Справочник
  • Документ
  • План видов характеристик
  • План счетов
  • План видов расчета
  • План обмена
  • Бизнес-процесс
  • Задача

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

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

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

Примеры необъектных данных:

  • Константа
  • Последовательность
  • Регистр сведений
  • Регистр накопления
  • Регистр бухгалтерии
  • Регистр расчета
  • Перерасчет

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

Ссылка и Объект

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

Пустая ссылка — это ссылка, которой не соответствует ни один объект базы данных.

Ссылка доступна только для объектных данных.

В интерфейсе ссылка имеет свое представление, которое можно настроить в конфигураторе. Для справочника это может быть код или наименование:

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

Объект можно получить:

  • С помощью менеджера объекта методом СоздатьЭлемент или СоздатьДокумент:

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

  • Через ссылку с помощью метода ПолучитьОбъект:

  • Из выборки методом ПолучитьОбъект. Выборка — это специальный тип данных, который позволяет считывать все данные объекта порциями. Например:

В данном примере на каждой итерации цикла из выборки будет получен очередной объект базы данных.

Для необъектных данных используется Набор записей.

Типы данных

Типы данных, определенные на уровне платформы

  • Примитивные типы
  • Универсальные коллекции
  • Общие типы, например Запрос, ХранилищеЗначения, Файл и т.п.
  • Интерфейсные типы — это Форма и ЭлементыФормы.

Типы данных, определенные в конкретном прикладном решении

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

При создании нового объекта конфигурации автоматически создаются новые типы:

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

Дополнительные типы:

  • константа: КонстантаМенеджерЗначения и КонстантыНабор
  • план счетов: ПланСчетовВидыСубконто, ПланСчетовВидыСубконтоСтрока
  • план видов расчета: ВедущиеВидыРасчета, ВедущиеВидыРасчетаСтрока, ВытесняющиеВидыРасчета, ВытесняющиеВидыРасчетаСтрока,
    БазовыеВидыРасчета, БазовыеВидыРасчетаСтрока
  • регистр сведений: РегистрСведенийМенеджерЗаписи
  • регистр бухгалтерии: РегистрБухгалтерииСубконто

Для примера добавим в конфигурацию два справочника: Номенклатура и Контрагенты. У справочника Номенклатура добавим реквизит Поставщик. В свойствах реквизита при выборе типа, помимо примитивных и общих типов будут доступны два новых типа: СправочникСсылка.Номенклатура и СправочникСсылка.Контрагент:

Составной тип данных

Если в окне выбора типа данных установить флаг «Составной тип данных», то такой реквизит сможет хранить значения нескольких типов данных. Например, установим для реквизита Поставщик галку «Составной тип данных» и укажем 2 типа: СправочникСсылка.Номенклатура и СправочникСсылка.Контрагент.

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

Тип СправочникСсылка позволяет сохранить в таком реквизите ссылку на любой тип справочника. Если добавить в конфигурацию новый справочник «Физические лица», то при текущей настройки его нельзя будет записывать в реквизит «Поставщик». Однако, если выбрать тип СправочникСсылка, то такой реквизит может хранить ссылку на любой тип справочника, в том числе на те справочники, которые могут быть добавлены в конфигурацию после настройки типа данного реквизита. При запуске конфигурации тип СправочникСсылка преобразуется в составной тип данных, который включает в себя все справочники.

Тип ЛюбаяСсылка позволяет хранить ссылки на любые объектные данные. То есть в одном реквизите можно будет сохранить как ссылку на справочники Контрагенты и Номенклатура, так и на любой вид документов, планов видов характеристик и т.п.

Понравилась статья? Поделиться с друзьями:
Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok