Новое в версии 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, если элементов нет.
Также для типов Последовательность и Обходимое добавлен метод Первый(), который возвращает первый элемент.
Для типа ЧитаемыйМассив метод Первый() удален.
Тип «Объектн оеХранилище»
Теперь параметр Размер, указывающий размер загружаемого двоичного объекта из потока ВходнойПоток, является необязательным в перегрузках метода ОбъектноеХранилище.Загрузить():
Загрузить(
ВходнойПоток: ПотокЧтения,
Размер: РазмерБайтов|Число|?,
Свойства: ДвоичныйОбъект.Свойства,
ТаймаутУстаревания: Длительность? = Неопределено
): ДвоичныйОбъект
Загрузить(
ВходнойПоток: ПотокЧтения,
Размер: РазмерБайтов|Число|? = Неопределено,
ТипСодержимого: Строка? = Неопределено,
Свойства: ДвоичныйОбъект.Свойства? = Неопределено,
ТаймаутУстаревания: Длительность? = Неопределено
): ДвоичныйОбъект
Если при вызове метода параметр Размер не указан, весь поток будет прочитан и загружен в хранилище.
Умолчания
Для некоторых типов удалены/добавлены/изменены методы, в которых используются значения по умолчанию. Добавлены ленивые перегрузки.
Для типа ЧитаемоеСоответствие:
-
метод
ПолучитьИлиУмолчание(Ключ: ТипКлюча): Т ипЗначения?переименован вПолучитьИлиНеопределено(Ключ: ТипКлюча): ТипЗначения?, -
метод
ПолучитьИлиУмолчание<ТипУмолчания>(Ключ: ТипКлюча, Умолчание: ТипЗначения|ТипУмолчания): ТипЗначения|ТипУмолчаниязаменен наПолучитьИлиУмолчание(Ключ: ТипКлюча, Умолчание: ТипЗначения): ТипЗначенияс ленивой перегрузкойПолучитьИлиУмолчание<ТипУмолчания>(Ключ: ТипКлюча, ВычислительУмолчания: ()->ТипЗначения|ТипУмолчания): ТипЗначения|ТипУмолчания.
Кроме того, для типа Последовательность:
-
метод
ЕдинственныйИлиУмолчание(): ТипЭлемента?переименован вЕдинственныйИлиНеопределено(): ТипЭлемента?, -
метод
ЕдинственныйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчаниязаменен наЕдинственныйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлементас ленивой перегрузкойЕдинственныйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания, -
метод
ПервыйИлиУмолчание(): ТипЭлемента?переименован вПервыйИлиНеопределено(): ТипЭлемента?, -
метод
ПервыйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчаниязаменен наПервыйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлементас ленивой перегрузкойПервыйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания.
И то же самое для типа Обходимое:
-
метод
ЕдинственныйИлиУмолчание(): ТипЭлемента?переименован вЕдинственныйИлиНеопределено(): ТипЭлемента?, -
метод
ЕдинственныйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчаниязаменен наЕдинственныйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлементас ленивой перегрузкойЕдинственныйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания, -
метод
ПервыйИлиУмолчание(): ТипЭлемента?переименован вПервыйИлиНеопределено(): ТипЭлемента?, -
метод
ПервыйИлиУмолчание<ТипУмолчания>(Умолчание: ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчаниязаменен наПервыйИлиУмолчание(Умолчание: ТипЭлемента): ТипЭлементас ленивой перегрузкойПервыйИлиУмолчание<ТипУмолчания>(ВычислительУмолчания: ()->ТипЭлемента|ТипУмолчания): ТипЭлемента|ТипУмолчания.
Тип «Ууид»
Для типа Ууид добавлена поддержка версий. Теперь конструктор типа без параметров создает Ууид версии 7 на основе упорядоченной временной метки и случайного значения. Версии Ууид могут быть установлены с помощью соответствующих статических методов типа (подробнее).
Изменения в объектной модели
Переименования
Http
-
ЗапросHttp:МетодHttp⟶МетодВыполнить():КонтекстHttp⟶Контекст
-
ОтветHttp:КодСостояния⟶КодСтатуса

