Лекція 3. Типи даних. Оголошення змінних.

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

Вбудована мова системи 1С: Підприємство не є жорстко типізована. Тип змінної визначається її значенням. У мові підтримуються наступні базові (стандартні) типи даних:
• Число;
• Рядок;
• Дата.

Значення типу Дата представляється у форматі "дд.мм.рр".

Особливе місце у мові займають агрегатні типи даних. Змінні цих типів даних - це об'єкти, що мають свої властивості й методи. Типова послідовність роботи з об'єктом агрегатного типу даних виглядає наступним чином:
• за допомогою функції СоздатьОб'ект () створюється об'єкт агрегатного типу даних, і якою-небудь змінною присвоюється посилання на нього;
• об'єкт позиціонується на потрібному елементі даних;
• виконуються різні маніпуляції з об'єктом агрегатного типу даних;

• у випадку, коли об'єкт більше не потрібен, він може бути відключений від змінної за допомогою надання змінній якого-небудь значення базового типу, зазвичай числа 0. Від'єднання об'єкта виконувати не обов'язково.

Розберемо цю послідовність на конкретному прикладі. Припустимо, що нам потрібно знайти інформацію про конкретного співробітника нашого підприємства. Для вирішення завдання створимо об'єкт типу Справочник.Сотрудники за допомогою функції СоздатьОбъект().


 НашСотрудник = СоздатьОбъект("Справочник.Сотрудники");


Далі потрібно позиціонувати створений об'єкт на конкретному елементі даних.


 НашСотрудник.НайтиПоНаименованию("Иванов"); 

Після цього можна виконувати будь-які дії із створеним об'єктом, який містить вже інформацію про співробітника на прізвище Іванов. Після виконання необхідної обробки потрібно від'єднати об'єкт. Для цього досить присвоїти об'єкту значення 0.


 НашСотрудник=0;


Видалення створених об'єктів проводиться системою в момент, коли не залишається жодної змінної, яка містить посилання на цей об'єкт.

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

XBase - засіб для роботи з файлами баз даних DBF формату.

Агрегатні типи даних - це об'єкти, що мають свої властивості (атрибути) і методи. Деякі властивості об'єктів доступні тільки для читання.

Звернення до властивостей і методів відбувається згідно з правилами:


 ИмяОбъекта.Свойство 
 ИмяОбъекта.Метод() 


Можливо також звернення до властивостей і методів без вказівки імені об'єкта втому випадку, якщо об'єкт агрегатного типу входить в набір безпосередньо доступних програмного модулю.

У мові змінні не обов'язково оголошувати в явному вигляді. Не явним визначенням змінної є перша її поява в лівій частині оператора присвоювання. Явне оголошення змінної проводиться за допомогою оператора Перем. Тип змінної визначається типом присвоєного їй значення. Змінні можуть об'єднуватися вмасиви. У даній реалізації програми (версія 7.7) передбачені тільки одномірнімасиви. Для явного оголошення змінних використовується наступний оператор:

 Перем ИмяПерем РазмерМассива [Экспорт]; 

Ключове слово Экспорт використовується тільки в глобальному модулі для вказівки, що оголошується змінна, яка повинна бути доступна для інших модулів. У разі оголошення масиву потрібно у квадратних дужках вказати розмір масиву, який повинен бути цілим позитивним числом. Не допускається використання змінної як розмір масиву. Наприклад:


 Перем МояПеременная;
 Перем МойМассив[10];

Область видимості змінних, як і в інших мовах, визначається місцем оголошення змінної. Можливі три випадки:
• У розділі визначення змінних глобального програмного модуля. Якщо змінна визначена з ключовим словом Експорт, вона є глобальною змінною і видно в будь-якій процедурі чи функції будь-якого програмного модуля конфігурації.
• У розділі визначення змінних програмного модуля. Такі змінні доступні тільки в межах того програмного модуля, в якому оголошені.
• У розділі визначення змінних процедури або функції. Це локальні змінні.