Інтернет Windows Android

Структура програмного модуля в 1c складається з. загальні модулі

Всім привіт.
У цій статті розглянемо модулі платформи 1С Підприємства 8.2, Їх стало більше ніж у версії 8.1 і розібратися часом буває не так вже й легко.
приклад:

Якщо подивитися в довідку 1С то побачимо наступне визначення Модуля:
Модулем називається програма на вбудованій мові системи 1С: Підприємство.

А якщо простіше то: В модулях 1Сміститься виконуваний код, який необхідний для того щоб будь-яким чином відреагувати на дії системи або користувача, коли візуальних засобів недостатньо для опису взаємодії об'єктів в конфігураторі. Також в врограммних модулях можна описувати власні методи.

Кожен рядок коду знаходиться в будь-якому модулі, ця відмінність від 1С7.7, де програмний код міг розташовуватися і в осередках таблиць макета і у властивостях елементів форми.

Перерахуємо модулі, які знаходяться в 1С 8.2

Модулі платформи 1С Підприємства 8.2:

Модуль керованого застосування
Модуль звичайного застосування
Модуль зовнішнього з'єднання
модулем сеансу
загальні модулі
модуль об'єкта
модуль форми
Модуль менеджера об'єкта
Модуль менеджера значень
Модулі наборів записів

Основні розділи модуля:
1. Розділ опису локальних змінних даного модуля, Можна вказувати директиву компіляції (існує не для всіх модулів).
2. Розділ опису процедур і функції. Якщо не писати директиву компіляції то за замовчуванням вона - & НаСервере, порядок процедур і функцій не має ніякого значення.
3. Розділ основної програми модуля (містяться деякі оператори). Даний розділ виконується при зверненні до модуля (існує не для всіх модулів).

Не всі модулі містять розділи опису змінних і розділ основної програми.
Наприклад: Загальний модуль або Модуль сеансу.

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

Класифікація модулів:
1. Серверні. Компілюються тільки на стороні сервера - модуль об'єкта, модуль менеджера, модуль набору записів.
2. Клієнтські. Компілюються тільки на клієнті, наприклад модуль керованого застосування.
3. Комбіновані. Можуть компілюватиметься і на сервері і на клієнті - модуль форми і загальні модулі.

Місце компіляції модулів:
1. Тонкий клієнт (Надає можливість використання веб-браузера).
2. Сервер.
3. Товстий клієнт.

Як видно модулів не так вже й мало, практично у кожного об'єкта конфігурації є модуль який має своє призначення.

Призначення кожного модуля 1С 8.2

постовий: Задумалися купити 1С Підприємство і не знайте у кого? Компанія ЛБС входить в 20 кращих 1С: Франчайзі. Займається автоматизацією обліку на базі продуктів «1С». Купіть 1с продукти у ЛБС і отримаєте якісний супровід і обслуговування 1С.

P.S. Посмійтеся над анекдотот від Лукашенка))

У нових версіях конфігурацій системи 1С: Підприємство багато функцій і процедури перемістилися з модулів об'єктів (документів, довідників і т.д.) в модулі менеджера. Розглянемо відмінності між цими двома модулями.

Відповідно до теорії об'єктно-орієнтованого програмування, методи об'єктів діляться на дві групи: статичні і прості. Прості методи мають доступ тільки до конкретного екземпляру класу. Статичні методи не мають доступу до даних об'єктів, а працюють з класом в цілому.

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

модуль об'єкта може мати процедури і функції, які можна використовувати ззовні. Для цього така процедура або функція позначається словом Експорт.

Функція НоваяФункція () Експорт

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



Пер \u003d Об'єкт. НоваяФункція ();

Аналогічно можна створювати нові змінні, які можуть бути використані з різних об'єктів конфігурації.

Перем НоваяПеременная Експорт

ЕлементСправочніка \u003d Довідники. Номенклатура. НайтіПоКоду ( "000000001");
Об'єкт \u003d ЕлементСправочніка. ПолучітьОб'ект ();
Об'єкт. НоваяПеременная \u003d);

Таким чином можна доповнювати стандартні процедури, функції і властивості (змінні) об'єктів. Такі змінні є динамічними, вони не зберігаються в інформаційній базі і існують тільки під час роботи з отриманим об'єктом.

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

Процедура НоваяПроцедура () Експорт

