Программы 1с структура модуля

Программные модули в конфигурации системы 1С:Предприятие не являют­ся самостоятельными программами в общепринятом понимании этого слова, поскольку они являются только частью всей конфигурации задачи. Программ­ный модуль — это своего рода «контейнер» для размещения текстов процедур и функций, написанных на встроенном языке [30]. Место самого программного модуля в конфигурации — в тех точках, где требуется специфическая реакция системы на действия пользователя, определяемые условиями задачи. Например, при обработке данных, внесенных в документ, при проведении документа.

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

Модуль Формы списка справочника — запускается при вызове формы списка справочника.

Модуль Формы группы справочника — запускается при открытии формы группы справочника.

Модуль Формы элемента справочника — запускается при открытии формы элемента справочника.

Урок 13. Структура программного модуля в 1С.

Модуль Формы документа — запускается при открытии формы документа.

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

Модуль Формы журнала документов — запускается при вызове формы журнала документов.

Модуль Формы счёта — запускается при открытии формы бухгалтерского счёта.

Модуль Формы списка плана счетов — запускается при вызове формы списка плана счетов.

Модуль Формы Операции — запускается при вызове формы бухгалтерской операции.

Модуль Формы журнала операций — запускается при вызове формы журнала операций.

Модуль Формы журнала проводок — запускается при вызове формы журнала проводок.

Модуль Формы журнала расчетов — запускается при вызове формы журнала расчетов.

Модуль Формы вида расчета — запускается при расчете записей журнала расчетов.

Модуль Формы отчета или обработки — запускается при открытии диалоговой формы отчета или обработки.

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

Все модули имеют одинаковую структуру. Каждый модуль может состоять из трех разделов [29]:

  • Раздел переменных. В языке «1С» переменные не являются типом метаданных, они содержат значения, которые могут изменяться во время исполнения программы. Переменные существуют в оперативной памяти компьютера и исчезают (в отличие от констант) при окончании работы модуля (процедуры) или после окончания работы системы.
  • Раздел процедур и функций. Отдельные действия, выполняемые в модуле, оформляются как процедуры или функции и имеют имя. Отличия процедур от функций: процедуры выполняют некоторую задачу, например, напечатать документ. Функции выполняют вычисления и передают системе результат, например, вычислить дату и передать ее для дальнейшей обработки в процедуру.
  • Раздел основной программы. Обычно здесь происходит инициализация каких-либо переменных, необходимая еще до первого вызова процедуры или функции.
Читайте также:
Как изменить программу для открытия гиперссылок

Каждый из разделов не является обязательным, но если присутствует, то в том порядке, как это перечислено.

Занятие 43. Модули 1С — часть 1 (Модуль формы — клиент)

Когда, в соответствии с логикой работы, должен быть вызван модуль, система выполняет следующие действия:

  • Находит текст модуля в конфигурации.
  • Выполняет его компиляцию. На этом этапе происходит преобразование текста модуля во внутренний формат данных (он недоступен пользователю), который позволяет системе быстро выполнять алгоритм, не интерпретируя его текст много раз.
  • Если компиляция завершилась удачно, т.е. не было найдено синтаксических ошибок, то управление получает та часть модуля, которая называется основной программой . Ее назначение — выполнить инициализацию модуля.
  • Если в процессе компиляции найдены ошибки, то модуль считается неработоспособным, и, скорее всего, ваша конфигурация нормально работать не будет. Система выдаст сообщение об ошибке.

35 . Создайте модуль: выберите вкладку Метаданные , выберите Кадры , МП , выберите Глобальный модуль, введите следующий код по Пример 24.1, «Первая программа»

Пример 24.1. Первая программа

//раздел переменных Перем привет; //раздел процедур и функций Процедура приветствие () Предупреждение (привет); КонецПроцедуры //раздел инициализации привет=”Добрый день!”; //инициализация переменной приветствие(); //вызов процедуры

36 . Выполните проверку синтаксиса кода: выберите Действия | Синтаксический контроль .

Текст программного модуля разноцветный. Синтаксическая ошибка в написании оператора изменяет его цвет. Настройка выделения цвета конструкций языка находится в меню: Сервис | Параметры, вкладка Модули.

По умолчанию ключевые слова и операторы «1 C » выделяются красным цветом, идентификаторы (имена) — синим цветом, комментарии — зеленый цвет.

Разберем введенный код.

Двойная наклонная черта // означает комментарии к программе. Слова, написанные после знака //, система не интерпретирует как программу. Наличие комментариев очень важно, и ими нельзя пренебрегать, иначе вы запутаетесь в программе.

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

Читайте также:
Кто был в костюме неваляшки в программе маска

