Меню

Невозможно установить фиксированные настройки пересекаются элементы отбора



Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

Полный текст ошибки:

Воспроизведение ошибки
Ошибка появляется если в какой либо форме списка или выборка указать отбор, а после форму закрыть. При следующем открытии формы получим сообщение об ошибке.

Причина
Причина в использовании новой технологии в еще не подготовленной конфигурации, а именно свойство динамического списка «АвтоматическоеСохранениеПользовательскихНастроек».

Решение
Два варианта решения данной проблемы:
1. Необходимо очистить сохраненные настройки пользователя. Пример для УТ 11.1: Переходим в меню «Администрирование — Настройки пользователей и прав — Очистка настроек» в появившейся форме выбираем пользователя(ей) и чистим. Такой вариант даст разовый результат, если пользователь снова поставит отбор, то получим такую же ошибку.
UPD Иногда типовая обработка не очищает полностью настройки пользователя, тогда можно их удалить самостоятельно (см. ниже «Очистка произвольных настроек из хранилища системных настроек»)
2. В форме списка или выбора элемента необходимо зайти в свойства динамического списка и свойству «АвтоматическоеСохранениеПользовательскихНастроек» установить значение «Ложь».

Очистка произвольных настроек из хранилища системных настроек

Задача
В ИБ с конфигурацией УТ 11 у всех пользователей очистить настройки формы элемента справочника «Номенклатура».

Решение
В конфигурациях на БСП есть утилита копирования/очистки настроек пользователя, но в некоторых ситуациях, обработка очищает не все настройки.

Настройки хранятся в хранилище системных настроек, получим выборку и в цикле будем сообщать значения настроек.

В окне сообщение получим примерный текст:

Проанализировав текст дописываем в наш код проверку на ключа объекта и при необходимости будем удалять настройку

Источник

1С 8.3 : Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

В некоторых релизах конфигураций на управляемом приложении на платформе 1С: Предприятие 8.3 можно получить следующую ошибку:

Текст по кнопочке “Подробно”:

Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. по причине: Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

Воспроизведение ошибки

Ошибка появляется если в какой либо форме списка или выборка указать отбор, а после форму закрыть. При следующем открытии формы получим сообщение об ошибке.

Причина

Причина в использовании новой технологии в еще не подготовленной конфигурации, а именно свойство динамического списка “АвтоматическоеСохранениеПользовательскихНастроек”.

Два варианта решения данной проблемы:

1. Необходимо очистить сохраненные настройки пользователя. Пример для УТ 11.1: Переходим в меню “Администрирование – Настройки пользователей и прав – Очистка настроек” в появившейся форме выбираем пользователя(ей) и чистим. Такой вариант даст разовый результат, если пользователь снова поставит отбор, то получим такую же ошибку.

2. В форме списка или выбора элемента необходимо зайти в свойства динамического списка и свойству “АвтоматическоеСохранениеПользовательскихНастроек” установить значение “Ложь”.

Такой вариант решения можно считать временным, до момента обновления на релиз конфигурации с исправленной ошибкой.

Источник

Пересекаются элементы отбора УФ

Доброго дня! Нужна помощь: Открываю форму с динамическим списком с основной таблицей «Справочник.Ф». При создании на сервере задаю отбор:
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Организация»);
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = Параметры.Организация;

Отбор работает. Но, пользователю этот отбор не виден и недоступен. То есть он о нем ни ведает. И, если попытается установить свой, то получает ошибку:

«Невозможно применить фиксированные настройки. Пересекаются элементы отбора».

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

Пожалуйста, подскажите можно ли проверить наличие пользовательской настройки и сбросить ее, до того как применять свою? Как сделать видимой пользователь отбор заданный из кода?

Только чтение.
Описание:

Тип: ДоступныеПоляКомпоновкиДанных.
Содержит доступные поля для редактирования отбора.

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

Содержит режимы отображения элемента настройки компоновки данных.

Читай последние посты:

(5) Отбор, который виден пользователю по-умолчанию сидит как пользовательская настройка ВСЕГО отбора.

А пользовательская настройка для ЭЛЕМЕНТА отбора это другое. Смотри, короче, все пользовательские настройки отладчиком, там будет всё ясно.

Прошу прощения за свою несообразительность, но излазил отладчиком в процедуре ПриСозданииНаСервере():
1)Список.КомпоновщикНастроек.Настройки.Отбор.Элементы
2)Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы —> Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Элементы

Коллекции Элементы пустые. Еще, что можно посмотреть?

(7) Пользовательские настройки могут сохранятся.

Восстанавливаются уже после ПриСозданииНаСервере.

Смотри событие списка: СписокПередЗагрузкойПользовательскихНастроекНаСервере(Элемент, Настройки)

+(8) Нужно взять параметр Настройки и аккуратно вырезать оттуда всё что решаем безусловно устанавливать в ПриСоздании.

Конечно, можно тупо отключить сохранение пользовательских настроек, но цывильнее оставить максимум возможностей.

Источник

1С. Ошибка «Невозможно применить фиксированные настройки. Пересекаются элементы отбора.»

В некоторых релизах конфигураций на управляемом приложении на платформе 1С: Предприятие 8.3 можно получить следующую ошибку «Невозможно применить фиксированные настройки»

Текст по кнопочке «Подробно»:

Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. по причине: Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

Воспроизведение ошибки

Ошибка появляется если в какой либо форме списка или выборка указать отбор, а после форму закрыть. При следующем открытии формы получим сообщение об ошибке.

