Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебно-методическое пособие РЭИС.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
3.85 Mб
Скачать

2.6. Инструкции препроцессора

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

Таблица 2.2

Инструкции препроцессора относятся

Инструкция

Описание

#Если Клиент Тогда

#КонецЕсли

Выполнение фрагмента модуля на клиентской машине

#Если Сервер Тогда

#КонецЕсли

Выполнение фрагмента модуля на сервере 1С:Предприятие8.0

#Если ВнешнееСоединение Тогда

#КонецЕсли

Эта инструкция позволяет возможность использования процедур и функций в сесии СОМ-соединения

Место выполнения общего программного модуля также может регулироваться установкой его свойств. Подробнее об инструкциях препроцессора и свойствах общих модулей написано в документации.

2.7. Типы данных

Во встроенном языке 1С:Предприятия 8.0 поддерживаются следующие основные типы данных:

  • число

  • строка

  • дата (включает в себя время)

  • булево (имеет два значения: Истина и Ложь)

  • значение Неопределено

  • значение Null (для неуказанных значений в таблицах базы данных)

  • Тип (значения специального типа «Тип» нужны для представления и сравнения типов данных, например, «Если ТипЗнч(ВыбДок) = Тип("ДокументСсылка.Чек") Тогда...»).

  • другие типы, перечисленные в документации

Объявление переменных

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

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

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

Примеры:

//явное объявление переменной модуля или процедуры или функции

Перем Итог;

//экспортируемая переменная модуля

Перем Количество Экспорт;

//неявное объявление переменных (при первом присвоении значения)

ном = 0;

Оператор Новый

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

Ниже показываются различные варианты объявления переменных:

//создание нового объекта типа "Структура"

Отбор - Новый Структура;

//вызов конструктора с параметрами

Отбор = Новый Структура("Контрагент",ВыбКонтрагент);

//получение объекта типа СправочникМенеджер

Спр = Справочники.Контрагенты;

Приведение типов

При программировании часто требуется преобразовать значение одного типа в значение другого типа, например, число 10 преобразовать в строку «10».

Приведение типов может быть явное и неявное. Для явного приведения типов существуют следующие функции:

  • Число(),

  • Строка(),

  • Дата(),

  • Булево().

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

а = "Месяц " + НомерМесяца;

Системные перечисления и наборы значений

В 1С:Предприятии 8.0 для улучшения понятности программ были введены системные перечисления и системные наборы значений.

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

Значения системных перечислений не перебираются по индексу.

К системным перечислениям, например, относятся следующие:

  • КодВозвратаДиалога

  • РежимБегущейСтроки

  • ОбходРезультатаЗапроса

  • РежимПроведенияДокумента

  • ВариантПериода и др.

Не следует путать системные перечисления и системные наборы значений (например системный набор значений "Символы").

Например, ниже используется системное перечисление ОриентацияСтраницы и его значение Портрет:

ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

Функция «Вопрос»

В версии 7.7 эта функция принимала и возвращала строковые значения, например, «Да» или «Нет», а теперь она принимает параметр типа РежимДиалогаВопрос и возвращает значение системного перечисления КодВозвратаДиалога:

Если Вопрос("Вы уверены?", РежимДиалогаВопрос ,ДаНет) =

КодВозвратаДиалога.Да Тогда

...

КонецЕсли

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

  • ПС перевод строки (помещение курсора на следующую строку),

  • ВК - возврат каретки (помещение курсора в начало строки),

  • Таб — символ табуляции,

  • ПФ — перевод формы (страницы),

  • ВТаб — вертикальная табуляция,

  • НПП — неразрывный пробел.

Например, соединение нескольких строк в одну многострочную строку производится следующим образом:

стр = стр1 + Символы.ПС + Символы.ВК + стр2;