ЕлементСправочніка \u003d Довідники. Номенклатура. НоваяПроцедура ();

Або для змінної:

Перем НоваяПеременная Експорт

ЕлементСправочніка \u003d Довідники. Номенклатура. НоваяПеременная;

Розглянемо відмінності в застосуванні модуля об'єкта і модуля менеджера на прикладі процедури створення друкованої форми документа.

При використанні модуля об'єкта код буде виглядати наступним чином:

Функція ПечатьДокумента (Посилання) Експорт
// В цю функцію необхідно передати посилання на конкретний документ
Повернення ТабДок;
КонецФункціі

На формі документа потрібно створити процедуру, яка передавала б в функцію друку посилання на документ.

& НаКліенте
Процедура Друк (Команда)
ТабДок \u003d ПечатьНаСервере ();
ТабДок. Показати ();
КонецПроцедури
&На сервері
Функція ПечатьНаСервере ()
Док \u003d РеквізітФормиВЗначеніе ( "Об'єкт");
Повернення Док. ПечатьДокумента (Об'єкт. Посилання);
КонецФункціі

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

З точки зору продуктивності набагато краще використовувати модуль менеджера, коли це можливо. У нашому прикладі рішення задачі буде виглядати наступним чином.
Функція ПечатьНаСервере ()
Повернення Документи. НашДокумент. ПечатьДокумента (МассівСсилок);
КонецФункціі

У разі використання модуля менеджера, процедуру друку можна викликати як з форми документа, так і з форми списку, передаючи в масиві посилання на кілька документів. При цьому системі не потрібно отримувати кожен документ з масиву, що значно економить системні ресурси.

Так коли ж використовувати модуль об'єкта, а коли модуль менеджера?

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

Друк (Ctrl + P)

Об'єкти, розташовані в гілки дерева конфігурації Загальні модулі, призначені для розміщення в них текстів функцій і процедур, які можуть викликатися з будь-якого іншого модуля конфігурації.
УВАГА! Загальний модуль може містити тільки визначення процедур і функцій.
Процедури і функції загального модуля, для яких в заголовках вказано ключове слово Експорт, є одними із складових частин глобального контексту. Детальніше про написання процедур в загальному модулі можна дізнатися в розділах «Формат вихідних текстів програмних модулів» і «Оператори» довідки по вбудованому мови.
Для редагування загального модуля необхідно в палітрі властивостей об'єкта типу Загальні модулі вікна Конфігурація у властивості Модуль клацнути мишею посилання Відкрити. Текст загального модуля буде виданий для редагування в редакторі текстів системи «1С: Підприємство» в режимі редагування тексту програмного модуля.
Загальний модуль, будучи частиною конфігурації, зберігається тільки в складі конфігурації.
Властивість Глобальний визначає, чи є експортовані методи загального модуля частиною глобального контексту.
Якщо властивість Глобальний встановлено в значення Істина, то експортовані методи загального модуля доступні як методи глобального контексту.
Якщо властивість Глобальний встановлено в значення Брехня, то в глобальному контексті створюється властивість з ім'ям, відповідним імені загального модуля в метаданих. Дана властивість є тільки для читання. Значенням даного властивості є об'єкт ОбщійМодуль. через даний об'єкт доступні експортовані методи даного загального модуля. Таким чином, звернення до методів неглобальні загальних модулів виглядає як XXXXX.YYYYY, де XXXXX - це ім'я властивості, відповідне контексту загального модуля, а YYYYY - ім'я експортованого методу загального модуля.
приклад:

РаботаСТорговимОборудованіем.ПодключітьСканерШтріхкодов ();

Різні контекст і загальні модулі

За допомогою властивостей загальних модулів і інструкцій препроцесора можна організувати виконання різних методів загальних модулів в потрібному контексті.
Кожна властивість загального модуля відповідає за можливість компіляції (і виконання) загального модуля в тому чи іншому контексті.
В наявності є таке властивості, що відповідають за контекст, в якому доступні методи загального модуля:
клієнт ( звичайна програма) - методи загального модуля будуть доступні для товстого клієнта в режимі звичайного застосування;
● - методи загального модуля будуть доступні для тонкого клієнта, Веб-клієнта, а також для товстого клієнта в
режимі керованого застосування;
● Сервер - методи загального модуля будуть доступні на сервері;
Зовнішнє з'єднання - методи загального модуля будуть доступні у зовнішньому з'єднанні.
Якщо встановлюються одночасно кілька властивостей, то це означає, що методи загального модуля будуть доступні в декількох контекстах.
Якщо у загального модуля встановлено властивість Сервер і ще якесь властивість, то це означає, що загальний модуль буде доступний одночасно на сервері і в обраному клієнта. При цьому необхідно розуміти, що фактично це буде кілька варіантів скомпільованої коду (по числу обраних клієнтів і власне для сервера).
При цьому якщо метод, розташований в такому загальному модулі, викликається з боку клієнта, то буде використана клієнтська копія загального модуля, а якщо з сервера - серверна. В цьому випадку за допомогою директив препроцесора (докладніше див. Тут) можна «захистити» сервер від того коду, який на ньому не може виконуватися.
Розглянемо приклад. Загалом модулі (який може виконуватися на тонкому клієнті і на сервері) є метод, який має кілька різну поведінку на стороні тонкого клієнта і на стороні сервера. Подивимося, як це можна зробити:



# Якщо ТонкійКліент Тоді
// Покажемо попередження
ПоказатьОповещеніеПользователя( "На клієнті");
# КонецЕсли
КонецПроцедури
Тоді на стороні сервера код придбає такий вигляд:
процедура МетодОбщегоМодуля () експорт
// Тут розміщується різний важливий код
КонецПроцедури
А на стороні тонкого клієнта код буде мати наступний вигляд:
Процедура МетодОбщегоМодуля () Експорт
// Тут розміщується різний важливий код
// Покажемо попередження
ПоказатьОповещеніеПользователя ( "На клієнті");
КонецПроцедури

Для передачі управління з клієнта на сервер існує кілька способів:
● викликати метод серверного загального модуля;
● в модулі форми або команди викликати метод, який передує директивами компіляції & НаСервере, & НаСервереБезКонтекста

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

Повторне використання значень, що повертаються

Якщо загальний модуль не є глобальним, то стає доступно властивість Повторне використання значень, що повертаються. Це властивість може набувати таких значень:
● Не використовуйте - повторне використання значень, що повертаються для функцій цього загального модуля не використовується.
● Під час дзвінка і На час сеансу - для загального модуля використовується метод визначення повторного використання даних. Суть цього методу полягає в тому, що в ході виконання коду система запам'ятовує параметри і результат роботи функцій після першого виклику функції. При повторному виклику функції з такими ж параметрами, відбувається повернення запомненного значення (з першого виклику) без виконання самої функції. Якщо функція під час свого виконання змінює значення параметрів, то повторний виклик функції не буде це робити.
Можна виділити наступні особливості збереження результатів виклику:
● якщо функція виконується на сервері і викликається з серверного коду, то значення параметрів і результат виклику запам'ятовуються для поточного сеансу на стороні сервера;
● якщо функція виконується на товстому або тонкому клієнті, то значення параметрів і результатів виклику запам'ятовуються на стороні клієнта;
● якщо функція виконується на стороні сервера, а викликається з клієнтського коду, то значення параметрів виклику запам'ятовуються і на стороні клієнта, і на стороні сервера (для поточного сеансу).
Збережені значення видаляються:
● якщо властивість встановлено в значення Під час дзвінка:
● на стороні сервера - при поверненні управління з сервера;
● на стороні клієнта - при завершенні роботи процедури або функції вбудованого мови верхнього рівня (Викликаної системою з інтерфейсу, а не з іншої процедури або функції вбудованого мови);
● якщо властивість загального модуля встановлено в значення На час сеансу:
● на стороні сервера - при закінченні сеансу;
● на стороні клієнта - при закритті клієнтського додатку.
Збережені значення будуть видалені:
● на сервері, в товстому клієнті, в зовнішньому з'єднанні, в тонкому клієнті і в веб-клієнті зі звичайною швидкістю з'єднання - через 20 хвилин після обчислення зберігається значення або через 6 хвилин після останнього використання;
● в тонкому клієнті і веб-клієнта з низькою швидкістю з'єднання - через 20 хвилин після обчислення зберігається значення;
● при нестачі оперативної пам'яті в робочому процесі сервера;
● при перезапуску робочого процесу;
● при перемиканні клієнта на інший робочий процес.
Після видалення значень виклик функції, що експортується виконується як при першому виклику.
На виконання процедур дане властивість загальних модулів не впливає - процедури виконуються завжди.

Якщо у загального модуля встановлено повторне використання значень, що повертаються, то на типи параметрів експортованих функції накладається ряд обмежень. Типи параметрів можуть бути тільки:
примітивними типами (Не визначено, NULL, Булево, Число, Рядок, Дата).
● Будь-якими посиланнями на об'єкти бази даних.
● Структурами зі значеннями властивостей перерахованих вище типів. В цьому випадку ідентичність параметрів контролюється «по вмісту» структур.
Якщо продукція, що експортується функція повертає який-небудь об'єкт, то фактично повертається посилання на об'єкт, що зберігається в кеші. Якщо після отримання цього посилання станеться зміна стану об'єкта, то наступний виклик тій же самій функції призведе до повернення посилання на вже змінений об'єкт без фактичного виконання функції. Така поведінка буде спостерігатися до видалення збереженого значення (по будь-якої причини). Іншими словами - зміна стану об'єкта, отриманого в результаті виклику функції із загального модуля з повторним використанням значень, що повертаються, не є підставою для фактичного виклику функції. Також слід пам'ятати, що кеш повертаються об'єктів індиферентний до
станом привілейованих режиму в момент виклику функції з повторним використанням значень, що повертаються. Ця особливість може привести до наступної особливості поведінки:
● Фактичне виконання виклику функції з повторним використанням значень, що повертаються (перший виклик) виконувалося при включеному привілейованих режимі.
● При виконанні функції був отриманий об'єкт, який не може бути отриманий з відключеним привілейованих режимом.
● Наступні виклики функції виконувалися без установки привілейованих режиму.
● Однак, до моменту очищення кеша повертаються об'єктів або повторного фактичного виклику, функція буде повертати формально недоступний об'єкт.
● Також вірно і зворотне поведінка, коли перший виклик виконується без установки привілейованих режиму, а в привілейований режимі не повертається об'єкт, який міг бути отриманий в привілейований режим.

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

Модуль призначений для інтеграції з рішеннями, що містять конфігурацію "ERP Управління підприємством 2". Незамінний для проектно-орієнтованих підприємств і організацій!

Функціональні можливості системи:
  • Управління проектами
  • Планування змісту і термінів проекту
  • Планування обсягів і поставок проекту
  • Планування субпідрядів і матеріальних витрат проекту
  • Планування персоналу і трудовитрат проекту
  • Управління завантаженням і робочим часом по проектам
  • Реєстрація фактичних даних і подій проекту
  • Управління фінансами проектів
  • Диспетчеризація проектних робіт
  • Версіонування проекту
  • План-фактний аналіз проекту
  • Управління комунікаціями проекту
  • управління знаннями
  • Оцінка проекту і розрахунок ціни контракту
  • Управління проектними договорами
  • Управління документами проекту
  • Управління ризиками проекту
  • Управління портфелями і програмами проектів
  • Управління ресурсами проектної організації

Дані проекту можна ввести в систему декількома способами:

  1. вручну через панель управління проектом;
  2. завантажити / вивантажити дані з / в MS Project;
  3. завантажити дані з шаблону, що зберігається в системі;
  4. комбінованим способом: частина вручну, частина з MS Project.

Ви можете планувати роботи різними способами:

  • щоб проектний керівник керував планом проекту, а функціональний - виконанням робіт. Трудові ресурси розподіляються з урахуванням виконуваних ролей;
  • проектний керівник управляє планом проекту і виконанням робіт. Трудові ресурси призначаються без урахування ролей.

Візуальний інструментарій системи дозволяє керівнику отримати інформацію про проект в різних уявленнях: табличні, дерево даних, діаграми Ганта, карта проектних віх, мережевий графік. Система дозволяє призначати керівника конкретної проектної задачі, і автоматично її підзадач, відмінного від керівника проекту в цілому.

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

Можливості рішення:
  • ведення розрахунків з орендарями на підставі виставлених рахунків (планована заборгованість), контроль оплати рахунків з аналітикою по об'єктах, послуг і періодів;
  • роздільне призначення і контроль термінів оплати для постійної і змінної частини орендної плати;
  • можливість розрахунку пенею за затримку оплати на підставі як фактичної (за актами), так і планованої (за рахунками) заборгованості;
  • використання довільних формул для розрахунку вартості послуг змінної частини (наприклад, нарахування відсотка з торгового обороту орендаря за різними алгоритмами);
  • використання декількох лічильників обсягів споживання для однієї послуги змінної частини;
  • можливість призначення як індивідуальних, так і єдиних тарифів на послуги змінної частини;
  • управління оглядами об'єктів нерухомості;
  • можливість спільного використання з готуються до випуску рішеннями "ERP Управління будівельною організацією 2.0" і "Модуль 1С: Ріелтор. Управління продажами нерухомості для 1С: ERP" в рамках єдиної конфігурації.
Можливості рішення «Модуль 1C: Управління автотранспортом для 1С: ERP & raquo:
  • Облік замовлень на автотранспорт;
  • Виписка і обробка шляхових листів;
  • Розрахунок нормативного і фактичних витрат палива. Всі алгоритми розрахунку нормативних витрат палива реалізовані відповідно до розпорядження міністерства транспорту від 14 іюля2015 р N НА-80-р. Рішення дозволяє вести обліку витрати палива для автомобілів з необмеженою кількістю устаткування і причепів.
  • Облік надходження, витрати і списання ПММ;
  • Облік номерних шин і акумуляторів;
  • Інтеграція з системами супутникового моніторингу.
  • Розрахунок вироблення в дорожніх листах за різними параметрами. Основні параметри (пробіг, вага вантажу, вантажообіг, час в наряді, простий і т.д.) зумовлені в системі. Використовуючи довідники можна налаштовувати будь-які довільні параметри вироблення і надалі аналізувати цю інформацію;

Будь-яка програма складається з програмного коду, тобто власне з написаних на якій-небудь мові послідовності дій, які повинні бути виконані.

Однак ця сама програма повинна бути десь написана, тобто десь перебувати. У більшості випадків код програми пишеться в звичайних текстових файлів. Різниця тільки в тому, що розширення в них не.txt, а.cpp ілі.php.

Де пишеться програма 1С?

Що таке Модуль 1С?

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

Конфігурація складається з об'єктів 1С, як ми вже розглядали в попередніх уроках. Кожен об'єкт 1С містить в собі вкладені об'єкти, наприклад довідник має кілька форм.

Кожен об'єкт 1С, включаючи деякі вкладені, має свій Модуль - якийсь текстовий файл, який містить програмний код.

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

Таким чином в 1С немає «єдиної» програми. Є набір модулів для написання програмного коду для кожного об'єкта конфігурації 1С.

Як використовуються Модулі 1С?

Всю програму можна грубо поділити на два види:

  • метод об'єкта
  • Реакція на події.

методи. Як ми вже говорили раніше - об'єкт 1С є цілісною структурою, яка включає в себе як дані, так і способи їх обробки. Ці способи - це набір дій (методів), які можна викликати для обробки даних. Приклад такої дії СправочнікОб'ект.Запісать () - записує елемент довідника в базу даних.

Методи багатьох об'єктів 1С можуть бути стандартними (тобто запрограмованими в платформі 1С) і написаними програмістом на мові 1С. За допомогою друге - можна розширювати функціонал об'єктів 1С за своїм бажанням.

події. Події є в безлічі інших засобів розробки. Мета програми не тільки щось обчислити при запуску, але і підтримувати роботу користувача.

Користувача події - користувач натиснув кнопку. У відповідь якась частина коду виконається, здійснивши реакцію на дії користувача.

Системні події - ми записали об'єкт 1С в базу даних. Виникло системна подія «Запис об'єкта». Можливо налаштувати реакцію, яка виникне на події, викликані не користувач (які натиснув на кнопку або щось ще зробив), а самою системою. Яскравий приклад такої події - при запуску програми.

Порядок виконання модулів 1С

У багатьох мовах є таке поняття як «точка входу». Це та сама перша строчка або функція яка буде виконана при запуску програми.

В 1С таких точок входу кілька - на кожен вид клієнта. Тобто при запуску товстого клієнта точка входу одна, при запуску тонкого клієнта - інша. Це дозволяє запрограмувати особливості, різні в різних видах клієнтів.

Точкою входу в відповідному модулі є обробники системного події ПередНачаломРаботиСістеми () і ПріНачалеРаботиСістеми () відповідно (тобто по порядку). Ці функції виконується першими, вони може запустити щось автоматично.

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

Робота з модулями 1С

Виробляється в конфігураторі. Відкрити модуль можна за допомогою вікна Конфігурація.