Главная страница

Задор. Мдк 05. 02 Разработка кода информационных систем Назначение и краткая характеристика языка программирования 1С. Виды программных модулей


Скачать 1.4 Mb.
НазваниеМдк 05. 02 Разработка кода информационных систем Назначение и краткая характеристика языка программирования 1С. Виды программных модулей
АнкорЗадор
Дата28.03.2022
Размер1.4 Mb.
Формат файлаpptx
Имя файла05.02.pptx
ТипДокументы
#421585

МДК 05.02 Разработка кода информационных систем

Назначение и краткая характеристика языка программирования 1С. Виды программных модулей




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

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



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

То есть программный модуль – это своего рода «контейнер» для размещения текстов процедур и функций, вызываемых системой только во время возникновения тех или иных событий, вызванных со стороны пользователя (значит» только в строго определенные моменты времени). Поэтому программный модуль не имеет формальных границ своего описания типа «начало модуля» – «конец модуля». Его границами фактически являются границы того текстового документа, в котором размещен модуль.

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

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

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

Наименование модуля

Расположение

Запуск

Глобальный модуль

Метаданные  Глобальный модуль

Запускается при начале работы всей прикладной задачи

Модуль формы списка справочника

Метаданные  Справочник  Форма списка

Запускается при открытии формы списка справочника

Модуль формы группы справочника

Метаданные  Справочник  Форма группы

Запускается при открытии формы группы справочника

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

Метаданные  Справочник  Форма

Запускается при открытии формы элемента справочника

Модуль формы документа

Метаданные  Документ Форма

Запускается при открытии формы документа

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

Наименование модуля

Расположение

Запуск

 

Модуль документа

Метаданные  Документ  Модуль документа

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

 

Модуль формы журнала документов

Метаданные  Журнал документов  Форма

Запускается при открытии формы журнала документов

Модуль формы журнала расчетов

Метаданные  Журнал расчетов  Форма

Запускается при вызове формы журнала расчетов

 

Модуль формы списка счетов (плана счетов)

Метаданные  План счетов

Запускается при вызове формы списка счетов

 

Наименование модуля

Расположение

Запуск

Модуль формы счета

Метаданные  Планы счетов  Форма счета

Запускается при открытии формы счета

Модуль формы журнала операций

Метаданные  Журнал операций  Форма

Запускается при вызове формы журнала операций

Модуль формы операции

Метаданные  Операция

Запускается при вызове формы журнала операций

Модуль формы журнала проводок

Метаданные  Журнал проводок  Форма

Запускается, при вызове формы журнала проводок

Модуль формы отчета

Метаданные  Отчет  Форма

Запускается при открытии диалоговой формы подготовки отчета

Модуль формы обработки

Метаданные  Обработка  Форма

Запускается при открытии диалоговой формы обработки

Модуль вида расчета

Метаданные  Вид расчета  Модуль вида расчета

Запускается при расчете соответствующих записей журнала расчетов

Из таблицы следует, что фактически существуют два типа модулей: модуль формы объекта и модуль объекта.

Глобальный модуль позволяет расширить и дополнить функциональные возможности 1С: Предприятие в соответствии со спецификой конкретной прикладной задачи.

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

Модули формы существуют практически для всех типов объектов.

Модуль объекта присутствует только у двух типов объектов метаданных, а именно документа и вида расчета.

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

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

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

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

Пример:

Контр = док.Контрагент; //в переменную контр будет

//скопировано наименование контрагента

//это тоже комментарий, занимающий всю строку до конца

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

Затронем два важных понятия языка: константы и переменные.

Константа – это постоянная величина, значение которой не может изменяться во время выполнения программы. Тип константы соответствует некоторому базовому типу. Следовательно, константы подразделяются на:
  • числовые – это не что иное, как десятичное число, например: 235,

  • -5, 54.8;
  • строковые – это произвольные последовательности символов, заключенные в кавычки, например: "Это и есть строковая константа";
  • константы типа «дата» – это взятые в одинарные кавычки три двухразрядных числа, разделенных точками, например: '23.04.03', '10.01.99'. Для записи года разрешается использовать четыре цифры: '15.02.1995';
  • системные строковые константы. К ним относятся РазделительСтраниц,

  • РазделительСтрок и СимволТабуляции.

Затронем два важных понятия языка: константы и переменные.

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

Обращение в программах к объектам, строкам и т.д., осуществляется посредством имен (идентификаторов) переменных. Именем переменной, процедуры или функции может быть любая последовательность букв, знаков подчеркивания «_» и цифр, начинающаяся с буквы или со знака подчеркивания. Как и в любом языке программирования, вновь создаваемые имена не должны совпадать с теми, которые уже существуют; кроме того, они должны отличаться и от зарезервированных слов языка, имен существующих процедур и функций. Регистр букв значения не имеет. Переменная абв – это то же самое, что и АБВ, АбВ, абВ и т.д.

В любом языке программирования существуют зарезервированные слова. Это такие слова, которые не могут использоваться в качестве имен переменных и процедур (функций) и несут свою предопределенную смысловую нагрузку. В языке 1С они имеют два представления – русское и английское. Как и в именах переменных, регистр букв не учитывается.

Полный список ключевых слов встроенного языка в обоих вариантах представления (русско- и англоязычном).

Если

If

Или

Or

Тогда

Then

He

Not

ИначеЕсли

Elslf

Знач

Val

Иначе

Else

СтрДлина

StrLen

КонецЕсли

Endlf

СокрЛ

TrimL

Цикл

Do

СокрП

TrimR

Для

For

Лев

Left

По

To

Прав

Right

Пока

While

Сред

Mid

КонецЦикла

EndDo

Цел

Int

Процедура

Procedure

Окр

Round

Функция

Function

Число

Number

КонецПроцедуры

EndProcedure

Строка

String

КонецФункции

EndFunction

Дата

Date

Перем

Var

Формат

Format

Перейти

Goto

Разм

Dim

Возврат

Return

Вопрос

DoQueryBox

Продолжить

Continue

Предупреждение

DoMessageBox

Прервать

Break

Контекст

Context

И

And

 

 

Любой программный модуль 1С: Предприятия имеет одну и ту же структуру. Программный модуль состоит из следующих разделов:
  • раздел определения переменных;
  • раздел описания процедур и функций;
  • раздел выполняемой части, т.е. основной программы.

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

Раздел описания переменных содержит в себе операторы объявления переменных Перем, разделенные символом «;». Заканчивается он с началом описания первой процедуры или функции (словом Процедура или Функция с последующим идентификатором таковой).

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

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

Специальные символы встроенного языка

Написание символа

Значение символа

//

Начинает комментарий. Комментарий продолжается до конца строки

;

Символ разделения операторов

( )

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

,

Запятой разделяют параметры в списке параметров функций, процедур, методов

|

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

[ ]

В квадратных скобках задается размерность массива

« »

В двойные кавычки заключаются строковые константы

‘ ’

В одинарные кавычки заключаются константы типа «Дата»

.

Десятичная точка в константах типа «Число». Служит также разделителем при обращении к атрибутам и методам объектов

?

Системная процедура «условное выполнение»

:

Двоеточие служит последним символом в имени метки

=

Логическая операция «равно» или символ присвоения значения

+

Знак операции арифметического сложения. Знак конкатенации строк

-

Знак операции арифметического вычитания. Унарный минус

*

Знак операции умножения

/

Операция деления

%

Знак «процент» означает остаток от деления



Знак логической операции «больше»



Знак логической операции «меньше»

>=

Знак логической операции «больше или равно»

<=

Знак логической операции «меньше или равно»



Знак логической операции «не равно»



Тильда. Этим знаком начинается метка оператора

Типы данных системы


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

Во встроенном языке программирования системы 1С: Предприятие типы данных принято подразделять на базовые (элементарные) и агрегатные.

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

Типы данных системы


Кроме того, с точки зрения хранения информации, агрегатные типы данных делятся на:
  • Перманентные типы, для которых создается структура хранения информации в базе данных или во внешних файлах;
  • Динамические типы, значения которых хранятся в оперативной памяти и доступны лишь в текущем контексте выполнения;

Типы данных системы

Типы данных системы


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

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

Тип

Описание

Строка

Любой текст

Число

Целые и вещественные числа

Булево

Логические значения Да и Нет

Дата

Дата и время

Объект

Множество различных типов

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

Присвоение переменной значения осуществляется с помощью оператора =:

Имя_Переменной = Новое_Значение;

К уже изученным типам данных (строка, число и дата) добавим еще один — логический тип. Он может принимать всего два значения: Истина или Ложь.

Значение логического типа (Истина или Ложь) является результатом вычисления некоторого логического выражения.

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

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

ПРИМЕР

ПРИМЕР

Пример

логического выражения

Результат

вычисления

Объяснение

1 =2

Ложь

неверно, единица на самом деле не равна двойке

1 = 1

Истина

верно, единица равна единице

"Земля" О "Луна"

Истина

верно,строка"Земля" не равна строке "Луна"

' 18610101' <>'18610101'

Ложь

неверно, дата 01.01.1861 на самом деле равна дате 01.01.1861

100 >50

Истина

верно, сто действительно больше пятидесяти

10 < 0

Ложь

неверно, на самом деле десять больше нуля

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

логические выражения. Для этого существуют специальные логические операции: И, Или, Не.

Правила работы логической операции И

А (левая часть)

Б (правая часть)

А И Б

Пример

Истина

Истина

Истина

(2 < 3) И (10 = 10)

Истина

Ложь

Ложь

(2 < 3) И (10 <> 10)

Ложь

Истина

Ложь

(10 <> 10) И (2 < 3)

Ложь

Ложь

Ложь

(1 = 2) И (3 = 5)

Таким образом, логическое выражение, составленное при помощи операции И, верно тогда и только тогда, когда верны оба выражения, стоящие слева и справа от этой операции.

Для лучшего понимания представьте, что значение Истина это 1, Ложь это 0, а логическая операция И это умножение:

А (левая часть)

Б (правая часть)

А И Б

1

1

1

1

0

0

0

1

0

0

0

0

А (левая часть)

Б (правая часть)

А Или Б

Пример

Истина

Истина

Истина

(2 < 3) Или (10 = 10)

Истина

Ложь

Истина

(2 < 3) Или (10 <> 10)

Ложь

Истина

Истина

(10 <> 10) Или (2 < 3)

Ложь

Ложь

Ложь

(1 = 2) Или (3 = 5)

Правила работы логической операции Или

Таким образом, логическое выражение, составленное при помощи операции Или, истинно, если верно хотя бы одно из выражений, стоящих слева и справа от этой операции.

А (левая часть)

Б (правая часть)

А Или Б

1

1

1

1

0

1

0

1

1

0

0

0

Для лучшего понимания представьте, что значение Истина это 1, Ложь это 0, а логическая операция Или это сложение:

А

Не А

Пример

Истина

Ложь

Не (2 < 3)

Ложь

Истина

Не (10 = 5)

Правила работы логической операции Не

Таким образом, логическое выражение, составленное при помощи операции Не, верно тогда и только тогда, когда неверно выражение, стоящее справа от этой операции. Операцию Не еще называют логическим отрицанием.

Для лучшего понимания представьте, что значение Истина это 1, а Ложь это 0:

А

Не А

1

0

0

1


написать администратору сайта