Причина

Причина в использовании новой технологии в еще не подготовленной конфигурации, а именно свойство динамического списка «АвтоматическоеСохранениеПользовательскихНастроек».

Решение

Два варианта решения данной проблемы:

1. Необходимо очистить сохраненные настройки пользователя. Пример для УТ 11.1: Переходим в меню «Администрирование — Настройки пользователей и прав — Очистка настроек» в появившейся форме выбираем пользователя(ей) и чистим. Такой вариант даст разовый результат, если пользователь снова поставит отбор, то получим такую же ошибку.

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

2. В форме списка или выбора элемента необходимо зайти в свойства динамического списка и свойству «АвтоматическоеСохранениеПользовательскихНастроек» установить значение «Ложь».

Такой вариант решения можно считать временным, до момента обновления на релиз конфигурации с исправленной ошибкой.

Источник

Перевод конфигураций на платформе «1С:Предприятие 8.2» на платформу «1С:Предприятие 8.3» без режима совместимости с версией 8.2

В документе приведена методика по обеспечению совместимости прикладных решений, разработанных на платформе » 1С:Предприятие 8.2 «, с платформой » 1С:Предприятие 8.3 «. Этот процесс условно делится на два этапа — Подготовительный и Финальный.

Действия этого этапа рекомендуется выполнить до перехода на » 1С:Предприятие 8.3 » с отключенным режимом совместимости. Выполнение этих действий не нарушает обратную совместимость – конфигурация может продолжать выпускаться на » 1С:Предприятии 8.2 » или » 1С:Предприятии 8.3 » с включенным режимом совместимости с 8.2.

По каждой проблеме несовместимости дается краткая инструкция по выявлению проблемных мест в конфигурации и выполнению адаптации.

Нельзя использовать имена переменных, совпадающие с новыми свойствами, которые появились в » 1С:Предприятии 8.3 «:

  • Новое свойство ЭтотОбъект в управляемых формах и общих модулях.
  • Новые свойства в управляемых формах:
    • АвтоНавигационнаяСсылка ,
    • НавигационнаяСсылка ,
    • ВертикальнаяПрокрутка ,
    • ОписаниеОповещенияОЗакрытии ,
    • ПараметрыВыбора .
  • Зарезервированное имя реквизитов, табличных частей объектов (начиная с версии 8.3.13):
    • Представление

Для устранения несовместимости необходимо найти переменные и реквизиты форм с такими названиями и переименовать их.

Поиск реквизитов, табличных частей объектов с именем Представление рекомендуется выполнить посредством проверки конфигурации (Конфигуратор – Конфигурация – Проверка конфигурации) с включенной опцией Проверка логической целостности конфигурации.

Нельзя использовать имена картинок, совпадающие с именами из библиотеки картинок. При реструктуризации выдается сообщение о неуникальности имен картинок.

Для устранения несовместимости необходимо выявить картинки с неуникальными именами (провести реструктуризацию в версии 8.3 на копии метаданных) и переименовать их.

В » 1С:Предприятии 8.3 » при присвоении значений свойствам фиксированной структуры ( ФиксированнаяСтруктура ) возникает ошибка «Поле объекта недоступно для записи».

Для устранения несовместимости необходимо:

  • Выявить все места присваивания значений свойствам фиксированной структуры:
    • функциональным тестированием основных сценариев работы;
    • или поиском конструктора Новый ФиксированнаяСтруктура по модулям конфигурации и анализом на предмет изменения отдельных свойств созданной структуры;
  • Вместо изменения отдельных свойств фиксированной структуры следует пересоздавать фиксированную структуру целиком или заменить ее использование на аналогичный тип Структура .

В » 1С:Предприятии 8.3 » при помещении во временное хранилище значений, сериализация которых не поддерживается (например, ДокументОбъект. , СправочникОбъект. и пр.), возникает ошибка «Переданное значение не может быть помещено во временное хранилище».

Для устранения несовместимости необходимо:

  • выявить все места помещения значений во временное хранилище (поиском метода глобального контекста ПоместитьВоВременноеХранилище );
  • проверить, что возможна сериализация типов значений объектов, помещаемых во временное хранилище. Для этого необходимо свериться с синтакс-помощником, убедившись, что в группе » Доступность » явно указана фраза » Сериализуется «. При этом следует отличать сериализацию от XDTO-сериализации и XML-сериализации. Например, для типов СправочникОбъект. сериализация не поддерживается, хотя поддерживается XDTO-сериализация и XML-сериализация;
  • если во временное хранилище значений помещается несериализуемое значение, следует пересмотреть проектное решение.

В » 1С:Предприятии 8.3″ в дочерних узлах РИБ предопределенные элементы автоматически не создаются (и не обновляются при изменении в метаданных), а должны быть переданы из главного узла вместе с изменениями конфигурации.

Для устранения несовместимости необходимо:

a) обеспечить загрузку сообщения обмена в подчиненный узел РИБ до выполнения другого прикладного кода, который обращается к получаемым из главного узла предопределенным элементам;

b) в прикладной логике загрузки данных из главного узла (обработчик события ПриПолученииДанныхОтГлавного , правила регистрации объектов) избегать обращений к предопределенным элементам, поскольку нет гарантии, что они уже были загружены из сообщения обмена;

c) код обработчиков обновления ИБ, который обрабатывает предопределенные элементы, не должен выполняться в подчиненных узлах РИБ:

