Новое в версии 10.0
Содержание
- Регистрация и аутентификация пользователей
- Панель управления
- Среда разработки
- Разработка с ИИ-ассистентом
- Документирующие комментарии
- Работа с модулями
- Представление «Проблемы»
- Отображение проблем
- Редактирование свойств
- Параметры типа
- Отображение иерархий
- Отображение документации с использованием клавиатуры
- Именование элементов
- Переименование элементов
- Отладка
- Проверка состояния приложения
- Разработка расширений
- Элементы проекта
- Прикладная функциональность
- Язык «1С:Элемент»
- Язык запросов
- Исправления ошибок
- Нарушения обратной совместимости
- Изменения в документации
Регистрация и аутентификация пользователей
Аутентификация пользователей
Реализовано хранение данных о пользователях, прошедших аутентификацию, что позволяет им не проходить аутентификацию заново в случае перезапуска сервиса аутентификации.
Менеджер аутентификации
Менеджер аутентификации теперь сохраняет сертификат для подписи JWT-токенов между перезапусками. Благодаря этому ранее выданные Bearer-токены остаются валидными после перезапуска менеджера аутентификации и не требуют перевыпуска.
Настройка формы аутентификации
В панели управления на странице приложения обновлен дизайн макета формы аутентификации и изменены возможности по ее настройке.
Самостоятельная регистрация пользователей
Улучшен дизайн компонентов самостоятельной регистрации и самообслуживания.
Операции самообслуживания
Добавлены новые типы для регистрации пользователя:
ОперацияПошаговойРегистрацииСЛогином— операция самостоятельной регистрации по логину, паролю и контакту,ОперацияПошаговойРегистрацииСВнешнейУчетнойЗаписью— операция самостоятельной регистрации с помощью внешней учетной записи.
Для доступа к этим операциям в тип ОперацииСамообслуживания добавлены методы ПошаговаяРегистрацияСЛогином() и
ПошаговаяРегистрацияСВнешнейУчетнойЗаписью().
Статусы операций возвращают типы СтатусОперацииПошаговойРегистрацииСЛогином и СтатусОперацииПошаговойРегистрацииСВнешнейУчетнойЗаписью, которые наследуются от базового типа СтатусПошаговойОперацииСамообслуживания.
Тип СтатусПодтвержденияКонтакта описывает статус подтверждения контакта в операции самостоятельной регистрации по логину и паролю.
В перечисление ВидПараметраОперацииСамообслуживания добавлены новые элементы:
Параметр— параметр самостоятельной регистрации пользователя,УчетнаяЗапись— внешняя учетная запись пользователя.
Пользовательские соглашения
Реализована поддержка пользовательских соглашений, отображаемых при входе и самостоятельной регистрации.
В описание проекта добавлено свойство ПользовательскиеСоглашения, задающее массив соглашений. Соглашение может быть задано файлом (txt, pdf, html) или ссылкой, в том числе относительной на клиентское приложение.
Для работы с соглашениями из кода добавлены:
Стд::Проект::ПользовательскоеСоглашение— тип, который содержит информацию о пользовательском соглашении.Стд::Проект::ПроектПриложения— тип, позволяющий получить информацию о проекте.Проект.ПолучитьПроектПриложения()— статический метод для получения проекта приложения.
Соглашения автоматически отображаются на страницах входа и самостоятельной регистрации: ссылка в нижней части формы открывает соглашение или список соглашений в отдельных вкладках.

Панель управления
Ускорение работы
Повышена производительность работы панели управления в облачных контурах с большим количеством пользователей и данных за счет использования выдаваемых ключей доступа и отключения системных пересчетов для вычисляемых ключей доступа. Это позволило избавиться от массовых пересчетов ключей и ускорить выполнение следующих сценариев:
- создание пространства,
- создание абонента,
- создание облачного сервиса,
- создание проекта,
- создание приложения,
- обновление экземпляра технологии,
- подключение пользователя к панели управления.
Выпуск релизов
Изменены формы и порядок выпуска релизов (подробнее). Теперь версия релиза задается автоматически на основе версии сборки. Реализована возможность добавить описание для каждого элемента в составе релиза.

Проекты и приложения
Изменены некоторые формы для работы с проектами и приложениями. Формы включают работу с новым видом проекта Расширение.
Массовая заморозка и разморозка приложений
В панели управления на вкладке Приложения теперь можно заморозить или разморозить несколько приложений одновременно.

