Новое в версии 5.0
Модульная разработка
«1С:Исполнитель» теперь поддерживает модульный подход к разработке. Вы можете создавать скрипты, содержащие переи спользуемый код, и подключать их к другим скриптам (подробнее).
Поддержка модульности также реализована в расширении 1C:Executor для Visual Studio Code. В частности, доступны такие механизмы, как автодополнение, переход к подключаемым скриптам, переход к определениям и использованиям, быстрые исправления и т. д.
Встроенный язык
Аннотация @ПроверятьИспользованиеЗначения
Добавлена аннотация @ПроверятьИспользованиеЗначения
. Данной аннотацией помечаются методы, смысл которых заключается в возврате значений, например: Обходимое.Сортировать
, Число.Округлить
или Строка.ВВерхнийРегистр
. Если метод помечен этой аннотацией и возвращаемое им значение не используется, то компилятор выдает ошибку.
Оператор динамического доступа к свойству объекта []
Оператор []
больше не поддерживается по умолчанию у всех объектов. Например, оператор по-прежнему разрешен для типов Соответствие
и Массив
, но не поддерживается для пользовательских элементов типа Структура
. Чтобы обеспечить динамический доступ к свойству объекта, который не поддерживает оператор []
, используйте механизм отражения или приведите переменную к типу неизвестно
перед использованием оператора []
(подробнее).
Изменен синтаксис оператора «умолчание»
Синтаксис оператора умолчание изменен с умолчание
на ??
.
Было: знч Значение = Структура.Поле умолчание 0
Стало: знч Значение = Структура.Поле ?? 0
Именованные параметры в обобщенных типах
Добавлена возможность указывать параметры обобщенных типов в именованной форме по аналогии с именованными параметрами методов.
Синтаксис: ИмяОбобщенногоТипа<[ИмяПараметра1 =] Тип1, ..., [ИмяПараметраN =] ТипN>
Пример: Соответствие<Число, ТипЗначения = Строка>
Ограничения:
- в именованной форме нельзя указать параметры функциональных типов;
- именованные параметры должны следовать строго за позиционными (при их наличии).
«Тип» сделан обобщенным
Тип данных Тип
сделан обобщенным. Например: Тип<Объект?>
(значение по умолчанию).
Новый тип «РазмерБайтов»
Добавлен новый тип РазмерБайтов
— размер в байтах. Допустимые значения: от 0 до 9007199254740991. Литерал имеет вид [<A>тб][<B>гб][<C>мб][<D>кб][<E>б]
, где <A>
, <B>
, <C>
, <D>
, <E>
— соответствующее количество терабайтов, гигабайтов, мегабайтов и т. д. Например: 1тб2гб3мб4кб5б. Любой элемент может быть опущен, если соответствующее значение равно нулю.
-
В следующих методах возвращаемое значение изменилось с
Число
наРазмерБайтов
:Байты.Размер(): РазмерБайтов
;ВложениеВзаимодействия.Размер(): РазмерБайтов
;ВременныйПотокЗаписи.Размер(): РазмерБайтов
;РезультатЧтенияДанных.Размер(): РазмерБайтов
;ЭлементZip.РазмерСжатого(): РазмерБайтов
;ЭлементZip.РазмерНесжатого(): РазмерБайтов
.
-
В следующих типах изменился тип свойства
Размер
сЧисло
наРазмерБайтов
:ВложениеВзаимодействия.Размер: РазмерБайтов
;Файл.Размер: РазмерБайтов?
;ФайлSftp.Размер: РазмерБайтов?
.
-
В конструкторе типа
ВременныйПотокЗаписи
тип параметраРазмерБуфера
изменился сЧисло
наРазмерБайтов
:ВременныйПотокЗаписи(РазмерБуфера: РазмерБайтов = 100кб)
-
В типе
НастройкиПоискаФайлов
для методаРазмер()
изменился тип параметровОт
иДо
сЧисло?
наРазмерБайтов|Число|?
:Размер(От: РазмерБайтов|Число|? = Неопределено,
До: РазмерБайтов|Число|? = Неопределено
): НастройкиПоискаФайлов