СОВЕТ
При использовании в конфигурации подсистемы «Обмен данными» Библиотеки стандартных подсистем (БСП) версии 2.1.4 и выше требования (а) и (б) снимаются.

В » 1С:Предприятии 8.3 » для реквизитов управляемых форм с типами ТабличныйДокумент , ГрафическаяСхема и ТекстовыйДокумент при вызове метода Показать() возникает ошибка «Недопустимая операция для реквизита формы».

Для перехода на версию 8.3.6 необходимо найти все места в коде, в которых для реквизитов управляемых форм указанных типов (или их копий «по ссылке») вызывается метод Показать() , и далее:

  • Если документ не выводится в элементах формы, тогда следует отказаться от реквизита формы, а для хранения использовать локальную клиентскую переменную (если это необходимо).
  • Если документ выводится в элементах формы, тогда следует отказаться от метода Показать() , заменив его на:
    • Если требуется активизировать элемент формы — документ, тогда необходимо использовать свойство формы ТекущийЭлемент .
    • Если требуется активизировать страницу окна с документом, тогда необходимо использовать свойство ТекущаяСтраница группы формы с видом Страницы.
    • Если требуется активизировать окно с документом, тогда необходимо вызывать метод формы Активировать .

В «1С:Предприятии 8.3» (версия 8.3.7) введено ограничение длины имени объекта метаданных в 80 символов. Это требование предъявляется к новым объектам метаданных и при изменении имени существующих.

При переходе на версию 8.3 рекомендуется найти все объекты метаданных с именами более 80 символов и сократить их.

Подробнее см. параграф «Основные свойства» главы «Объекты конфигурации» в документации «Руководство разработчика».

Начиная с версии 8.3.12, в режиме 1С:Предприятие на формах отсутствуют элементы (в коллекции Элементы ), связанные с командами и реквизитами форм и объектов, которые не доступны в конкретных режимах работы формы и по правам доступа.

Например, в тех случаях, когда форма выступает одновременно как форма списка и как форма выбора (режим выбора устанавливается программно), и на ней размещен элемент формы для стандартной команды Выбрать, то при открытии формы в режиме формы списка и обращении к свойствам этого элемента возникнет ошибка:

Поле объекта не обнаружено (СписокВыбрать)
Элементы.СписокВыбрать.Видимость = РежимВыбора;

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

  1. В конфигураторе установить у динамического списка свойство РежимВыбора в Истина .
  2. Обращение к свойствам элементов, связанных со стандартной командой Выбрать , следует делать в коде только после проверки существования элемента в коллекции Элементы .

Для конфигураций, использующих Библиотеку стандартных подсистем , рекомендуется воспользоваться процедурой ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы .
Например, было:

Элементы.СписокВыбрать.Видимость = РежимВыбора;
Элементы.СписокСоздать.Видимость = ПравоДоступа(«Добавление», Метаданные.Справочники.Валюты);

следует удалить код установки видимости, т.к. он более не требуется.

ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, «СписокВыбрать», «КнопкаПоУмолчанию», РежимВыбора);

В расширениях конфигурации необходимо отключить режим совместимости:

  • Режим совместимости расширения конфигурации: Не использовать;
  • Режим совместимости: Не использовать.

  • Данную процедуру необходимо обязательно выполнять непосредственно после перевода разработки конфигурации на » 1С:Предприятие 8.3 » и отключения режима совместимости. После переключения режима совместимости рекомендуется перезагрузить конфигуратор.

    По каждой проблеме дается краткая инструкция по выявлению «проблемных» мест в конфигурации и выполнению перехода.

    В » 1С:Предприятии 8.3 » изменены имена свойств и методов некоторых объектов (см. таблицу 1).

    Для перехода на версию 8.3 необходимо найти места использования этих свойств и методов и заменить все их использования в конфигурации согласно таблице.

    Таблица 1. Переименования методов и свойств в версии 8.3

    Имя свойства Режим использования синхронных вызовов расширений платформы и внешних компонент.

    Свойство управляемой формы

    Тип менеджера перерасчетов регистра расчета

    Запись таблицы внешнего источника данных. Изменены только английские имена

    Набор записей внешнего источника данных. Изменены только английские имена

    Методы установки и получения рассчитанных итогов
    менеджеров регистров накопления остатков и бухгалтерии

    Имя свойства объекта, описывающего тестируемые элементы формы

    Элементы системного перечисления ОтображениеОбычнойГруппы

    Методы получения и установки заголовка окна клиентского приложения

    Свойство поля ввода

    Метод Выбрать() объектов РезультатЗапроса и ВыборкаИзРезультатаЗапроса
    Изменены только английские имена

    Имя метода глобального контекста. Старый метод поддерживается для совместимости.

    Имя параметра события ОбработкаНавигационнойСсылки.

    Имя параметра событий АвтоПодбор и ОкончаниеВводаТекста для полей ввода.

    Ключ отбора, используемого в методах ПолучитьИдентификаторы и ПолучитьЗаголовки объекта ИнтернетПочта.

    Имя метода объекта СредстваГеопозиционирования (мобильная платформа). Изменены только английские имена.

    Свойство табличного документа.

    Имя параметра, содержащего имя создаваемого каталога в методе НачатьСозданиеКаталога().

    Наименование системного перечисления, содержащего варианты выравнивания элементов и их заголовков.

    Значение колонки Назначение для таблицы ExtensionInfo в таблице значений, возвращаемой методом ПолучитьСтруктуруХраненияБазыДанных().

    Значение колонки Назначение для таблицы ODataSettings в таблице значений, возвращаемой методом ПолучитьСтруктуруХраненияБазыДанных().

    Методы загрузки таблицы стилей XSL объекта ПреобразованиеXSL (XSLTransform).

    Методы управления основным окном клиентского приложения.

    Системное перечисление. ОриентацияМетокДиаграммы ОриентацияПодписейДиаграммы

    Свойства объекта ОбластьПостроенияДиаграммы.

    Cвойства и методы объекта Диаграмма.

    Cвойства объекта ОбластьПостроенияДиаграммы.

    Свойство объекта Шрифт.

    Обработчик события поля табличного документа.

    Кроме того, начиная с версии 8.3.12, для объектов Диаграмма , ДиаграммаГанта , СводнаяДиаграмма свойства ОтображатьЛегенду и ОтображатьЗаголовок устарели. Вместо них следует использовать свойства расположения объектов:

    В версии 8.3.13 устарело свойство АдресаУведомленияОДоставке объекта ИнтернетПочтовоеСообщение . Вместо него следует использовать свойство УведомитьОПрочтении .

    Доработка механизмов работы с отборами, условным оформлением, группировками и порядком в динамических списках

    В » 1С:Предприятии 8.3 » для работы с отборами, условным оформлением, группировками и порядком в динамических списках используются механизмы системы компоновки данных. Подробнее см. главу «Система компоновки данных» в документации «Руководство разработчика».

    Отборы и элементы условного оформления, устанавливаемые в конфигураторе в редакторе настроек динамического списка (далее — в конфигураторе), помещаются в коллекцию КомпоновщикНастроек.Настройки , а устанавливаемые программно через свойства «.Отбор» и «.УсловноеОформление» – в коллекцию КомпоновщикНастроек.ФиксированныеНастройки. Таким образом:

    • ДинамическийСписок.Отбор соответствует свойству ДинамическийСписок.КомпоновщикНастроек.ФиксированныеНастройки.Отбор ,
    • ДинамическийСписок.УсловноеОформление соответствует свойству ДинамическийСписок.КомпоновщикНастроек.ФиксированныеНастройки.УсловноеОформление .

    Например, схема работы свойства ДинамическийСписок.Отбор и настроек, выполняемых в конфигураторе:

    При этом если отбор по одному и тому же полю одновременно присутствует в коллекциях Настройки.Отбор и ФиксированныеНастройки.Отбор , то возникает ошибка времени выполнения «Невозможно применить фиксированные настройки. Пересекаются элементы отбора».

    В отличие от отборов и условного оформления, свойство Порядок соответствует свойству КомпоновщикНастроек.Настройки.Порядок . Когда порядок выводится в пользовательские настройки (в конфигураторе установлен флажок » Включать в пользовательские настройки «), тогда Порядок используется только как значение по умолчанию (т. е. изменения не применятся до тех пор, пока пользователь не нажмет » Все действия » — » Установить стандартные настройки «). Это следует учитывать при программной работе с порядком.

    В отличие от остальных, свойство Группировка не связано напрямую с новыми коллекциями , однако имеет аналоги: КомпоновщикНастроек.ФиксированныеНастройки.Структура и КомпоновщикНастроек.Настройки.Структура . Группировки, программно добавленные через свойство Группировка, отключаются, если пользователь перенастроил состав группировок либо если заполнено свойство КомпоновщикНастроек.Настройки.Структура .

    Для перехода на версию 8.3 необходимо найти все места установки отборов, условного оформления, группировок и порядка в динамических списках, которые выполняются программно из кода и в конфигураторе с помощью редактора формы (см. Настройка списка в свойствах динамического списка).

    В большинстве случаев если это предустановленные настройки, которые пользователь не должен видеть и изменять, то:

    • для отборов, условного оформления и группировок следует перенести создание настроек и работу с ними в программный код и использовать свойства динамического списка Отбор , УсловноеОформление и Группировка ;
    • для порядка следует исключить всю коллекцию из состава пользовательских настроек в конфигураторе (сняв флажок Включать в пользовательские настройки ) или программно (установив пустую строку в свойстве Порядок.ИдентификаторПользовательскойНастройки ).

    В тех случаях, когда необходимо задать настройки динамического списка по умолчанию, которые пользователи смогут изменять при своей работе с помощью команды Все действия — Настроить список (либо в предусмотренной группе элементов формы для редактирования пользовательских настроек), нужно сделать следующее:

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

    В тех случаях, когда для настройки динамического списка ранее были предусмотрены собственные элементы управления на форме (например, поля с быстрыми отборами сверху списка, команды для быстрой смены группировки и пр.), следует выбрать один из двух вариантов:

    • для задействования новых возможностей платформы перенести создание настроек в конфигуратор (см. Настройка списка в свойствах динамического списка) и задать свойство Группа пользовательских настроек таблицы формы, связанной с этим динамическим списком;
    • для сохранения текущего поведения перенести создание настроек в программный код и использовать свойства динамического списка Отбор и УсловноеОформление . А для сохранения текущего поведения с группировками и порядком, следует:
      • при программной работе использовать свойство КомпоновщикНастроек.ПользовательскиеНастройки, если пользователи должны иметь возможность перенастраивать группировки и порядок с помощью команды Все действия — Настроить список ;
      • в противном случае снять флажок Включать в пользовательские настройки в свойствах группировок динамического списка в конфигураторе и работать в коде со свойствами Группировка и Порядок .

    Запрос с ключевым словом «ИТОГИ ПО ОБЩИЕ», выгруженный в режиме «ОбходРезультатаЗапроса.ПоГруппировкам»

    Запрос, в котором указано ключевое слово ИТОГИ ПО ОБЩИЕ и который выгружен в режиме ОбходРезультатаЗапроса.ПоГруппировкам в «1С:Предприятии 8.3», возвращает результат, отличающийся от версии 8.2. Узлы группировок в версии 8.2 располагались на одном уровне с общим итогом, в версии 8.3 они будут вложены в общий итог, который располагается в корне дерева значений.

    Для перехода на версию 8.3 необходимо:

    • выявить все запросы с ИТОГИ ПО ОБЩИЕ , выгружаемые в режиме ОбходРезультатаЗапроса.ПоГруппировкам ;
    • пересмотреть обработку дерева значений, перенеся обход строк с группировками внутрь обхода строки с общим итогом.

    Пример запроса и выгрузки результата, которые потребуют пересмотра:

    Изменения имен классов COM-объектов

    В » 1С:Предприятии 8.3 » изменено имя класса COM-объектов – для COM-соединителя вместо «V82.COMConnector» используется «V83.COMConnector», а вместо «V82.Application» используется «V83.Application».

    Для устранения несовместимости необходимо заменить все вхождения старых имен на новые.

    СОВЕТ
    При использовании «Библиотеки стандартных подсистем» рекомендуется использовать универсальную функцию ОбщегоНазначения.ИмяCOMСоединителя() .

    Отказ от события «НачалоВыбораИзСписка» для полей ввода в режиме выбора из списка

    В » 1С:Предприятии 8.3 » у поля ввода не вызывается НачалоВыбораИзСписка . Это связано с появлением нового свойства поля ввода КнопкаВыпадающегоСписка , которое позволяет по кнопке выводить выпадающий список, формирующийся автоматически. Подробнее см. документацию «Руководство разработчика».

    Для устранения несовместимости необходимо найти поля ввода с обработчиком НачалоВыбораИзСписка и перенести его код в другие обработчики согласно критериям:

    • код по добавлению элементов в список выбора следует разместить в обработчике формы ПриСозданииНаСервере . Кроме того, если состав списка выбора зависит от значений других полей, то код по изменению элементов списка выбора следует вызывать в обработчиках изменения соответствующих полей, например при помощи обработчиков ПриИзменении ;
    • реализацию кода, не связанного с заполнением списка выбора, необходимо пересмотреть с использованием тех средств, которые предоставляет платформа «1С:Предприятие» версии 8.3.3.

    СОВЕТ
    Для значений ссылочного типа рекомендуется заполнять свойство Представление элемента списка значений во избежание лишних серверных вызовов.

    Отказ от свойства «КнопкаСпискаВыбора» для полей ввода

    В » 1С:Предприятии 8.3 » у поля ввода отсутствует свойство КнопкаСпискаВыбора . Вместо него теперь следует использовать новое свойство КнопкаВыпадающегоСписка . Подробнее см. документацию «Руководство разработчика».

    Для устранения несовместимости необходимо при помощи приложенного отчета найти поля ввода, у которых в свойстве КнопкаСпискаВыбора было установлено значение » Да «, и явно установить в свойстве КнопкаВыпадающегоСписка значение » Да » в том случае, если кнопка выпадающего списка не выводится при значении » Авто «.

    В » 1С:Предприятии 8.3 » метод глобального контекста БезопасныйРежим() возвращает тип Строка , если безопасный режим был установлен с указанием имени профиля безопасности.

    Для устранения несовместимости необходимо найти все места использования метода БезопасныйРежим() , в которых результат неявно преобразовывался к типу Булево , и исправить на код с явным сравнением результата со значением Ложь . Таким образом, при установленном профиле безопасности код будет выполняться так же, как и в безопасном режиме.

    В случае, если константа хранит значение типа ХранилищеЗначения , УникальныйИдентификатор или ВнешнийИсточникДанныхТаблицаСсылка , обращение к полю Значение таблицы константы, при обработке выборки из запроса к этой таблице, возвращает значение соответствующего типа.

    Замена свойства конфигурации «ОсновнаяРоль» на «ОсновныеРоли»

    В » 1С:Предприятии 8.3 » у объекта ОбъектМетаданных: Конфигурация отсутствует свойство ОсновнаяРоль (тип ОбъектМетаданных: Роль ). Вместо него теперь следует использовать новое свойство ОсновныеРоли (тип КоллекцияЗначенийСвойстваОбъектаМетаданных ).

    Для устранения несовместимости необходимо при помощи приложенного отчета найти места обращения к свойству ОсновнаяРоль и выполнить переход на свойство ОсновныеРоли .

    В » 1С:Предприятии 8.3 » у объекта ИнтернетПрокси отсутствуют свойства Пользователь и Пароль . Эти параметры теперь следует передавать в методе Установить() а читать при помощи новых методов Пользователь() и Пароль() .

    Для устранения несовместимости необходимо найти все места работы с объектом ИнтернетПрокси , в которых использовались свойства Пользователь и Пароль , и исправить их:

    • Если код изменял свойства Пользователь и Пароль , тогда соответствующие значения следует передавать в методе Установить() .
    • Если код читал свойства Пользователь и Пароль , тогда следует использовать новые методы Пользователь() и Пароль() .

    СОВЕТ
    При использовании конфигурации «Библиотека стандартных подсистем» для получения объекта ИнтернетПрокси рекомендуется использовать программный интерфейс подсистемы «Получение файлов из интернета».

    В » 1С:Предприятии 8.3 » в формах всех ссылочных объектов предусмотрена стандартная команда «Показать в списке». Эта команда выводится автоматически, но для некоторых списков может не срабатывать.

    Для устранения несовместимости необходимо провести анализ форм списков ссылочных объектов метаданных:

    • Если для объекта метаданных используется несколько форм списков, тогда в его модуле менеджера необходимо определить событие ОбработкаПолученияФормы , в котором зачитать значение параметра ТекущаяСтрока и, если он не пустой, уточнить какую форму списка следует использовать для отображения этой ссылки.
    • Если в форме списка используются собственные отборы, тогда в модуле формы следует определить событие ОбработкаПерехода , в котором либо очищать отборы, либо устанавливать их таким образом, чтобы они не скрывали выделенный элемент списка (ссылка элемента передается в параметре ОбъектПерехода ).

    Подробнее про эти события см. главу «Формы» в документации «Руководство разработчика».

    В «1С:Предприятии 8.3» (версия 8.3.7) изменился механизм отображения элементов управляемой формы. В частности, исчезло свойство ШиринаПодчиненныхЭлементов , но появились свойства АвтоМаксимальнаяШирина , МаксимальнаяШирина , АвтоМаксимальнаяВысота , МаксимальнаяВысота , Объединенная и другие.

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

    Подробнее про эти свойства см. параграф «Правила размещения элементов формы» главы «Формы» в документации «Руководство разработчика».

    Для возможности масштабирования картинок управляемой формы в интерфейсе Такси на платформе «1С:Предприятие 8.3» версии 8.3.10 и выше рекомендуется все картинки в конфигурации перевести в наборы картинок. Для этого необходимо выполнить следующие действия:
    Сделать несколько вариантов картинки в размерах для масштаба в 85, 100, 125, 150, 175, 200, 300 и 400 %%, так же вариант для приложения в интерфейсе 8.2 и 8.2 (обычное приложение), если предусмотрены эти режимы работы.
    Поместить картинку в zip-архив.
    Включить в архив файл manifest.xml с описанием соответствия размеров и типов экрана.
    Загрузить zip-архив в конфигурацию как картинку.
    Пример manifest.xml для набора из картинок:

    На платформе «1С:Предприятие 8.3» версии 8.3.10 изменено представление операционной системы Windows, начиная с версии Vista и далее, в свойстве СистемнаяИнформация.ВерсияОС. Текст свойства содержит пользовательское представление названия операционной системы в дополнение к технической информации (версия, номер сборки и т.д.).
    Необходимо пересмотреть места использования данного свойства.
    К примеру, для Windows 7 значения свойства «ВерсияОС» будет «Microsoft Windows 7 version 6.1 Service Pack 1 (Build 7601)» вместо «version 6.1 Service Pack 1 (Build 7601)».

    В тонком и веб-клиентах на платформе «1С:Предприятие 8.3» версии 8.3.10 стало невозможно открыть форму в отдельном окне при работе в режиме интерфейса В закладках.
    Игнорируется указание варианта открытия окна (параметр Окно) при использовании методов ОткрытьФорму(), ПолучитьФорму(), а также в значении свойства структуры ПараметрыВыполненияКоманды.Окно с помощью системного перечисления ВариантОткрытияОкна.
    Необходимо найти все места использования системного перечисления ВариантОткрытияОкна и пересмотреть код с отказом от его использования.
    В большинстве случаев такие формы можно перевести на открытие в режиме блокирования окна владельца или независимо (что технически не приводит к открытию отдельного окна в веб-браузере, но визуально будет выглядеть для пользователя так же, как открытие отдельного окна).

    Начиная с версии 8.3.12, команды справочников, документов и других объектов метаданных не должны иметь те же названия, что и стандартные команды этих объектов метаданных. Например, для справочника нельзя создавать команду с именем Изменить .

    Команды с конфликтующими имена выявляются проверкой конфигурации. Такие команды в конфигурации следует переименовать.

    Начиная с версии 8.3.12, реализованы новые методы глобального контекста, которые могут совпадать по имени с существующими функциями в коде конфигурации:

    1. ПроверитьБит
    2. ПроверитьПоБитовойМаске
    3. УстановитьБит
    4. ПобитовоеИ
    5. ПобитовоеИли
    6. ПобитовоеНе
    7. ПобитовоеИНе
    8. ПобитовоеИсключительноеИли
    9. ПобитовыйСдвигВлево
    10. ПобитовыйСдвигВправо

    Необходимо выполнить проверку конфигурации с синтаксическим контролем модулей по предметам: «Тонкий клиент», «Веб-клиент», «Сервер», «Внешнее соединение», «Внешнее соединение (вариант клиент-сервер)». Исправить все найденные ошибки вида «Процедура или функция с указанным именем уже определена» путем переименования функций в конфигураторе.

    Ранее для некоторых асинхронных клиентских методов платформы требовалось обязательное создание обработчиков оповещения, указывая их в конструкторе объекта ОписаниеОповещения . Начиная с версии 8.3.12, в тех случаях, когда реальная обработка результата не требовалась и были созданы пустые обработчики оповещения, их рекомендуется удалить.

    Для этого ребуется выполнить проверку конфигурации в режиме «Логическая проверка модулей – Поиск пустых обработчиков». Удалить найденные пустые обработчики и исправить конструктор ОписаниеОповещения .

    Оповещение = Новый ОписаниеОповещения(«ОткрытьПроводникЗавершение», ЭтотОбъект);
    НачатьЗапускПриложения(Оповещение, «explorer.exe /select, «»» + ИмяФайла + «»»»);

    Процедура ОткрытьПроводникЗавершение (КодВозврата, Контекст) Экспорт
    .
    КонецПроцедуры

    Оповещение = Новый ОписаниеОповещения;
    НачатьЗапускПриложения(Оповещение, «explorer.exe /select, «»» + ИмяФайла + «»»»);

    Начиная с версии 8.3.13 в определении серверных процедур и функций формы, вызываемых из общих модулей, следует добавить ключевое слово Экспорт . Такая потребность возникает при встраивании подключаемых механизмов в произвольные формы конфигурации, которые предполагают выполнение контекстного серверного вызова в форме. Например, для изменения состава реквизитов формы или получения настроек компоновки данных.
    Большую часть случаев возможно выявить посредством глобального поиска по подстроке «.Подключаемый». Далее проанализировать вызовы найденных процедур и функций с директивой компиляции &НаСервере.

    Новое свойство ПолноеИмя объекта ОписаниеПереданногоФайла , содержит полный путь к файлу, а свойство Имя – только краткое имя файла (начиная с версии 8.3.13). При этом в веб-клиенте значение свойства ПолноеИмя пустое.

    Необходимо выполнить глобальный поиск подстрок НачатьПолучениеФайлов( и НачатьПомещениеФайлов( . Проанализировать реализации обработчиков оповещения и в случае пустого значения свойства ПолноеИмя , использовать свойство Имя :

    Процедура ПриПолученииФайлов(ПолученныеФайлы, ДополнительныеПараметры) Экспорт
    Для Каждого ПолученныйФайл Из ПолученныеФайлы Цикл
    ИмяФайла = ?(ЗначениеЗаполнено(ПолученныйФайл.ПолноеИмя), ПолученныйФайл.ПолноеИмя, ПолученныйФайл.Имя);
    КонецЦикла;
    КонецПроцедуры

    СОВЕТ
    При использовании БСП рекомендуется применять процедуры СохранитьФайлы и ЗагрузитьФайлы общего модуля ФайловаяСистемаКлиент .

    Начиная с версии 8.3.13, не допустимо чтение и запись значений следующих свойств пользовательских настроек компоновки данных:

    Выбор, ЗначенияВложенныхПараметров, Идентификатор, Имя, ИспользоватьВГруппировке, ИспользоватьВЗаголовке, ИспользоватьВЗаголовкеПолей, ИспользоватьВИерархическойГруппировке, ИспользоватьВОбщемИтоге, ИспользоватьВОтборе, ИспользоватьВПараметрахобъекта, Колонки, ЛевоеЗначение, Отбор, Параметр (только при попытке установить значение свойства), ПараметрыВывода, Поля, ПоляГруппировки, Порядок, Представление, ПредставлениеПользовательскойНастройки Применение, РежимОтображенияобъекта, Родитель, Серии, Состояние, Строки, Структура, ТипГруппы, Точки, УсловноеОформление.

    Рекомендуется выполнить глобальный поиск по подстроке » .ПользовательскиеНастройки «. После проанализировать найденные места на предмет обращения к неиспользуемым свойствам, выполнив одно из следующих действий:

    • Заменить на обращение к свойствам основных настроек.
    • При использовании метода ЗаполнитьЗначенияСвойств :

    Копировать в буфер обмена

    указать явно заполняемые свойства:

    ЗаполнитьЗначенияСвойств( , ЭлементПользовательскойНастройки, «Использование, ВидСравнения, ПравоеЗначение»);
    ЗаполнитьЗначенияСвойств(ЭлементПользовательскойНастройки, , «Значение»);

    Например, в БСП в форме УсловияОтборовОтчета хранилища настроек ХранилищеВариантовОтчетов , строка:

    ЗаполнитьЗначенияСвойств(Строка, ЭлементОсновнойНастройки, «Представление, ПредставлениеПользовательскойНастройки»);
    Строка.ВидСравнения = ЭлементПользовательскойНастройки.ВидСравнения;

    Начиная с версии 8.3.15, объект ЭлементНастройкиСоставаИнтерфейсаКлиентскогоПриложения невозможно создать для панели ПанельИнструментов :

    Рекомендуется выполнить глобальный поиск по подстроке » ПанельИнструментов «. Далее проанализировать на предмет использования данного литерала в добавлении элемента интерфейса, например:

    Если используется, то удалить строку.

    Начиная с версии 8.3.15, компоновщик макета компоновки данных, при формировании выражения групповых и итоговых записей для вычисляемых полей, не использует выражение представления, указанное у вычисляемого поля.

    В связи с этим, необходимо найти макеты с типом СхемаКомпоновкиДанных , содержащими вычисляемые поля, для которых определены выражения представления.

    • Если переопределяется только представление поля, то рекомендуется перенести его в состав полей наборов данных (см. вкладку Наборы данных ).
    • Если же для вычисляемого поля задаются и значение и представление то необходимо:
      • Их разделить на два поля, одно из которых будет содержать выражение значения, а другое — выражение представления.
      • Создать макет поля представления (см. МакетПоляСхемыКомпоновкиДанных ):
        • В расшифровке сослаться на вычисляемое поле, которое содержит значение.

    Для примера см. отчет Результаты проверки учета (БСП):

    • Поле ПроблемныйОбъектРасчет было заменено на:
      • Поле для вычисления представления — ПроблемныйОбъектПредставление .
      • Поле для вычисления значения (расшифровки) — РасшифровкаПоля .
      • Также см. вкладку Макет , схемы компоновки данных.

    Рекомендуется провести анализ использования полей временных таблиц, которые могут принимать NULL и применить функцию языка запросов ЕСТЬNULL() .

    Например, на ERP 2.0.10.51 была зарегистрирована ошибка (00-00192919):

    В случае, если планируется поддержать работоспособность конфигурации в ОС Linux и OS X, необходимо выявить механизмы, которые не работают в ОС Linux и OS X (согласно описанию ниже). По каждому из них принять решение о том, является ли он ключевым для прикладного решения или второстепенным (вспомогательным, обслуживающим).

    Затем на первом этапе:

    • корректно отключить в ОС Linux и OS X второстепенные механизмы;
    • для ключевых механизмов — задействовать возможности платформы 8.3 по унификации работы на различных операционных системах.

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

    Скрыть или отключить механизмы в, которые рассчитаны только на работу в ОС Windows

    Выявить механизмы, которые не работают в ОС Linux и OS X, согласно списку ограничений клиентского приложения, работающего под ОС Linux и OS X:

    • не поддерживается технология COM и весь перечень возможностей, связанных с этой технологией:
      • не поддерживается работа с объектом COMОбъект ;
      • запуск клиента «1С:Предприятия» в режиме Automation-сервера;
      • внешние компоненты, созданные с использованием COM-технологии;
    • не поддерживается работа с объектом Почта ;
    • не поддерживается механизм поставки конфигурации;
    • не поддерживается использование метафайлов Windows (WMF и EMF).

    Далее либо скрыть команды этих механизмов из командного интерфейса, либо (если скрыть невозможно), выводить сообщение вида » доступна только при работе в ОС Windows».

    СОВЕТ
    При использовании «Библиотеки стандартных подсистем» рекомендуется использовать универсальные функции ЭтоLinuxКлиент() , ЭтоWindowsКлиент() и ЭтоOSXКлиент() из общего модуля ОбщегоНазначенияКлиентСервер.

    Элемент управления «ПолеHTMLДокумента» и поле формы вида «Поле HTML документа»

    Внешний вид ПоляHTMLДокумента может отличаться в зависимости от ОС, в которой запущено клиентское приложение. Это связано с тем, что в OC Linux и OS X вывод реализован на основе библиотеки WebKit вместо Internet Explorer.

    Учесть, что внешний вид и объектная модель HTML-документа (DOM-модель), доступ к которому осуществляется с помощью свойства ПолеHTMLДокумента.Документ , могут отличаться от таковых при работе в клиентском приложении, работающего на ОС Windows.

    • Задействовать только стандартные элементы DOM-модели, которые доступны во всех вариантах работы.
    • При подготовке HTML содержимого ориентироваться на стандарты — не следует использовать специфичные для конкретного браузера методы и свойства.

    Задействовать возможности платформы «1С:Предприятие 8.3» по унификации работы в различных операционных системах


    Аналоги COM-технологии

    В ряде случаев использование COM-технологий можно перевести на механизмы » 1С:Предприятия 8.3 «:

    • для администрирования кластера серверов «1С:Предприятия» следует использовать сервер администрирования ( ras ) и утилиту администрирования ( rac ). При работе в OS X утилиты rac и ras недоступны.
    • для получения путей к рабочим каталогам следует использовать методы глобального контекста РабочийКаталогДанныхПользователя() , КаталогДокументов() , КаталогВременныхФайлов() .

    В остальных случаях следует рассмотреть альтернативы COM-технологии, работающие в ОС Linux и OS X, например технологию создания внешних компонентов Native API.

    Подробнее см. главу «Внешние компоненты» в документации «Руководство разработчика».

    Аналоги объекта «Почта»

    Рассмотреть альтернативные варианты:

    • по переводу механизмов, работавших с объектом Почта , на объект ИнтернетПочта ;
    • по разработке внешних компонент для ОС Linux и OS X, работающих с установленными почтовыми клиентами в ОС Linux и OS X.

    Аналог метафайлов Windows

    Заменить картинки в формате WMF и EMF, включенные в состав конфигурации, на растровые, например PNG или JPG.

    В платформе «1С:Предприятие 8.3» появилась возможность полностью отказаться от модальных методов, заменив их на блокирующие, что позволит улучшить отзывчивость интерфейса и повысить удобство работы в закладочном режиме.

    Данная процедура является обязательной после установки свойства конфигурации » Режим использования модальности » в » Не использовать «.

    Следует найти все вызовы модальных методов и согласно таблице 2 заменить их немодальными методами с блокированием окна владельца или всего интерфейса.

    Таблица 2. Модальные и немодальные методы в версии 8.3

    Источник

    Читайте также:  Настройки в стиле lollipop
    Adblock
    detector