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

Apr 03, 2022 16:57

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

НовыйОбъект = Справочники.Номенклатура.СоздатьЭлемент();

НовыйДокумент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();

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

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

СправочникОбъект = СсылкаНаСправочник.ПолучитьОбъект();

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

Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
СправочникОбъект = Выборка.ПолучитьОбъект();
КонецЦикла;

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

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

Типы данных

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Смотрите также:
Электронный учебник по по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Программное решение для сдачи и подготовки к экзаменам
Программирование в 1С 8.3 с нуля - краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

программирование

Previous post Next post
Up