Встроенный язык
Встроенный язык. Инструкции препроцессора
Код системы 1С:Предприятие 8.0 может исполняться в файловом, клиентском и серверном окружении, а также в сессии COM-соединения. При этом можно в конфигураторе настроить место выполнения (на сервере или на клиенте) различных процедур и функций для каждого из вариантов.
Для указания разрешения использования процедур следует воспользоваться директивой препроцессора.
Конструкция типа
#Если Сервер тогда : Процедура Проц1() экспорт : КонецПроцедуры : #КонецЕсли
позволит указать системе, что процедура Проц1() должна выполняться на сервере, а конструкция
#Если Клиент тогда : Процедура Проц2() экспорт : КонецПроцедуры : #КонецЕсли
укажет на выполнение Проц2() на клиентской машине.
Для включения использования процедур и функций в сессии внешнего соединения применяется инструкция препроцессора
#Если ВнешнееСоединение тогда : #КонецЕсли
Встроенный язык. Системные перечисления
Системные перечисления предназначены для определения некоторого набора предопределенных значений. Доступ к системным перечислениям осуществляется как к свойствам глобального контекста. Конкретные значения указываются через точку от имени системного перечисления. Значения системных перечислений не перебираются по индексу.
К системным перечислениям, например, относятся следующие:
- КодВозвратаДиалога
- РежимБегущейСтроки
- ОбходРезультатаЗапроса
- РежимПроведенияДокумента
- ВариантПериода
- и др.
Не следует путать системные перечисления и системные наборы значений (например системный набор значений "Символы").
Встроенный язык. Встроенные функции
К встроенным функциям языка относятся функции работы со значениями типа дата, строка, число, а также функции преобразования значений и функции форматирования (Формат()).
Для работы с переменными типа "дата" в платформе предусмотрены следующие встроенные функции языка:
- День(<дата>)
- ДеньГода(<дата>)
- ДеньНедели(<дата>)
- ДобавитьМесяц(<дата>,<число>)
- КонецГода(<дата>)
- КонецДня(<дата>)
- КонецЧаса(<дата>)
- ТекущаяДата() и др.
Задание 8
Создайте внешнюю обработку "ПримерРаботыСДатой". На форме обработки разместите реквизиты: "ИсходнаяДата" и "КоличествоДней". По кнопке сформировать организуйте вывод в текстовое поле даты, полученной прибавлением к исходной дате указанного количества дней.
Встроенный язык. Глобальный контекст
Глобальный контекст инициализируется при открытии конфигурации в режиме "1С:Предприятие" и существует вплоть до ее закрытия. Все свойства, процедуры и функции глобального контекста доступны в любом программном модуле конфигурации. Доступ к свойствам, процедурам и функциям глобального контекста осуществляется непосредственно из любого программного модуля, используя их имена (без ссылки на какой-либо объект).
Важно! У всех событий глобального контекста назначены предопределенные процедуры-обработчики. Имена процедур соответствуют именам событий. Все процедуры должны располагаться в модуле приложения.
Глобальный контекст: Свойства: БиблиотекаКартинок (PictureLib) БиблиотекаСтилей (StyleLib) БизнесПроцессы (BusinessProcesses) ВнешниеОбработки (ExternalProcessings) ГлавныйИнтерфейс (MainInterface) ГлавныйСтиль (MainStyle) Документы (Documents) ЖурналыДокументов (DocumentJournals) Задачи (Tasks) ИспользованиеРабочейДаты (WorkingDateUse) : ПользователиИнформационнойБазы (InfoBaseUsers) Последовательности (Sequences) РабочаяДата (WorkingDate) РегистрыБухгалтерии (AccountingRegisters) РегистрыНакопления (AccumulationRegisters) РегистрыРасчета (CalculationRegisters) РегистрыСведений (InformationRegisters) Справочники (Catalogs) |
В разделе "Интерфейсы" мы уже упоминали о программном переключении интерфейсов. Рассмотрим подробнее свойство глобального контекста "ГлавныйИнтерфейс". Тип значения: КоллекцияЭлементовУправленияИнтерфейсами. Используется для доступа к определенным в конфигурации пользовательским интерфейсам. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Свойство "РабочаяДата" содержит рабочую дату, используемую в текущем сеансе работы с конфигурацией. Доступно для записи в случае, если свойство "ИспользованиеРабочейДаты" имеет значение "Назначать".
У КоллекцияЭлементовУправленияИнтерфейсами есть метод
ПереключитьИнтерфейс(<Имена интерфейсов>)
<Имена интерфейсов> (необязательный) - тип: Строка, перечисленные через запятую имена интерфейсов, которые следует сделать видимыми.
Это способ группового управления видимостью командных интерфейсов. При вызове данного метода сначала становятся невидимыми все интерфейсы, кроме имеющих значение Ложь у свойства Переключаемый, а затем становятся видимыми перечисленные в параметре интерфейсы.
Например:
Интерфейсы.ПереключитьИнтерфейс("ИнтерфейсОсновной,ИнтерфейсПродажи");
Методы: Base64Значение (Base64Value) Base64Строка (Base64String) XMLЗначение (XMLValue) XMLСтрока (XMLString) XMLТип (XMLType) XMLТипЗнч (XMLTypeOf) ВвестиДату (InputDate) ВвестиЗначение (InputValue) ВвестиСтроку (InputString) ВвестиЧисло (InputNumber) ВозможностьЧтенияXML (CanReadXML) Вопрос (DoQueryBox) : УдалитьОбъекты (DeleteObjects) УдалитьФайлы (DeleteFiles) УстановитьЗаголовокСистемы (SetCaption) УстановитьМонопольныйРежим (SetExclusiveMode) ЧислоПрописью (NumberInWords) |
Рассмотрим подробнее процедуру "ОбработкаПрерыванияПользователя". Данная процедура предназначена для прерывания работы встроенного языка при нажатии пользователем клавиши Ctrl+Break. Метод проверяет, была ли нажата пользователем клавиша Ctrl+Break. Если клавиша была нажата, то выполнение встроенного языка прекращается и выдается соответствующее сообщение. Данный метод рекомендуется использовать в длительных циклических операциях. Метод будет иметь действия только в тех случаях, когда допускается прерывание выполнения модулей. Прерывание выполнения допускается, если оно инициировано определенным интерактивным действием пользователя. К таким действиям относятся: нажатие кнопки в форме; выбор пункта меню или кнопки панели инструментов в форме; выбор пункта меню или кнопки панели инструментов интерфейса; действия, инициируемые обработчиками событий "Выбор" элементов управления.
Свойства и методы глобального контекста не являются конструкциями встроенного языка.
Задание 9
Перед завершением работы системы задать вопрос: "Вы уверены, что хотите завершить работу с системой?".