В разделе инициализации переменной привет присваивается значение — выражение «Добрый день!» (инициализация переменной) и вызывается процедура приветствие . Почему требуется вызывать процедуру? Глобальный модуль автоматически выполняется при старте системы. Но откуда система узнает, какую процедуру нужно выполнять первой, второй и т.д.? Из раздела инициализации, где указан порядок вызова процедур.

37 . Загрузите среду «1С:Предприятие»: выберите Сервис | 1С:Предприятие , на запрос Сохранить изменения? выберите Да , на экране должно появится окно с приветствием Добрый день!

Пред. Наверх След.
24.19. Создание экранной формы документов Начало | Содержание 24.21. Процедуры и функции «1С»

Источник: enisey.name

Структура кода модулей

Каждый из указанных элементов может отсутствовать. Наличие первого и последнего, может быть запрещено на уровне системы.

Пример:

Блок модуля разделение

Данные блоки отделяются формально и не имеют четких границ.

Модули подразделяются на общие и модули, связанные с прикладными объектами. Данное разделение в большей мере ограничивает доступность или недоступность локальных данных (подробней ниже).

  • Блок объявлений переменных
  • Блок кода процедур или функций
  • Блок тела модуля

Блок объявлений переменных

Служит для объявления имен переменных, а также для указания их доступности извне через директиву « экспорт «. Эти переменные обычно называются переменными модуля, либо экспортными переменными объекта (формы).

Может содержать:

  • Объявление переменных одной или нескольких
  • Пустые строки и строки комментариев
  • Директивы #Если #Тогда #КонецЕсли
  • Директивы #Область #КонецОбласти

В модуле управляемой формы, модуле веб-сервисов, в общих модулях, в модуле команды не могут иметь блока переменных (детально данные модули в статье описываться не будут)

Блок кода процедур или функций

Предназначен для размещения текста функций и процедур. Этот блок возможно использовать во всех модулях.

Для модуля объекта или формы предоставляется возможность обращения к реквизитам данного объекта (формы, в том числе к элементам диалогов).

Для версий, начиная с 8.2 возможно указание директив исполнения ( НаКлиенте, НаСервереБезКонтекста

Во всех версиях 8 (в отличии от 7.7), последовательность процедур и функции для доступности вызова не имеет значение (в 7.7. такое возможно было при использовании директив «Далее», без данной директивы они были доступны снизу вверх)

Читайте также:
Запуск программы невозможен так как на компьютере отсутствует в3в12

Имена процедур должны быть уникальны в пределах локальной видимости (самого модуля или например, модуля объекта и формы для экспортных процедур)

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

Для версии 8.3 и выше возможно логическое разделение кода на области, свертка редактором улучшает читабельность кода (#Область #КонецОбласти). Это не является обязательным, но рекомендуется для больших текстов кода. Замечу, что возможно использование вложенных процедур.

Блок тела модуля

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

В нем доступны переменные модуля и возможна их инициализация.

Если модуль является модулем объекта или формы, видны и возможна записи реквизитов текущего объекта.

Так же возможен вызов процедур и модулей как данного модуля, так и других модулей, при допустимости их совместного использования (клиент-серверная реализация), глобальной видимости

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

— Говард Госсидж, практик рекламного бизнеса.

Источник: capitally.ru

Структура модуля

Данные переменные будут использоваться в текущем модуле. А если добавить ключевое слово Экспорт, то данные переменные можно использовать вне текущего модуля.

Переменные объявляются с помощью оператора Перем.

В данном разделе можно использовать только операторы Перем.

Рассмотрим несколько примеров:

Перем А, Б, В;

В данном случае мы создали просто 3 переменные, доступные в данном модуле.

Теперь добавим в конец, перед «;» ключивое слово Экспорт.

Перем А, Б, В Экспорт;

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

2. Раздел процедур и функций

В данном разделе содержатся операторы Процедура, Функция.

Процедура начинается со слова Процедура, дальше указывается ее название и ее параметры в скобке и заканчивается КонецПроцедуры.

Процедура ФормированиеДокумента()
КонецПроцедуры

Функции модуля начинается со слова Функция, дальше указывается ее название и параметры( в скобке) и заканчивается ключевым словом КонецФункции.

Функция ФормированиеДокумента()
КонецФункции

3. Раздел основной программы

В данном разделе можно описать созданные переменные, выполнить действия с ними.

Пример модуля:

// раздел объявления переменных
Перем А, Б;
Перем В;
// раздел процедур и функций
Процедура Печать ()
сообщить В;
КонецПроцедуры

// раздел основной программы

Источник: manual1c.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru