Новое в версии 7.0
Сервер
Настроечные файлы сервера
В настроечный файл сервера integrationBus.yml добавлены дополнительные параметры для управления размером пула потоков, влияющие на пропускную способность обработки сообщений и потребление ресурсов сервера:
max-io-client-thread-pool-size
— определяет максимальный размер пула потоков потребителей и производителей сообщений с внеш ним вводом/выводом,max-vm-client-thread-pool-size
— определяет максимальный размер пула потоков внутренних потребителей и производителей сообщений.
Среда разработки
Совместная разработка
Добавлена возможность одновременной совместной разработки одного проекта несколькими разработчиками в общей среде разработки (подробнее).
Настройки сред разработки
В настройки параметров сред разработки добавлена возможность отслеживания времени бездействия разработчика. По истечении установленного времени сеанс разработки будет остановлен, а «1С:Шина» отобразит окно с соответствующим предупреждением:
Параметры среды разработки
Улучшены внешний вид и удобство использования окна параметров среды разработки:
Левая панель действий
Добавлено новое выпадающее меню Запуск и публикация, позволяющее: опубликовать проект, открыть приложение, начать отладку приложения и открыть панель управления.
Добавлено новое представление Закладки, которое отображает все созданные в редакторе текстовых файлов закладки.
Навигатор проекта
Создание нового элемента
Улучшен процесс создания новых элементов:
- если для компонента существует только один дочерний элемент, то он создастся автоматически после нажатия на значок Новый — без отображения списка доступных элементов и с автоматически сгенерированным име нем на основании имени родительского элемента (подробнее),
- для всех дочерних элементов имя генерируется на основании родительского элемента проекта.
Поиск в навигаторе
В представление Проект добавлено поле ввода для поиска элементов по названию.
Окно редакторов
Изменено отображение открытых вкладок в окне редакторов: чтобы увидеть все вкладки, можно нажать на специальный значок Показать остальные вкладки:
Также изменено отображение иконок для различных форматов отрытых в редакторе файлов:
Редактор текстовых файлов
В редакторе текстовых файлов реализовано использование закладок для отметки строк в программном коде, чтобы осуществлять быстрое перемещение между ними (подробнее).
Отладка проекта
Изменены горячие клавиши и порядок запуска отладки (подробнее).
Строка состояния
В строке состояния более не отображаются:
- версия технологии,
- формат конца строки,
- используемая кодировка,
- стиль отступов,
- формат редактируемого файла.
Добавлены новые команды для совместной разработки: Разработчики и Скопировать ссылку.
Было:
Стало:
Панель свойств
Теперь при удалении обработчика с помощью кнопки Сбросить появляется диалоговое окно с предложением удалить обработчик из модуля.
При выборе типа имя-сущности.Ссылка
к нему автоматически добавляется Неопределено
(подробнее).
Режимы совместимости
Изменились настройки свойства РежимСовместимости в файле Проект.yaml.
- Допускается указывать режим совместимости, соответствующий старой версии технологии (не ниже версии 6.0). В таком режиме технология ведет себя как указанная версия:
- работают старые названия методов, свойств и типов;
- работают устаревшие формы API;
- поведение системы соответствует указанной версии технологии.
- Настройки режима совместимости должны совпадать с настройками приложений и всех библиотек (в том числе транзитивных).
- Запрещается понижать режим совместимости. После публикации на сервере приложения с режимом совместимости N публикация с настройкой N-1 невозможна.
Теперь можно получить режим совместимости во встроенном языке с помощью свойства РежимСовместимости
типа Проект
. Оно описывает режим совместимости, указанный в описании проекта. Свойство доступно на клиенте и сервере только для чтения.
В пространство имен Стд
добавлено перечисление РежимСовместимости
с элементами:
Улучшен процесс конвертации проекта при смене режима совместимости.
-
Изменился элемент управления панели свойств, позволяющий увеличить режим совместимости:
-
Реализован новый диалог, позволяющий выбрать способ увеличения режима совместимости:
-
Добавлено уведомление о том, что проект находится в режиме совместимости при запуске среды разработки:
-
Добавлена конвертация устаревших терминов в коде проекта.
Компоненты интерфейса
Цветовая схема
Добавлено новое перечисление Стд::Интерфейс::Цветов аяСхема
, которое определяет текущую цветовую схему приложения.
Элементы:
Автоматический интерфейс
В панель действий добавлена иконка переключения цветовой схемы:
Элементы проекта
Проверка элементов проекта
Добавлена проверка разрешенных элементов проекта. Использование элементов, недоступных в навигаторе проекта, приведет к ошибке сборки проекта.
Процессы интеграции
Для элемента проекта Процесс интеграции добавлен новый способ задавать маршруты и связи между узлами:
- с помощью последовательного выбора узлов, если предварительно был выбран вид коннектора.
Прикладная функциональность
Секрет приложения
Добавлено новое пространство имен Стд::Безопасность
, содержащее объекты для безопасной работы с секретными и конфиденциальными данными (подробнее). Включает следующие типы:
Секрет
— тип данных, позволяющий хранить значение в зашифрованном виде. Является базовым для типаСекретПриложения
.СекретПриложения
— секрет, уникальный для приложения. Может использоваться в реквизитах сущностей.ИсключениеДоступаКСекрету
— возникает при раскрытии секрета, если в системе отсутствует соответствующий ключ шифрования.
Штамп времени
-
Добавлено новое исключение
ИсключениеЗапросаШтампаВремениПодписи
, которое выбрасывается при ошибке запроса к сервису штампов времени при создании криптографической подписи или при добавлении к ней штампа времени. Исключение содержит свойстваВидОшибки
иПодписьБезШтампа
. Подпись без штампа позволяет проставить штамп времени позднее. Это можно сделать, используя новый статический методВычислительПодписи.ДобавитьШтампВремени()
. -
В пространство имен
Стд::Криптография
добавлен типВидОшибкиЗапросаШтампаВремениПодписи
— вид ошибки, которую выбросил сервис получения штампа времени. Может принимать следующие значения: -
Изменено свойство
ВерификаторПодписи.МоментПодписи
: теперь оно описывает момент, в который на подпись был поставлен штамп времени. Если штамп отсутствует, то свойство содержит момент вычисления подписи, указанный в данных подписи CMS.
Контроль доступа
-
Для элемента проекта КлючДоступа изменена сигнатура обработчика
ПроверитьНаличиеКлючейДоступа()
:- тип параметра
Пользователи
изменен сЧитаемыйМассив<Пользователи.Объект>
наЧитаемыйМассив<Пользователи.Ссылка>
; - тип возвращаемого значения изменен с
ЧитаемоеСоответствие<ИмяКлючаДоступа.Объект, ЧитаемаяКоллекция<Пользователи.Объект|Пользователи.Ссылка>>
наЧитаемоеСоответствие<ИмяКлючаДоступа.Объект, ЧитаемаяКоллекция<Пользователи.Ссылка>>
.
Было:
@Обработчик
ПроверитьНаличиеКлючейДоступа(
Ключи: ЧитаемыйМассив<ИмяКлючаДоступа.Объект>,
Пользователи: ЧитаемыйМассив<Пользователи.Объект>
): ЧитаемоеСоответствие<ИмяКлючаДоступа.Объект,ЧитаемаяКоллекция<Пользователи.Объект|Пользователи.Ссылка>>Стало:
@Обработчик
ПроверитьНаличиеКлючейДоступа(
Ключи: ЧитаемыйМассив<ИмяКлючаДоступа.Объект>,
Пользователи: ЧитаемыйМассив<Пользователи.Ссылка>
): ЧитаемоеСоответствие<ИмяКлючаДоступа.Объект,ЧитаемаяКоллекция<Пользователи.Ссылка>> - тип параметра
-
Для методов, предназначенных для пересчета ключей и разрешений доступа, добавлены перегрузки, принимающие в качестве параметров ссылки на объекты:
ИмяКлючаДоступа.ПересчитатьКлючи(Пользователи: ЧитаемыйМассив<Пользователи.Ссылка>? = Неопределено, <Параметр1>: <ТипПараметра1>, .... <ПараметрN>: <ТипПараметраN>)
;Пользователи.ПересчитатьКлючиДоступа(Пользователи: ЧитаемыйМассив<Пользователи.Ссылка>? = Неопределено)
;ИмяКлючаДоступа.Объект.Пересчитать(Пользователи: ЧитаемыйМассив<Пользователи.Ссылка>? = Неопределено)
;ИмяПланаОбмена.ПересчитатьРазрешенияДоступаДляОбъектов(Объекты: Обходимое<ИмяПланаОбмена.Ссылка>)
;ИмяРегистраСведений.ПересчитатьРазрешенияДоступаДляОбъектов(Объекты: ЧитаемыйМассив<ИмяРегистраСведений.КлючЗаписи>)
.
Перегрузки методов, принимающие объекты, удалены:
ИмяКлючаДоступа.ПересчитатьКлючи(Пользователи: ЧитаемыйМассив<Пользователи.Объект>? = Неопределено, <Параметр1>: <ТипПараметра1>, .... <ПараметрN>: <ТипПараметраN>)
;Пользователи.ПересчитатьКлючиДоступа(Пользователи: ЧитаемыйМассив<Пользователи.Объект>? = Неопределено)
;ИмяКлючаДоступа.Объект.Пересчитать(Пользователи: ЧитаемыйМассив<Пользователи.Объект>? = Неопределено)
;ИмяПланаОбмена.ПересчитатьРазрешенияДоступаДляОбъектов(Объекты: Обходимое<ИмяПланаОбмена.Объект>)
;ИмяРегистраСве дений.ПересчитатьРазрешенияДоступаДляОбъектов(Объекты: ЧитаемыйМассив<ИмяРегистраСведений.Запись>)
;
Обработчики обновления
При создании приложения все существующие обработчики обновления (@ОбновлениеПроекта) помечаются как выполненные и не вызываются при следующем обновлении приложения.
Файлы
Реализован поиск файлов по регулярному выражению (подробнее).
В тип НастройкаПоискаФайлов
добавлен метод ИмяСоответствует()
, который в качестве параметра принимает объект типа Образец
.
метод ПоискФайлов(КорневойКаталог: Файл): ЧитаемыйМассив<Файл>
пер ПоискПоРегулярномуВыражению = новый НастройкиПоискаФайлов().ИмяСоответствует('\.cf$')
пер НайденныеФайлы = Файлы.Найти(КорневойКаталог, ПоискПоРегулярномуВыражению)
возврат НайденныеФайлы
;
При одновременной настройке поиска по регулярному выражению и подстроке (с помощью метода ИмяСодержит()
) используется последний заданный фильтр.
JSON
Изменено поведение десериализации объектов JSON: если необходимого поля структуры нет в читаемом тексте JSON, в поле устанавливается значение Неопределено
. Для этого было изменено поведение настроек НастройкиЧтенияОбъектовJson
(подробнее).
Встроенный язык
Тип «Число»
Добавлена перегрузка конструктора типа Число
, с помощью которой можно преобразовать строковое представление числа в соответствующий экземпляр типа с заданным основанием:
Число(
Строка: Строка,
Основание: Число
)
Работа с последовательностями
Для типов Последовательность
и Обходимое
добавлены методы для работы с числовыми последовательностями:
Среднее()
— возвращает среднее арифметическое элементов типаЧисло
.СреднееИлиУмолчание()
— возвращает среднее арифметическое элементов типаЧисло
илиУмолчание
, если элементов нет.Сумма()
— возвращает сумму элементов типаЧисло
или0
, если элементов нет.
Также для типов Последовательность
и Обходимое
добавлен метод Первый()
, который возвращает первый элемент.
Для типа ЧитаемыйМассив
метод Первый()
удален.
Тип «ОбъектноеХранилище»
Теперь параметр Размер
, указывающий размер загружаемого двоичного объекта из потока ВходнойПоток
, является необязательным в перегрузках метода ОбъектноеХранилище.Загрузить()
:
Загрузить(
ВходнойПоток: ПотокЧтения,
Размер: РазмерБайтов|Число|?,
Свойства: ДвоичныйОбъект.Свойства,
ТаймаутУстаревания: Длительность? = Неопределено
): ДвоичныйОбъект
Загрузить(
ВходнойПоток: ПотокЧтения,
Размер: РазмерБайтов|Число|? = Неопределено,
ТипСодержимого: Строка? = Неопределено,
Свойства: ДвоичныйОбъект.Свойства? = Неопределено,
ТаймаутУстаревания: Длительность? = Неопределено
): ДвоичныйОбъект
Если при вызове метода параметр Размер
не указан, весь поток будет прочитан и загружен в хранилище.
Умолчания
Для некоторых типов удалены/добавлены/изменены методы, в которых используются значения по умолчанию. Добавлены ленивые перегрузки.
Для типа ЧитаемоеСоответствие
:
-
метод
ПолучитьИлиУмолчание(Ключ: ТипКлюча): ТипЗначения?
переименован вПолучитьИлиНеопределено(Ключ: ТипКлюча): ТипЗначения?
, -
метод
ПолучитьИлиУмолчание<ТипУмолчания>(Ключ: ТипКлюча, Умолчание: ТипЗначения|ТипУмолчания): ТипЗначения|Тип Умолчания
заменен наПолучитьИлиУмолчание(Ключ: ТипКлюча, Умолчание: ТипЗначения): ТипЗначения
с ленивой перегрузкойПолучитьИлиУмолчание<ТипУмолчания>(Ключ: ТипКлюча, ВычислительУмолчания: ()->ТипЗначения|ТипУмолчания): ТипЗначения|ТипУмолчания
.
Кроме того, для типа Последовательность
:
-
метод
ЕдинственныйИлиУмолчание(): ТипЭлемента?
переименован вЕдинственныйИлиНеопределено(): ТипЭлемента?
, -
метод
ЕдинственныйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
заменен наЕдинственныйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлемента
с ленивой перегрузкойЕдинственныйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
, -
метод
ПервыйИлиУмолчание(): ТипЭлемента?
переименован вПервыйИлиНеопределено(): ТипЭлемента?
, -
метод
ПервыйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
заменен наПервыйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлемента
с ленивой перегрузкойПервыйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
.
И то же самое для типа Обходимое
:
-
метод
ЕдинственныйИлиУмолчание(): ТипЭлемента?
переименован вЕдинственныйИлиНеопределено(): ТипЭлемента?
, -
метод
ЕдинственныйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
заменен наЕдинственныйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлемента
с ленивой перегрузкойЕдинственныйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
, -
метод
ПервыйИлиУмолчание(): ТипЭлемента?
переименован вПервыйИлиНеопределено(): ТипЭлемента?
, -
метод
ПервыйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
заменен наПервыйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлемента
с ленивой перегрузкойПервыйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания
.
Изменения в объектной модели
Переименования
Http
-
ЗапросHttp
:МетодHttp
⟶Метод
Выполнить()
:КонтекстHttp
⟶Контекст
-
ОтветHttp
:КодСостояния
⟶КодСтатуса
БезопасноеХранилище
ПоддерживаетсяВидЗащиты()
иПоместитьДанные()
:ВидЗащитыБезопасногоХранилища
⟶ВидЗащиты
ВводВывод
Файлы
:ПолучитьДомашнийКаталог()
⟶ПолучитьДомашнийКаталогПользователя()
ДоставляемыеУведомления
-
ДействиеДоставляемогоУведомления
иДействиеДоставляемогоУведомленияВводТекста
:АктивизироватьПриложение()
⟶АктивироватьПриложение()
-
Только
ДействиеДоставляемогоУведомленияВводТекста
:ПриРазблокированномУстройстве
⟶ТребуетсяРазблокировка
Отражение
ОтражениеЭлементаПроекта
:ПоТипу()
:ТипЭлементаПроекта
⟶Тип
ПроцессОс
- Конструктор и метод
ПередатьВыводВ()
:КомандаЗапуска
⟶Команда
СредаИсполнения
-
ПолучитьПеременную()
:ИмяПеременнойСреды
⟶Имя
-
ПолучитьСвойство()
:ИмяСвойства
⟶Имя
Стандартная библиотека
Строка
иИзменяемыйМассив
:Развернуть()
⟶Перевернуть()
Сущности
ГрупповаяОперация
:Начать()
:ОтложенныйРасчетПрав
⟶ОтложенныйРасчетДоступов
ЭлементФильтраНабораЗаписей
⟶Сущность.НаборЗаписей.Фильтр.Элемент
ЭлементФильтраНабораЗаписей.Данные
⟶Сущность.НаборЗаписей.Фильтр.Элемент.Данные
Локализация
Интеграционная шина
InformationSystems
⟶ИнформационныеСистемы
Description
⟶Описание
DefaultUser
⟶ПользовательПоУмолчанию
TokenId
⟶ИдТокена
NavigationCommandInfSystems
⟶НавигационнаяКомандаИнформационныеСистемы
NavigationCommandIntegrationProcesses
⟶НавигационнаяКомандаПроцессыИнтеграции