Выгрузка приложения
Реализована возможность создания выгрузки без остановки работы приложения (подробнее).
Перенос среды разработки
Реализован перенос сред разработки, запущенных на каком-либо экземпляре менеджера сред разработки.
В представлении Экземпляры менеджера сред разработки для сред разработки добавлены команды Изменить квоту сред разработки и Перенести среды разработки.

На карточку экземпляра менеджера сред разработки добавлена вкладка Среды разработки.
Групповая операция переноса приложений для хостов и кластерных серверов переименована в Перенести приложения и среды разработки.
Включение и выключение обслуживания базы данных
Реализованно массовое включение и выключение режима обслуживания баз данных (подробнее).
Метки
В панель управления добавлены метки (подробнее).
Среда разработки
Разработка с ИИ-ассистентом
В среду разработки встроена поддержка «1С:Напарника» — интеллектуального помощника, который помогает писать и анализировать код, генерировать решение задач по текстовому описанию, исправлять ошибки и создавать документацию.
Для подключения «1С:Напарника» вам необходимо получить ключ доступа и ввести его в настройках среды разработки (инструкция).
Документирующие комментарии
Добавлена возможность создавать документирующие комментарии, которые предназначены для документирования собственного кода разработчика. Документирующие комментарии отображаются в контекстной подсказке в среде разработки.

Создание комментариев также поддерживается для элементов проекта. Для этого в панель свойств добавлено свойство Документирующий комментарий, которое открывает редактор для ввода комментария в формате Markdown.

Созданный комментарий будет показываться во всплывающей подсказке при наведении мыши на элемент проекта в среде разработки (навигаторе проекта и панели свойств).
Работа с модулями
Улучшена работа с модулями в навигаторе проекта:
- Изменена иконка модуля.
- Исправлена всплывающая подсказка при наведении на модуль.
- В контекстное меню добавлена команда открытия модуля. Если в структуре элемента отсутствует модуль, он будет создан автоматически.

Представление «Проблемы»
Улучшен быстрый переход к месту ошибки из панели Проблемы. Теперь он доступен для любого места проекта, в котором обнаружена ошибка.
Отображение проблем
Реализовано отображение ошибок, вызванных несуществующими свойствами и неправильным форматированием YAML-файла, в панели свойств.
Улучшено отображение ошибок и предупреждений в навигаторе проекта.
Редактирование свойств
Реализовано одновременное редактирование свойств нескольких компонентов (подробнее).
Параметры типа
Упрощен выбор типа в панели свойств. Теперь среда разработки не требует обязательного указания параметров типа, у которых есть значение по умолчанию. Такие параметры применяются автоматически.
Отображение иерархий
Улучшено отображение элементов иерархии. Теперь родительский узел иерархии не отображается в навигаторе проекта, если не содержит дочерние. Для создания дочерних узлов используйте контекстное меню.
Отображение документации с использованием клавиатуры
Реализовано отображение документации с использованием клавиатуры в диалоговых окнах добавления элементов и настройки некоторых свойств. По умолчанию используется сочетание клавиш Ctrl+Пробел. Чтобы изменить его, перейдите в раздел Сочетания клавиш и задайте новое сочетание для команды Показать документацию.
Именование элементов
Унифицирован алгоритм автоматического именования. Имена, которые присваиваются элементу при добавлении в проект, теперь формируются по единым правилам: имя составляется из оптимизированного варианта названия типа и цифрового суффикса уникальности.
Переименование элементов
Улучшен механизм переименования элементов в среде разработки:
-
Реализовано «умное» переименование с адаптацией ссылок на переименованный объект.
-
При переименовании нескольких файлов показывается диалоговое окно для подтверждения операции.

Если переименование занимает значительное время, отображается модальное окно с прогрессом операции.
-
Доработано переименование элемента в навигаторе проекта через панель свойств.
-
Устранены проблемы с очисткой имени элемента через панель свойств.
Отладка
Группа Контрольное значение представления Отладка переименована в Наблюдаемые выражения.

При нажатии на знак плюса откроется диалоговое окно для ввода наблюдаемого выражения:

Добавленное выражение можно изменить или удалить.
В главное меню среды разработки (раздел Отладка) и контекстное меню редактора кода добавлены новые пункты для работы с наблюдаемыми выражениями:

-
Добавить в наблюдаемые выражения (Alt+Shift+F10) — позволяет добавить выделенное выражение в наблюдаемые,
-
Вычислить выражение (Alt+Shift+F9) — открывает диалоговое окно для вычисления значения выделенного выражения во время отладки.

Проверка состояния приложения
Улучшена проверка состояния приложения перед отладкой и публикацией. Теперь, если приложение недоступно для отладки или публикации, пользователь будет получать уведомление с описанием ошибки, в котором будет указано текущее состояние приложения.
Разработка расширений
Добавлен новый вид проекта Расширение, предназначенный для доработки функциональности других проектов без изменения их исходных файлов (подробнее).
Элементы проекта
Реквизиты
Для реквизитов сущностей добавлено новое свойство ВажностьПриОтображении, которое определяет правила отображения реквизита в интерфейсе приложения.
Контракт сущности
Реализован модуль контракта сущности и методы для получения экземпляров типов-одиночек, которые реализуют контракт (подробнее).
Добавлено свойство ПолучениеВсехОдиночек, которое определяет возможность получения всех реализаций контракта.
Процессы интеграции
Для узлов процессов интеграции добавлена поддержка разрешений.
Прикладная функциональность
Локализация
Реализована возможность локализации интерфейса приложения на китайский, вьетнамский и таджикский языки.
Объектное хранилище
Добавлена автоматическая обработка недопустимых символов в именах файлов при их загрузке и выгрузке. В тип ОбъектноеХранилище добавлены методы:
УстановитьАвтоматическоеИсправлениеИмениФайла(),ПолучитьРежимАвтоматическогоИсправленияИмениФайла(),ПолучитьЗаменуНедопустимыхСимволовВИмениФайла().
Добавлено перечисление РежимИсправленияИмениФайлаДвоичногоОбъекта, которое задает режим обработки недопустимых символов в имени файла.
Тип «ДвоичныйОбъект»
Улучшена работа с HTTP-ссылками на двоичные объекты:
- Для типа
ДвоичныйОбъект.HttpСсылкатеперь поддерживается HEAD-запрос, который возвращает метаданные объекта в стандартных HTTP-заголовках без передачи содержимого. - Уменьшена длина ссылок, формируемых методом
ДвоичныйОбъект.Ссылка.СоздатьHttpСсылку(). Также в метод добавлен параметрТипРасположенияСодержимого, который задает значение HTTP-заголовкаContent-Dispositionпри ответе.
Вычисляемые и выдаваемые ключи доступа
Свойство РучнаяВыдача элемента проекта КлючДоступа теперь является обязательным. В зависимости от значения этого свойства создаются либо вычисляемые, либо выдаваемые ключи доступа:
- Если значение свойства равно Ложь, порождаются экземпляры вычисляемых ключей доступа. Для них доступны методы пересчетов и вызываются системные пересчеты (подробнее). Также для таких ключей доступа необходимо определить обработчик
ПроверитьНаличиеКлючейДоступа. - Если значение свойства равно Истина, порождаются экземпляры выдаваемых ключей доступа. Для таких ключей отсутствует обработчик
ПроверитьНаличиеКлючейДоступаи не выполняются никакие методы пересчетов. Вы сами определяете, какие ключи доступа должны быть у пользователей и в каких случаях их необходимо отозвать.
Изменения в объектной модели
- Удалены типы
{ИмяКлючаДоступа}и{ИмяКлючаДоступа}.Объект. Вместо них теперь порождаются следующие типы в зависимости от вида ключа доступа:- для выдаваемого ключа доступа:
{ИмяВыдаваемогоКлючаДоступа}, наследуемый от типаВыдаваемыйКлючДоступа;{ИмяВыдаваемогоКлючаДоступа}.Объект, наследуемый от типаВыдаваемыйКлючДоступа.Объект;
- для вычисляемого ключа доступа:
{ИмяВычисляемогоКлючаДоступа}, наследуемый от типаВычисляемыйКлючДоступа;{ИмяВычисляемогоКлючаДоступа}.Объект, наследуемый от типаВычисляемыйКлючДоступа.Объект.
- для выдаваемого ключа доступа:
- Для типа
КлючДоступа:- добавлен базовый тип
Одиночка, - метод
ПересчитатьКлючи()перенесен в дочерний типВычисляемыйКлючДоступа.
- добавлен базовый тип
- Для типа
КлючДоступа.ОбъектметодПересчитать()перенесен в дочерний типВычисляемыйКлючДоступа.Объект. - Перечисленные ниже типы теперь наследуются от
ВычисляемыйКлючДоступа: - Перечисленные ниже типы теперь наследуются от
ВычисляемыйКлючДоступа.Объект: - Для типа
Пользователи:-
изменено поведение метода
ПересчитатьКлючиДоступа(): теперь он используется для пересчета только вычисляемых ключей доступа; -
изменен тип параметра метода
ВыдатьКлючиДоступа():Было:
ВыдатьКлючиДоступа(ПользователиПоКлючам: ЧитаемоеСоответствие<КлючДоступа.Объект, ЧитаемаяКоллекция<Пользователи.Ссылка>>)Стало:
ВыдатьКлючиДоступа(ПользователиПоКлючам: ЧитаемоеСоответствие<ВыдаваемыйКлючДоступа.Объект, ЧитаемаяКоллекция<Пользователи.Ссылка>>)
-
Обработка ошибок при работе с документами
Улучшена обработка исключений при работе с табличными документами и документами HTML. Добавлены:
ИсключениеТабличногоДокумента— выбрасывается при ошибках работы с табличным документом. ИсключениеИсключениеНедопустимоеОформлениеТабличногоДокументатеперь является его наследником.ИсключениеДокументаHtml— выбрасывается при ошибках работы с документом HTML.
Фоновые задания
Улучшена обработка исключений при работе с фоновыми заданиями. Теперь методы ФоновоеЗадание.ОжидатьЗавершения() и ФоновыеЗадания.ОжидатьЗавершения() не выбрасывают исключения. Если задание завершилось с ошибкой, было отменено или прервано, соответствующее исключение будет доступно в свойстве ФоновоеЗадание.Исключение:
ИсключениеЗаданиеОтменено— задание было отменено методомОтменить()или прервано;ИсключениеВнутренняяОшибкаВыполненияЗадания— задание завершилось из-за внутренней ошибки.
Свойство ФоновоеЗадание.Результат ожидает завершения задания, если оно еще не завершилось. Если обработчик задания не возвращает значение, свойство содержит Неопределено.
Журнал событий
Исправлена интерполяция в шаблоне представления события. Теперь форматирование для свойств типа Число и Длительность применяется корректно в соответствии с правилами интерполяции строк.
Механизм избранного
Реализован механизм Избранного — места, куда пользователь может добавлять объекты, которые хочет сохранить для быстрого доступа. В Избранное можно добавлять формы, сущности и произвольные ссылки (подробнее).
В перечисленные ниже элементы добавлено свойство ВажностьИзбранногоПользователя, которое определяет видимость команд для открытия Избранного в меню приложения и команд внутри форм для записи объектов в Избранное:
Побитовые операции
Добавлены новые типы ПобитовыеОперации и МассивБитов, которые реализуют работу с побитовыми операциями.
JSON
Выполнены следующие изменения:
-
Добавлены новые методы
ЗаписатьСодержимоеВПоток()иЗаписатьСодержимоеBase64ВПоток(), которые позволяют осуществлять потоковую запись содержимого строкового JSON-узла вПотокЗаписи. -
Добавлен обобщенный метод
ЧтениеJson.ПрочитатьСодержимое<ТипОбъекта>(), который позволяет читать JSON-объект в указанный тип с настройкамиНастройкиЧтенияОбъектовJson. -
Добавлены перегрузки методов
ЧтениеJson.ПрочитатьСодержимое()иСериализацияJson.ПрочитатьОбъект(), которые облегчают работу с уже имеющимися методами чтения. -
Методы
ПрочитатьСодержимоеКакМассив()иПрочитатьСодержимоеКакСоответствие()помечены как устаревшие.
Файлы
Добавлены методы для проверки и исправление недопустимых символов в имени файла:
СодержитНедопустимыеСимволы()— проверяет, содержит ли указанная строка символы, недопустимые в имени файла.ЗаменитьНедопустимыеСимволы()— возвращает строку, в которой недопустимые символы заменены на указанную подстроку (по умолчанию удаляются).
Коллекции
В ряде методов коллекций ослаблена типизация параметров. Следующие методы вместо строгого типа элемента (ключа/значения) теперь принимают Объект?:
ЧитаемаяКоллекция.Содержит(),ЧитаемаяКоллекция.СодержитВсе(),ЧитаемыйМассив.СодержитВсе(),ЧитаемыйМассив.Найти(),ЧитаемыйМассив.НайтиСКонца(),ЧитаемоеСоответствие.Содержит(),ЧитаемоеСоответствие.СодержитКлюч(),ЧитаемоеСоответствие.СодержитЗначение(),ЧитаемоеСоответствие.Получить(),ЧитаемоеСоответствие.ПолучитьИлиНеопределено(),ЧитаемоеСоответствие.ПолучитьИлиУмолчание()и его перегрузка.
Сохранена проверка совместимости типов на уровне компилятора: если пересечение типа аргумента и исходного типа параметра всегда пусто, будет выдана ошибка компиляции.
Типы «Последовательность» и «Обходимое»
Для типов Обходимое и Последовательность добавлены перегрузки методов для работы с элементами, входящими в их состав:
Преобразовать()иПреобразоватьЛинейно()— позволяют использовать индекс элемента в передаваемой в параметр метода функции,Объединить()— принимает функцию-преобразователь для формирования результирующего значения из исходных элементов,ДляКаждого()— выполняет заданное действие для каждого элемента и его индекса,Фильтровать()— фильтрует элементы вместе с их индексом.
Добавлен новый метод ПропуститьНеопределено(), который исключает Неопределено из элементов. Также изменяет тип элементов, исключая Неопределено из его состава.
Язык «1С:Элемент»
Аннотации
Для аннотации @ИменованныеПараметры добавлен новый параметр КромеПервого: Булево, который указывает, что первый параметр можно использовать в позиционной форме.
Методы, в которых теперь можно использовать первый параметр позиционно:
Методы
Изменен алгоритм определения конфликтующих перегрузок методов и выбора перегрузки в момент вызова (подробнее).
Язык запросов
Выражение «В»
Для выражения В установлены ограничения на размер и состав проверяемого списка (подробнее).
Выражение «ВЫБОР»
Для выражения ВЫБОР добавлена возможность перечислять через запятую несколько значений в одной ветке КОГДА с возвратом одного результата (подробнее).
Исправления ошибок
Пространства имен
Исправлены ошибки разрешения пространств имен.
Клиент SOAP-сервиса
При генерации типов из WSDL-описания теперь учитываются complexContent-расширения.
Для структуры, генерируемой из XML-типа с complexContent-расширением, добавляется свойство Значение[РасширяемыйТип]. Типом этого свойства является XBSL-тип, который создается для расширяемого XML-типа.
Например, пусть WSDL-схема содержит следующие типы:
<!-- Базовый (расширяемый) тип -->
<xs:complexType name="User">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- Расширенный тип -->
<xs:complexType name="Employee">
<xs:complexContent>
<xs:extension base="User">
<xs:sequence>
<xs:element name="EmployeeId" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
На основе описания этих типов «1С:Шина» сгенерирует две структуры:
{ИмяЭлементаПроекта}.User:- Name:
Строка.
- Name:
{ИмяЭлементаПроекта}.Employee:- ЗначениеUser:
{ИмяЭлементаПроекта}.User— предоставляет доступ к данным расширяемого типа, - EmployeeId:
Строка.
- ЗначениеUser:
Нарушения обратной совместимости
Удаления
-
Для типов
ОбходимоеиПоследовательностьудалена следующая перегрузка методаСвернуть():Свернуть(НачальноеЗначение: ТипЭлемента,Операция: (ТипЭлемента, ТипЭлемента)->ТипЭлемента): ТипЭлементаОна заменена на перегрузки
Обходимое.Свернуть()иПоследовательность.Свернуть()с параметром типаТипРезультата:Свернуть<ТипРезультата>(НачальноеЗначение: ТипРезультата,Операция: (ТипРезультата, ТипЭлемента)->ТипРезультата): ТипРезультата -
Удалена устаревшая перегрузка
СериализацияJson.ПрочитатьОбъект()с параметромТип: Коллекция<Тип>.
- В типе
РегистрСведений.КлючЗаписиудалено свойствоКлючОсновногоФильтра.
Изменения поведения
Тип «ЧтениеJson»
Изменено поведение обобщенного метода ПрочитатьСодержимое() в режиме совместимости 10.0 и выше. После завершения работы метода позиция чтения остается на последнем токене текущего объекта JSON, а не переходит на следующий, как раньше. Для сохранения старого поведения после этого метода необходимо вызвать метод Следующий().
Изменения в документации
Описание свойств элементов проекта
В раздел документации Справочная информация добавлены новые подразделы, содержащие полный список свойств поддерживаемых элементов проекта. Для каждого свойства указан его тип и приведено подробное описание.
Значения этих свойств вы можете задать в панели «Свойства» среды разработки. При наведении мыши на какое-либо свойство появится всплывающая подсказка с его описанием.

Теперь вся информация собрана в одном месте, и вам больше не нужно искать описание нужных свойств по разным разделам документации или угадывать их назначение в среде разработки. Новые разделы позволят вам быстрее проектировать приложения и настраивать логику их работы.
Если вам необходимо работать c элементами проекта в коде модулей, используйте соответствущие типы языка «1С:Элемент», полное описание которых вы найдете в одноименном разделе документации: