Центральный Дом Знаний - Работа в 1С 6

Информационный центр "Центральный Дом Знаний"

Заказать учебную работу! Жми!



ЖМИ: ТУТ ТЫСЯЧИ КУРСОВЫХ РАБОТ ДЛЯ ТЕБЯ

      cendomzn@yandex.ru  

Наш опрос

Я учусь (закончил(-а) в
Всего ответов: 2690

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Форма входа

Логин:
Пароль:

Работа в 1С 6

Работа в программе 1С

стр.: 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32
33  34  35  36  37  38  39  40  41  42  43  44  45  

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

Пример:

y=10;

Попытка

Для x=–3 По 3 Цикл

y = y / x;

КонецЦикла;

Исключение

Предупреждение (ОписаниеОшибки() + "Деление на 0");

Возврат;

КонецПопытки;


2.4 Структура программных модулей. Глобальный модуль


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


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


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

  • глобальный контекст задачи;

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

Глобальный контекст образуется:

  • значениями системных атрибутов, системными процедурами и функциями;

  • значениями заданных в конфигураторе констант, перечислений, регистров, видов расчета, групп видов расчета;

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

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

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

Для редактирования глобального модуля необходимо, находясь в окне Конфигурация (вкладка Метаданные), выбрать пункт Глобальный модуль из меню Действия главного меню Конфигуратора. Текст глобального модуля будет выдан для редактирования в редакторе текстов системы 1С:Предприятие в режиме редактирования текста программного модуля.

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


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


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

  • раздел определения переменных;

  • раздел процедур и функций;

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

В конкретном программном модуле любой из разделов может отсутствовать.

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

Раздел процедур и функций размещается от первого оператора Процедура или оператора Функция до любого исполняемого оператора вне тела описания процедур или функций.

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

Комментарии

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

Пример:

А=В; // Это – комментарий

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

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

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

Операторы языка в программном модуле можно подразделить на две категории: операторы объявления переменных и исполняемые операторы.

Операторы объявления переменных создают имена переменных, которыми манипулируют исполняемые операторы.

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

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

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

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


Если

If

He

Not

Дата

Date

Тогда

Then

Знач

Val

Формат

Format

ИначеЕсли

Elseif

СтрДлина

StrLen

Разм

Dim

Иначе

Else

СокрЛ

TrimL

Вопрос

Do Query Box

КонецЕсли

Endlf

СокрП

TrimR

Контекст

Context

Цикл

Do

Лев

Left

Перем

Var

Для

For

Прав

Right

Перейти

Goto

По

To

Сред

Mid

Возврат

Return

Пока

While

Цел

Int

Продолжить

Continue

Функция

Function

Окр

Round

Прервать

Break

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

EndProcedure

Число

Number

И

And

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

EndFunction

Строка

String

Или

Or

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

DoMessageBox

КонецЦикла

EndDo

Процедура

Procedure

Процедуры

Синтаксис:

Процедура <Имя_проц>([[Знач] <Парам1>[=<ДефЗнач>],...,[Знач] <ПapaмN>[=<ДeфЗнaч>]]) [Экспорт]

Объявления локальных переменных;

Операторы;

[Возврат;]

Операторы;

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

Параметры:

<Имя_проц> – назначает имя процедуры.

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

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

=<ДефЗнач> Необязательная установка значения параметра по умолчанию. Параметры с установленными значениями по умолчанию можно располагать в любом месте списка формальных параметров. Если параметр при вызове процедуры опущен, то он принимает либо установленное по умолчанию значение (если оно есть) либо принимает «пустое» значение (значение неопределенного типа). Если параметру не задано значение по умолчанию, и он является последним в списке передаваемых параметров, то при вызове процедуры его нельзя опускать. Если параметру задано значение по умолчанию, и он является последним в списке, то при вызове процедуры его можно опускать в списке передаваемых фактических параметров и не ставить запятую перед опущенным параметром. Если параметру не задано значения по умолчанию, то при вызове процедуры его можно опускать в списке передаваемых фактических параметров, но разделительную запятую надо ставить.

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

Объявления локальных переменных – объявляются локальные переменные, на которые можно ссылаться только в рамках этой процедуры.

Операторы – исполняемые операторы процедуры.

Возврат – необязательное ключевое слово, которое завершает выполнение процедуры и осуществляет возврат в точку программы, из которой было обращение к процедуре. Использование данного оператора в процедуре не обязательно.

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

Описание:

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

При выполнении оператора Возврат процедура заканчивается и возвращает управление в точку вызова. Если в тексте процедуры не встретился оператор Возврат, то после выполнения последнего исполняемого оператора происходит выполнение неявного оператора Возврат. Конец программной секции процедуры определяется по оператору КонецПроцедуры.

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

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

Пример:

Перем Глоб;

// Описание процедуры

Процедура МояПроцедура(Пар1, Пар2, ПарЗ) Экспорт

Глоб = Глоб + Пар1 + Пар2 + ПарЗ;

Возврат;

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


Глоб = 123;

МояПроцедура(5, 6, 7); // Вызов процедуры

Функции

Синтаксис:

Функция <Имя_функции>([[Знач] <Парам1>[=<ДефЗнач>],...,[Знач] <ПарамN>[=<ДефЗнач>]])[Экспорт]

Объявления локальных переменных;

Операторы;

Возврат <ВозвращаемоеЗначение>;

Операторы;

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

Параметры:

<Имя_функции> – назначает имя функции.

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

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

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

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

Объявления локальных переменных – объявляются локальные переменные, на которые можно ссылаться только в рамках этой функции.

Операторы – исполняемые операторы функции.

Возврат – ключевое слово, которое завершает выполнение функции и возвращает ВозвращаемоеЗначение в выражение, в котором используется функция. Использование данного ключевого слова в функции обязательно.

<ВозвращаемоеЗначение> – выражение, значение которого содержит результат обращения к функции.

КонецФункции – обязательное ключевое слово, обозначающее конец исходного текста функции.

Описание:

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

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

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

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

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

Пример:

Перем Глоб;

// Описание функции

Функция МояФункция(Парам1, Парам2, ПарамЗ) Экспорт

Лок = Глоб + Парам1 + Парам2 + ПарамЗ;

Возврат Лок;

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


Глоб = 123;

Рез = МояФункция(5, 6, 7); // Вызов функции

Область использования переменной

Область использования переменных зависит от места их определения в конфигурации задачи. Существует три области, в которых можно объявить переменные:

  • В разделе определения переменных глобального программного модуля. Если переменные определены с ключевым словом Экспорт, то это будут глобальные переменные.

  • В разделе определения переменных модуля. Это переменные модуля.

  • В процедуре или функции. Это локальные переменные.

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

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

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

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

Ход работы и задания:

1. Запустите 1С в режиме Конфигуратор и выберите информационную базу Работа1, созданную на прошлом занятии.

2. Откройте окно Конфигурация и в меню Действия выберите пункт Глобальный модуль. На экране появиться соответствующее окно.

3. В окне Глобальный модуль создадим переменную Д, доступную во всех модулях. Поместим в переменную Д текущую дату с помощью стандартной функции ТекущаяДата(). Подробную информацию о данной функции посмотрите с помощью Поиска в Синтаксис–Помощнике.

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

5. Сохраните изменения в конфигурации и запустите 1С в режиме Предприятие. При запуске системы внизу экрана появиться окно с сообщением о текущей дате (рисунок 2.4.2).

6. Закройте 1С: Предприятие. Обратите внимание, что в программном модуле зарезервированные слова и имена стандартных функций выделены красным цветом. То есть, если вы написали служебное слово или имя стандартной функции, и оно не стало «красным», значить вы допустили ошибку. Константы выделяются черным цветом, имена переменных, процедур и функций пользователя – синим, комментарии – зеленым.

Loading

Календарь

«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930

Архив записей

Друзья сайта

  • Заказать курсовую работу!
  • Выполнение любых чертежей
  • Новый фриланс 24