Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C общие сведения.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
794.11 Кб
Скачать

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

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

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

  • Модуль формы группы

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

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

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

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

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

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

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

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

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

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

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

Текст программного модуля состоит из операторов и комментариев. Комментарии начинаются с символов «//»

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

[~метка:]Оператор [(Параметры)][ДобавочноеКлючевоеСлово];

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

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

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

Чтобы определить, является ли слово зарезервированным, нужно воспользоваться поиском в синтакс-помощнике: установить курсор на проверяемое слово и одновременно нажать клавиши СTRL+F1. Таким же способом можно узнать синтаксис системной процедуры или функции: количество и назначение параметров, значения по умолчанию.

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

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

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

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

Пример.

// Определение переменных Перем ЭтоПеременная; Перем ЭтоВтораяПеременная;

// Процедуры и функции

Процедура ЭтоПроцедура()

// текст процедуры

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

Функция ЭтоФункция()

// текст функции

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

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

ЭтоПременная = "123";

3.7. Процедуры и функции программного модуля

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

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

// Операторы;

… [Возврат;] // Операторы; КонецПроцедуры

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

Для передачи локального контекста используется ключевое слово «Контекст» в качестве параметра.

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

Процедура УстСклада(Конт) Экспорт // создаем объект типа "справочник" Скл = СоздатьОбъект("Справочник.Склады"); // вызываем диалог для выбора элемента Справочника Скл.Выбрать("Выберите Склад", "");

Если Скл.Выбран() = 1 Тогда // если в диалоге элемент Справочника был выбран, // то присваиваем его значение реквизиту Документа, // который доступен по локальному контексту Конт.Склад = Скл.ТекущийЭлемент(); КонецЕсли; КонецПроцедуры

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

Конт.Склад = Скл.ТекущийЭлемент();

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

УстСклад(Контекст);

С примерами программных модулей можно ознакомиться в типовой конфигурации «Бухгалтерский учет».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]