Для удобного просмотра сайта рекомендуется использовать Google Chrome.


Закрытая тема
Страница 1 из 2 1 2 Следующая ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Что такое программный модуль?

  1. #1
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию Что такое программный модуль?

    Что такое программный модуль?

    Программные модули в конфигурации системы 1С:Предприятие не являются самостоятельными программами в общепринятом понимании этого слова, поскольку они являются только частью всей конфигурации. Программный модуль — это текст на встроенном языке, в котором размещены тексты процедур и функций с необходимыми алгоритмами, вызываемые системой во время работы системы в определенные моменты. Поэтому программный модуль не имеет формальных границ своего описания типа: "Начало модуля" — "Конец модуля".
    Место размещения конкретного программного модуля предоставляется конфигуратором в тех точках конфигурации, которые требуют описания специфических алгоритмов функционирования. Эти алгоритмы следует оформлять в виде процедур или функций, которые будут вызваны самой системой в заранее предусмотренных ситуациях (например, при нажатии кнопки в диалоговом окне).
    Каждый отдельный программный модуль воспринимается системой как единое целое, поэтому все процедуры и функции программного модуля выполняются в едином контексте.

  2. #2
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Контекст выполнения программного модуля

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

    Глобальный контекст образуется:
    • значениями свойств и методов глобального контекста;
    • системные перечисления и системные наборы значений (например, КодВозвратаДиалога и Символы).
    Глобальный контекст виден всем программным модулям и определяет общую языковую среду конфигурации.
    Локальный контекст

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

  3. #3
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Виды программных модулей

    Модуль управляемого приложения
    Модуль сеанса
    Модуль внешнего соединения
    Модуль обычного приложения
    Общие модули
    Модули общих объектов
    Модули прикладных объектов
    Модули менеджеров прикладных объектов
    Модули команд (модули общих команд)
    Модули управляемых форм
    Модули форм
    В системе 1С:Предприятие существуют несколько видов программных модулей. Они различаются по месту размещения и доступному контексту.
    Модуль управляемого приложения

    Модуль управляемого приложения располагается в корневом разделе конфигурации. В нем располагаются процедуры-обработчики событий, которые инициализируются при старте и окончании работы системы с установленном в значение "Управляемое приложение" свойства Основной режим запуска. В модуле управляемого приложения возможно объявление переменных, а также объявление и описание процедур и функций, которые будут доступны в любом модуле конфигурации (кроме модуля внешнего соединения). Их доступность также обеспечивается для неглобальных общих модулей с установленным свойством Клиент (управляемое приложение). В контексте модуля управляемого приложения доступны экспортируемые процедуры и функции общих модулей.
    Модуль сеанса

    Модулем сеанса называется модуль, который автоматически выполняется при старте системы 1С:Предприятие 8 в момент загрузки конфигурации.
    Модуль сеанса предназначен для инициализации параметров сеанса и отработки действий, связанных с сеансом работы. Модуль сеанса всегда исполняется в привилегированном режиме в кластере серверов 1С:Предприприятия 8.
    Важно! Модуль сеанса может содержать только определения процедур и функций.
    Модуль сеанса не содержит экспортируемых процедур и функций и может использовать процедуры из общих модулей конфигурации.
    Модуль внешнего соединения

    Модуль внешнего соединения расположен в корневом разделе конфигурации. В нем располагаются процедуры-обработчики событий, которые инициализируются при старте и окончании работы системы в режиме внешнего соединения (СОМ-соединения).
    В модуле внешнего соединения возможно объявление переменных, а также объявление и описание процедур и функций, которые будут доступны для внешнего приложения, а также для неглобальных общих модулей с установленным свойством Внешнее соединение.
    Объекты 1С:Предприятия, доступные извне через COM-соединение:
    • Экспортируемые переменные и процедуры/функции модуля внешнего соединения
    • Экспортируемые переменные и процедуры/функции общих модулей
    • Включение и исключение модулей целиком с помощью установки свойств общих модулей
    • Включение и исключение фрагментов общих модулей с помощью препроцессора
    • Глобальный контекст 1С:Предприятия 8
    • За исключением объектов, жестко связанных с клиентским приложением (ТекстовыйДокумент, ТабличныйДокумент, ...)
    Модуль присутствует только в сессии внешнего соединения.
    В данном режиме характерно полное отсутствие пользовательского интерфейса.
    Модуль обычного приложения

    Модуль обычного приложения располагается в корневом разделе конфигурации. В нем располагаются процедуры-обработчики событий, которые инициализируются при старте и окончании работы системы с установленным в значение "Обычное приложение" свойством Основной режим запуска. В модуле обычного приложения возможно объявление переменных, а также объявление и описание процедур и функций, которые будут доступны в любом модуле конфигурации (кроме модуля внешнего соединения). Их доступность также обеспечивается для неглобальных общих модулей с установленным свойством Клиент (обычное приложение). В контексте модуля обычного приложения доступны экспортируемые процедуры и функции общих модулей.
    Общие модули

    Общие модули располагаются в отдельной ветке дерева метаданных. Основным назначением общих модулей является содержание общих алгоритмов конфигурации, доступных из разных модулей. В общих модулях отсутствует раздел определения переменных и раздел основной программы, то есть они содержат только раздел процедур и функций (см. раздел "Структура программного модуля").
    В любом общем модуле возможно объявление и описание процедур и функций, которые будут доступны в любом модуле конфигурации.
    Если используется клиент–серверный вариант системы 1С:Предприятие 8, то с помощью свойств Клиент (обычное приложение), Клиент (управляемое приложение) и Сервер, а также указаний препроцессору можно организовывать выполнение различных процедур и функций общих модулей на сервере приложения или на клиентском месте.
    Если установлено свойство Клиент (обычное приложение) или Клиент (управляемое приложение), то все процедуры и функции общего модуля могут использоваться в клиентском приложении.
    В контексте неглобального общего модуля с установленным свойством Клиент (обычное приложение) доступны экспортируемые переменные, процедуры и функции модуля обычного приложения.
    В контексте неглобального общего модуля с установленным свойством Клиент (управляемое приложение) доступны экспортируемые переменные, процедуры и функции модуля управляемого приложения.
    Важно! Свойство Клиент (обычное приложение) показывается, если в настройках конфигурации режима запуска установлен режим "Управляемое приложение и обычное приложение".
    Если установлено свойство Сервер, то все процедуры и функции общего модуля могут использоваться в клиент-серверном варианте.
    Если предполагается, что процедуры и функции общего модуля могут быть использованы во внешнем соединении, то следует установить свойство Внешнее соединение.
    В контексте неглобального общего модуля с установленным свойством Внешнее соединение доступны экспортируемые переменные, процедуры и функции модуля внешнего соединения.
    Свойство Вызов сервера разрешает вызов сервера. Свойство доступно, если установлено свойство Сервер. Если не установлено, то процедуры и функции данного модуля доступны только на сервере. Если установлено, то процедуры и функции данного модуля доступны на клиенте.
    Свойство Привилегированный предназначено для установки полных прав доступа при выполнении действий с базой данных в процедурах и функциях общего модуля. При установленном свойстве выполнение производится только на сервере.
    Повторное использование возвращаемых значений. Свойство доступно, если общий модуль не является Глобальным. Это свойство может принимать следующие значения:
    • Не использовать – повторное использование возвращаемых значений для функций этого общего модуля не используется;
    • На время вызова и На время сеанса – для общего модуля используется метод определения повторного использования данных. Суть этого метода заключается в том, что в ходе выполнения кода система запоминает параметры и результат работы функций после первого вызова функции. При повторном вызове функции с такими же параметрами, происходит возврат запомненного значения (из первого вызова) без выполнения самой функции. Если функция во время своего выполнения меняет значения параметров, то повторный вызов функции не будет это делать.
    Можно выделить следующие особенности сохранения результатов вызова:
    • если функция выполняется на сервере и вызывается из серверного кода, то значения параметров и результат вызова запоминаются для текущего сеанса на стороне сервера;
    • если функция выполняется на толстом или тонком клиенте, то значения параметров и результатов вызова запоминается на стороне клиента;
    • если функция выполняется на стороне сервера, а вызывается из клиентского кода, то значения параметров вызова запоминаются и на стороне клиента и на стороне сервера.
    Сохраненные значения удаляются:
    • если свойство установлено в значение На время вызова:
      • на стороне сервера – при возврате управления с сервера;
      • на стороне клиента – при завершении работы процедуры или функции встроенного языка верхнего уровня (вызванной системой из интерфейса, а не из другой процедуры или функции встроенного языка).
    • если свойство общего модуля установлено в значение На время сеанса:
      • на стороне сервера – при окончании сеанса;
      • на стороне клиента – при закрытии клиентского приложения.
    Сохраненные значения могут быть удалены:
    • после долгого неиспользования (более 5 минут);
    • при нехватке оперативной памяти в рабочем процессе сервера;
    • при перезапуске рабочего процесса;
    • при переключении клиента на другой рабочий процесс.
    После удаления значений, вызов экспортной функции выполняется как при первом вызове.

    Свойство Глобальный определяет, являются ли экспортируемые методы общего модуля частью глобального контекста.
    Если свойство Глобальный установлено в значение Истина, то экспортируемые методы общего модуля доступны как методы глобального контекста.
    Если свойство Глобальный установлено в значение Ложь, то в глобальном контексте создается свойство с именем, соответствующим имени общего модуля в метаданных. Данное свойство доступно ТОЛЬКО для чтения. Значением данного свойства является объект ОбщийМодуль. Через данный объект доступны экспортируемые методы данного общего модуля. Таким образом, обращение к методам неглобальных общих модулей выглядит как XXXXX.YYYYY, где XXXXX – это имя свойства общего модуля, а YYYYY – имя экспортируемого метода общего модуля.
    Если установлено свойство Клиент (обычное приложение), то модуль загружается в толстом клиенте в режиме обычного приложения.
    Если установлено свойство Клиент (управляемое приложение), то все процедуры и функции общего модуля могут использоваться в режиме Управляемое приложения, в тонком клиенте, в веб-клиенте.
    Модули с установленным свойством Клиент (обычное приложение), проверяются для режимов запуска:
    • Толстый клиент (обычное приложение);
    • Толстый клиент (обычное приложение) вариант клиент-сервер.
    Модули с установленным свойством Клиент (управляемое приложение), проверяются для режимов запуска:
    • Толстый клиент (управляемое приложение);
    • Толстый клиент (управляемое приложение) вариант клиент-сервер;
    • Тонкий клиент;
    • Веб-клиент.
    Модули общих объектов

    Некоторые общие объекты имеют собственные модули. К таким объектам относятся:
    • Команды;
    • Web-сервисы.
    Модули располагаются в ветках конфигурации, в которых содержатся сами объекты и являются свойствами объектов. Каждый объект имеет свой индивидуальный модуль. В этих модулях возможно объявление переменных, процедур и функций, которые будут доступны при работе с объектом извне во встроенном языке, дополняя контекст объекта.
    Модули прикладных объектов

    Набор прикладных объектов имеет собственные модули. К таким объектам относятся:
    • менеджеры значения константы;
    • справочники;
    • документы;
    • отчеты (внешние отчеты);
    • обработки (внешние обработки);
    • планы видов характеристик;
    • планы счетов;
    • планы видов расчетов;
    • бизнес-процессы;
    • задачи;
    • регистры.
    Модули располагаются в ветках конфигурации, в которых содержатся сами объекты и являются свойствами объектов. Каждый объект имеет свой индивидуальный модуль. В этих модулях возможно объявление переменных, процедур и функций, которые будут доступны при работе с объектом извне во встроенном языке, дополняя контекст объекта.
    В контексте модуля прикладного объекта есть доступ к реквизитам и табличным частям объекта, а также его методам и событиям.
    Модули менеджеров прикладных объектов

    Каждый прикладной объект имеет менеджер, предназначенный для управления этим объектом, как объектом конфигурации. С помощью менеджера можно создавать объекты, работать с формами и макетами. Модуль менеджера позволяет расширить функциональность менеджеров за счет введения процедур и функций на встроенном языке. Фактически, это позволяет описать методы для объекта конфигурации (например, справочника), которые относятся не к конкретному экземпляру объекта базы данных, а к самому объекту конфигурации.
    Контекст модуля менеджера образуется из:
    • глобального контекста, в том числе экспортируемых функций общих модулей (если для модулей установлено свойство Клиент (обычное приложение), Клиент (управляемое приложение) или Сервер);
    • экспортируемых переменных, процедур и функций модулей управляемого или обычного приложений;
    • локальных и экспортируемых функций самого модуля.
    Модуль менеджера не может иметь переменных и тела модуля.
    Если функции или процедуры модуля менеджера объявлены как экспортируемые, к ним можно будет получить доступ через менеджер объекта.
    Пример:
    Модуль менеджера:

    Функция ПолучитьСписокДебиторов() Экспорт

    КонецФункции
    Вызов из прикладного кода:

    Дебиторы = Справочники.Контрагент. ПолучитьСписокДебиторов();
    Модули команд (модули общих команд)

    Для нестандартных команд требуется написать процедуру ее выполнения. Для этого служит модуль команды, в котором можно написать предопределенную процедуру ОбработатьКоманду(). Данная процедура должна предваряться директивой компиляции &НаКлиенте, так как выполнение команды происходит в клиентском приложении.
    Модули управляемых форм

    Модуль состоит из набора процедур и функций. Переменные модуля и тело модуля не допускаются.
    Модули форм

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

  4. #4
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Формат программного модуля

    Исходный текст программного модуля может состоять из операторов и комментариев.

  5. #5
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Комментарии

    Комментарий используется для размещения в исходном тексте программного модуля всякого рода пояснений к работе модуля. Хорошим тоном программирования считается, когда исходный текст содержит исчерпывающий комментарий с описанием алгоритма. В режиме исполнения программы комментарии пропускаются. В тексте программного модуля комментарий начинается парой символов "//" и заканчивается концом строки. Это значит, что комментарий можно начинать с начала строки или записывать его после оператора на той же строке. После начала комментария писать оператор на той же строке нельзя, необходимо закончить комментарий концом строки.
    Пример:
    А = В;// Это - комментарий

    // Это тоже комментарий

  6. #6
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Формат операторов

    Операторы имеют вид стандартного обращения к процедуре, за исключением оператора присваивания (А = В;) и синтаксических конструкций встроенного языка (например, таких как Для, Пока, Если). Между собой операторы обязательно следует разделять символом ";" (точкой с запятой). Конец строки не является признаком конца оператора, т.е. операторы могут свободно переходить через строки и продолжаться на другой строке. Можно располагать произвольное число операторов в одной строке, разделяя их символом ";".
    Операторы языка в программном модуле можно подразделить на две категории: операторы объявления переменных и исполняемые операторы.
    Операторы объявления переменных создают имена переменных, которыми манипулируют исполняемые операторы.
    Любой исполняемый оператор может иметь метку, используемую в качестве точки перехода в операторе Перейти.
    В общем случае формат оператора языка следующий:
    ~метка:Оператор[(параметры)] [ДобКлючевоеСлово];
    В качестве меток используются специальные идентификаторы, начинающиеся с символа ‘~’ (тильда) и состоящие из последовательности букв, цифр и символов ‘_’ (подчеркивание). Чтобы пометить оператор, надо поместить перед ним метку и следующий за ней символ ":".
    Пример:

    ~метка:А=В;

  7. #7
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Имена переменных, процедур и функций

    Именем переменной, объявленной процедуры или функции, может быть любая последовательность букв, цифр и знаков подчеркивания "_", начинающаяся с буквы или знака подчеркивания "_".
    Вновь создаваемые имена не должны совпадать с зарезервированными словами языка или именами свойств, непосредственно доступных в текущем контексте. Распознавание имен переменных, процедур и функций ведется без учета регистра букв.

  8. #8
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Язык написания программных модулей

    Встроенный язык 1С:Предприятия является двуязычным. Почти все зарезервированные слова, имена типов значений, свойств, методов, событий имеют два имени: русское и английское.
    Исключение составляю слова, не имеющие аналогов в русском языке. В тесте программных модулей эти имена можно свободно смешивать, используя то русские, то английские имена без каких-либо ограничений.

  9. #9
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Регистры букв при написании программных модулей

    Регистр букв (строчные или заглавные) при написании имен переменных, свойств, методов, процедур, функций, а также функций встроенного языка не имеет значения.

  10. #10
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Зарезервированные слова

    Приведенные далее ключевые слова являются зарезервированными и не могут использоваться в качестве создаваемых имен переменных, реквизитов объектов конфигурации и объявляемых процедур и функций. В данном варианте языка каждое из ключевых слов имеет два представления — русское и английское.
    Русское имя Английское имя
    Если If
    Тогда Then
    ИначеЕсли ElsIf
    Иначе Else
    КонецЕсли EndIf
    Для For
    Каждого Each
    Из In
    По To
    Пока While
    Цикл Do
    КонецЦикла EndDo
    Процедура Procedure
    Функция Function
    КонецПроцедуры EndProcedure
    КонецФункции EndFunction
    Перем Var
    Перейти Goto
    Возврат Return
    Продолжить Continue
    Прервать Break
    И And
    Или Or
    Не Not
    Попытка Try
    Исключение Except
    ВызватьИсключение Raise
    КонецПопытки EndTry
    Новый New
    Выполнить Execute

Закрытая тема
Страница 1 из 2 1 2 Следующая ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Похожие темы

  1. 1С:Профессионал: что такое, общие сведения.
    от empty в разделе 1С:Профессионал
    Ответов: 2
    Последнее сообщение: 01.08.2012, 09:29
  2. Что такое директ-костинг?
    от maverick в разделе 1C:Общие вопросы
    Ответов: 1
    Последнее сообщение: 11.11.2010, 19:12
  3. Что такое 1С?
    от maverick в разделе 1C:Общие вопросы
    Ответов: 0
    Последнее сообщение: 10.11.2010, 01:26
  4. Что такое обработка в 1с
    от maverick в разделе 1C:Общие вопросы
    Ответов: 0
    Последнее сообщение: 06.11.2010, 00:25
  5. Ответов: 0
    Последнее сообщение: 27.08.2010, 23:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения


Навигация по сайту:
, 1c, 1с 8.2, 1с 8.3, Скачать 1с, 1с бухгалтерия, 1с предприятие, Программа 1с,
1с торговля, 1с управление, 1с зарплата, Обновление 1с, Миста, Программирование 1с,

Положение об ответственности
Связь с администрацией erpsolution.ru@yandex.ru