Объектные и необъектные данные
Все данные в 1С можно поделить на 2 вида:
- Объектные данные
- Необъектные данные
Объектные данные имеют уникальный идентификатор. С помощью данного идентификатора можно обращаться к совокупности всех таблиц объекта как к единому целому.
Примеры объектных данных:
- Справочник
- Документ
- План видов характеристик
- План счетов
- План видов расчета
- План обмена
- Бизнес-процесс
- Задача
Для объектных данных в базе данных создается основная таблица, в которой хранятся все реквизиты объекта, а также по одной таблицы для каждой табличной части. Между собой таблицы связываются по уникальному идентификатору, который хранится в служебном реквизите «Ссылка».
Уникальный идентификатор присваивается при записи объекта в базу данных. Нельзя создать два объекта одного типа с одним идентификатором. Если удалить объект, а потом создать новый с такими же значениями всех реквизитов, это все равно будет другой объект, с новым уникальным идентификатором.
Необъектные данные хранятся как набор записей в таблице. У них нет уникального идентификатора. Если удалить записи из таблицы, а потом создать с таким же значениями, то это будет тот же самый набор записей.
Примеры необъектных данных:
- Константа
- Последовательность
- Регистр сведений
- Регистр накопления
- Регистр бухгалтерии
- Регистр расчета
- Перерасчет
Все записи, кроме константы и независимого регистра сведений должны быть подчинены регистратору. В роли регистратора выступает документ. Набор записей, подчиненный регистратору называется движения документа.
Ссылка и Объект
Ссылка - это внутренний уникальный идентификатор, который хранится в поле «Ссылка» базы данных. Ссылка одного вида справочника (документа или любого другого вида объектных данных) никогда не будет равна ссылке другого вида справочника.
Пустая ссылка - это ссылка, которой не соответствует ни один объект базы данных.
Ссылка доступна только для объектных данных.
В интерфейсе ссылка имеет свое представление, которое можно настроить в конфигураторе. Для справочника это может быть код или наименование:
Объект - это совокупность записей основной таблицы и записей табличных частей. Объект используется для записи в базу данных. Также через объект можно читать данные из базы. Объект доступен только для объектных данных.
Объект можно получить:
- С помощью менеджера объекта методом СоздатьЭлемент или СоздатьДокумент:
НовыйОбъект = Справочники.Номенклатура.СоздатьЭлемент();
НовыйДокумент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
Будет создан новый экземпляр программного объекта, которому не соответствует ни один объект базы данных. При записи в базу данных будет создана новая запись.
- Через ссылку с помощью метода ПолучитьОбъект:
СправочникОбъект = СсылкаНаСправочник.ПолучитьОбъект();
- Из выборки методом ПолучитьОбъект. Выборка - это специальный тип данных, который позволяет считывать все данные объекта порциями. Например:
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
СправочникОбъект = Выборка.ПолучитьОбъект();
КонецЦикла;
В данном примере на каждой итерации цикла из выборки будет получен очередной объект базы данных.
Для необъектных данных используется Набор записей.
Типы данных
Типы данных, определенные на уровне платформы
- Примитивные типы
- Универсальные коллекции
- Общие типы, например Запрос, ХранилищеЗначения, Файл и т.п.
- Интерфейсные типы - это Форма и ЭлементыФормы.
Типы данных, определенные в конкретном прикладном решении
Это все прикладные типы: справочники, документы, регистры и т.п. На уровне платформы определены основные классы. Каждый класс имеет свою базовую функциональность. Новые объекты наследуют базовую функциональность, а также могут добавлять свою функциональность.
При создании нового объекта конфигурации автоматически создаются новые типы:
- для константы и критерия отбора это только менеджер
- Для журнала документов: менеджер и выборка
- перечисление: менеджер и ссылка
- справочник, документ, план видов характеристик, план счетов, план видов расчета, план обмена, бизнес процесс и задача: менеджер, выборка, ссылка, объект
- отчет и обработка: менеджер и объект
- последовательность и перерасчет: менеджер, набор записей, запись
- регистры сведений, регистры накопления, регистры бухгалтерии, регистры расчета: менеджер, выборка, набор записей, запись, ключ записи.
Дополнительные типы:
- константа: КонстантаМенеджерЗначения и КонстантыНабор
- план счетов: ПланСчетовВидыСубконто, ПланСчетовВидыСубконтоСтрока
- план видов расчета: ВедущиеВидыРасчета, ВедущиеВидыРасчетаСтрока, ВытесняющиеВидыРасчета, ВытесняющиеВидыРасчетаСтрока,
- БазовыеВидыРасчета, БазовыеВидыРасчетаСтрока
- регистр сведений: РегистрСведенийМенеджерЗаписи
- регистр бухгалтерии: РегистрБухгалтерииСубконто
Для примера добавим в конфигурацию два справочника: Номенклатура и Контрагенты. У справочника Номенклатура добавим реквизит Поставщик. В свойствах реквизита при выборе типа, помимо примитивных и общих типов будут доступны два новых типа: СправочникСсылка.Номенклатура и СправочникСсылка.Контрагент:
Составной тип данных
Если в окне выбора типа данных установить флаг «Составной тип данных», то такой реквизит сможет хранить значения нескольких типов данных. Например, установим для реквизита Поставщик галку «Составной тип данных» и укажем 2 типа: СправочникСсылка.Номенклатура и СправочникСсылка.Контрагент.
Теперь в данном реквизите можно будет сохранить как ссылку на номенклатуру, так и ссылку на контрагента.
Тип СправочникСсылка позволяет сохранить в таком реквизите ссылку на любой тип справочника. Если добавить в конфигурацию новый справочник «Физические лица», то при текущей настройки его нельзя будет записывать в реквизит «Поставщик». Однако, если выбрать тип СправочникСсылка, то такой реквизит может хранить ссылку на любой тип справочника, в том числе на те справочники, которые могут быть добавлены в конфигурацию после настройки типа данного реквизита. При запуске конфигурации тип СправочникСсылка преобразуется в составной тип данных, который включает в себя все справочники.
Тип ЛюбаяСсылка позволяет хранить ссылки на любые объектные данные. То есть в одном реквизите можно будет сохранить как ссылку на справочники Контрагенты и Номенклатура, так и на любой вид документов, планов видов характеристик и т.п.
Смотрите также:
Электронный учебник по по программированию в 1С Рекомендации по изучению программирования 1С с нуля Программное решение для сдачи и подготовки к экзаменам Программирование в 1С 8.3 с нуля - краткий самоучитель Комплексная подготовка программистов 1С:Предприятие 8.2 Сайты с уроками программирования и со справочниками Youtube-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки