Визначені типи даних
Платформа 1С: Підприємства 8.0 дозволяє розробнику використовувати різні типи даних. Існує велика кількість типів даних, які визначені на рівні самої платформи. Наприклад, це примітивні типи даних, такі як рядок, число, дата та ін .:
Також, існують більш складні типи даних. Наприклад, платформа підтримує цілий ряд типів, які є універсальними колекції значень: масив, структура, список значень, дерево значень і т.д .:
Крім цього в платформі реалізовані специфічні типи даних, що реалізують ту чи іншу функціональність прикладних рішень: текстовий документ. табличний документ. ХраніліщеЗначенія, ПостроітельОтчета, ПостроітельЗапроса і ін .:
Типи даних, що утворюються в прикладному рішенні
Однак, поряд з типами даних, які визначені на рівні платформи, конкретне прикладне рішення може використовувати унікальні типи даних, що існують тільки в цьому конкретному прикладному рішенні. Причому технологічна платформа 1С: Підприємства 8.0 буде повністю підтримувати роботу з цими типами даних точно так же, як і з типами, які визначені на рівні самої платформи.
Як правило, поява нових типів даних в прикладному рішенні пов'язано з використанням прикладних об'єктів. На рівні технологічної платформи підтримується кілька класів прикладних об'єктів, які самі по собі не можуть бути використані в конкретному прикладному рішенні. Наприклад, можна перерахувати такі класи прикладних об'єктів як Довідники, Документи, Регістри відомостей, Плани видів характеристик та ін.
Для кожного класу прикладних об'єктів визначена відповідна йому базова функціональність: типи таблиць бази даних, які повинні бути створені для зберігання даних, типові форми, типові об'єкти мови, набори прав та ін.
Розробник, створюючи прикладне рішення, не має можливості використовувати ці класи безпосередньо, проте може додати в своє прикладне рішення новий об'єкт конфігурації. успадковує всю функціональність того чи іншого класу:
Наприклад, розробник може додати в своє прикладне рішення новий довідник Номенклатура, який буде наслідувати функціональність класу Довідники, або новий документ КассовийОтчет, який буде наслідувати функціональність класу Документи.
Відразу ж після такого додавання розробнику стають доступні нові типи даних, склад яких визначається приналежністю об'єкта до того чи іншого класу прикладних об'єктів.
Наприклад, після створення нового довідника Номенклатура, стають доступні такі типи даних:
У той же час, після створення нового регістра накопичення ПродажіКомпаніі, склад нових типів даних буде вже іншим:
- РегістрНакопленіяМенеджер.ПродажіКомпаніі;
- РегістрНакопленіяВиборка.ПродажіКомпаніі;
- РегістрНакопленіяСпісок.ПродажіКомпаніі;
- РегістрНакопленіяНаборЗапісей.ПродажіКомпаніі;
- РегістрНакопленіяЗапісь.ПродажіКомпаніі;
- РегістрНакопленіяКлючЗапісі.ПродажіКомпаніі.
Слід ще раз відзначити, що ці типи даних не підтримуються платформою спочатку, і існують тільки в конкретному прикладному рішенні.
Ще один момент, на якому слід акцентувати увагу, найпростіше продемонструвати на прикладі.
Припустимо, в прикладному рішенні створені два нових довідника. Номенклатура і Ціни. Незважаючи на те, що обидва ці об'єкти успадкували функціональність відповідного класу Довідники, і для них в прикладному рішенні був створений один і той же склад типів даних, однойменні типи даних будуть різними типами даних. Наприклад, СправочнікОб'ект.Номенклатура і СправочнікОб'ект.Цени - це різні типи даних.
Так відбувається тому, що розробник може додатково до базової функціональності, успадкованої від відповідного класу, додати свою, особливу для кожного об'єкта конфігурації. Наприклад, обидва згаданих вище довідника можуть містити табличні частини (це успадковано від класу Довідники). Однак для довідника Ціни розробник не створить жодної табличній частині, в той час як для довідника Номенклатура він створить, наприклад, три табличні частини. Очевидно, що структура зберігання даних типу СправочнікОб'ект.Номенклатура буде значно відрізнятися від структури зберігання даних типу СправочнікОб'ект.Цени.