Лекція 2. Програмний модуль. Процедури і функції.

Матеріал з Фізмат Вікіпедії
Версія від 14:21, 22 грудня 2010, створена Kit av (обговореннявнесок)
(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

1C: Підприємство - універсальна програма. Відмітна особливість її полягає в розділенні процесу настройки і процесу роботи з даними. Налаштування проводиться в частині системи, яку називають Конфігуратор, а безпосередня робота з даними здійснюється в режимі 1С: Підприємство. Конфігурація, тобто налаштування системи, здійснюється на вбудованій мові системи 1С: Підприємство.

На вбудованій мові системи 1C: Підприємство не можна написати програму, виконувану самостійно. Будь-який програмний модуль тут є частина конфігурації всієї системи. Місце розміщення програмних модулів визначається елементом конфігурації, яка є власником даного модуля. Існує тільки один програмний модуль, який належить всій конфігурації в цілому. Це глобальний програмний модуль.

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

Структуру програмного модуля можна розбити на наступні розділи: • розділ визначення змінних; • розділ процедур і функцій; • розділ основної програми.

Для визначення процедури модуля використовується оператор:

Процедура ИмяПроц([Знач] Пар1[=ДефЗнач], ...,
                   [Знач] ПapN[=ДeфЗнaч]) [Экспорт] 
      //Объявления локальных переменных; 
      //Операторы; 
      [Возврат;] 
КонецПроцедуры 


Ключове слово Експорт може зазначатися тільки в глобальному програмному модулі для того, щоб дана процедура була доступною з інших програмних модулів.

Процедура може мати довільне число параметрів, для кожного параметра можна задати значення за замовчуванням. Тип даних у параметрів не вказується. За замовчуванням всі параметри передаються у процедуру за посиланням, тобто вони можуть змінювати свої значення всередині процедури. Якщо немає необхідності міняти значення параметра, то слід перед ним вказати ключове слово Знач. У списку переданих фактичних параметрів при виклику процедури можна опустити будь-який параметр, однак у цьому випадку доведеться ставити розділову кому. Якщо значення параметра при виклику процедури не зазначено, то параметр приймає значення за замовчуванням, якщо він є, або "порожнє"значення(значення невизначеного типу). Процедура закінчує свою роботу при виконанні оператора Возврат, або після виконання всіх операторів процедури.

Аналогічним правилами підпорядковується і визначення функцій програмного модуля.

Функция ИмяФунк([Знач] Пар1[=<ДефЗнач>],...,
                [Знач] <ПарN>[=<ДефЗнач>])[Экспорт] 
    //Объявления локальных переменных; 
    // Операторы;  
    Возврат ВозвращаемоеЗначение; 
КонецФункции 


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


Процедура А(A1, A2) Далее 
Процедура Б() 
   Перем АА, ББ; 
   А(АА, ББ); 
КонецПроцедуры 
Процедура А(A1,A2) 
   A1=1; 
   A2=2; 
КонецПроцедуры