Отличия встроенного языка от версии 7.7

Добавил admin | Отличия встроенного языка от версии 7.7 | Воскресенье 4 октября 2009 16:03
  • Разработана новая унифицированная объектная модель встроенного языка 1С:Предприятия 8.0. Переименованы, добавлены или удалены многие объекты, свойства, методы и события. Все это привело к несовместимости с языком версии 7.7, но позволило резко расширить возможности платформы, ускорить ее освоение, повысить понятность программных модулей.

  • Введены новые литералы и типы данных, например, литералы Неопределено, Null, Истина и Ложь (тип данных «булево»).

  • Тип «дата» включает в себя время. Для указания пустой даты используется литерал ‘0001010Г.

  • Введено сокращенное вычисление логических выражений.

  • С помощью оператора [...] (квадратные скобки) производится обращение к свойствам объектов по их имени. Таким же образом возможно обращение по индексу или другому параметру к элементам некоторых коллекций.

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

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

  • Введен новый тип циклов «Для Каждого» (for each), используемый для обхода элементов коллекций.

  • • Введен оператор Новый, предназначенный для создания новых значений определенных типов. Для обращения к прикладным объектам этот оператор не используется, например, «Спр = Справочники.Контрагенты». Функции СоздатьОбъект больше не существует. »

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

  • • При вычислении разницы между датами возвращается число секунд между ними.

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

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

  • • Теперь нельзя передать контекст, как было раньше, с помощью параметра Контекст. Всегда передается конкретный объект, например, Форма или СправочникОбъект.

  • • Больше нет ключевого слова Далее. Теперь предварительное объявление процедур и функций не требуется, т.е. внутри модуля они могут располагаться в любом порядке.

  • • Текстовый редактор программных модулей поддерживает группировку (свертку) синтаксических конструкций, а также описаний процедур и функций, записанных в виде комментариев.

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

Изменения во встроенных функциях, свойствах и методах глобального контекста:

  • • Добавлены математические функции Sin, Cos, Tan, ASin, ACos, ATan, Exp, Log (натуральный логарифм), LoglO (десятичный логарифм), Pow (возведение в степень), Sqrt (квадратный корень).

  • • Для получения типа значения используется функция ТипЗнч(), которая возвращает объект специального типа «Тип». Для получения типа по его строковому представлению используется функция Тип().

  • Вместо команды ОткрытьФорму для просмотра значений или объектов (справочников, документов и т.д.) можно применять команду ОткрытьЗначение. Для открытия нужной формы объекта также применяются методы, аналогичные ПолучитьФорму() и метод Открыть() объекта Форма.

  • Доступ к внешним обработкам производится не через ОткрытьФорму, как было в версии 7.7, а через менеджер внешних обработок, который содержится в свойстве ВнешниеОбработки глобального контекста.

  • Расширены возможности форматирования, для чего существуют функции Формат, НСтр, ПредставлениеПериода.

  • Добавлены или изменены события ПередНачаломРаботыСистемы, ПриНачалеРаботыСистемы, ПередЗавершениемРаботыСистемы и ПриЗавершенииРаботыСистемы. Добавлены процедуры ПрекратитьРаботуСистемы и ЗаблокироватьРаботуПользователя.

  • Функции КаталогИБ и КаталогПользователя удалены, поскольку теперь эти каталоги существуют не всегда.

  • Изменена функция ПравоДоступа и введена новая функция РольДоступна.

  • Функция ЗаголовокСистемы заменена на функции УстановитьЗаголовокСистемы и ПолучитьЗаголовокСистемы.

  • Приемы работы с монопольным режимом изменились. Введена функция МонопольныйРежим и процедура УстановитьМонопольныйРежим.

  • Для работы с объектами, помеченными на удаление, существуют процедуры и функции НайтиПомеченныеНаУдаление, НайтиПоСсьлкам, УдалитьОбъекты.

  • Вместо функции ОбработкаОжидания введены функции ПодключитьОбработчикОжидания и ОтключитьОбработчикОжидания.

  • Для работы со справочной системой по конфигурации введены новые функции ОткрытьСправку, ОткрытьСодержаниеСправки, ОткрытьИндексСправки.

  • Функция РабочаяДата() заменена на свойство глобального контекста РабочаяДата, которое доступно для записи в случае, если свойство ИспользованиеРабочейДаты имеет значение РежимРабочейДаты.Назначать.

  • Функции ПустоеЗначение больше не существует.

  • Функции ДатаЧисло, ДатаМесяц, ДатаГод заменены на День, Месяц, Год. Так как значения типа «дата» включают в себя время, то добавлены аналогичные функции для извлечения времени из даты: Час, Минута, Секунда.