1с заполнитьзначениясвойств не работает
Обработчик события ОбработкаЗаполнения
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. В случае если в силу каких-либо условий необходимо ограничивать ввод на основании по команде "Создать на основании", то такую проверку следует выполнять в обработчике ОбработкаЗаполнения модуля объекта (набора записей). Например, это могут быть проверки вида:
- Для команды "Создать на основании" не различимы группы и элементы справочников и планов видов характеристик: команда одинаково доступна в форме списка как для групп, так и для элементов. Требуется запретить ввод на основании групп.
- Требуется запретить ввод на основании непроведенных документов.
2. Для оповещения пользователя о причинах отказа, в обработчике ОбработкаЗаполнения следует использовать исключения:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Сотрудники") Тогда
Если ПолучитьЗначениеРеквизита(ДанныеЗаполнения, "ЭтоГруппа") = Истина Тогда
ВызватьИсключение "Ввод приказа о приеме на основании группы сотрудников невозможен!
|Выберите сотрудника. Для раскрытия группы используйте клавиши Ctrl и стрелку вниз";
КонецЕсли;
// обработка заполнения объекта по данным заполнения
При этом не рекомендуются какие-либо иные решения для подобных проверок. В частности, не следует создавать дополнительные команды для ввода на основании и размещать проверки в обработчиках этих команд.
Методическая рекомендация (полезный совет)
3. Рекомендуется придерживаться следующей логической структуры обработчика ОбработкаЗаполнения (отдельные шаги могут быть пропущены):
3.1. Выполнение специального заполнения в зависимости от типа параметра ДанныеЗаполнения .
Например:
ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);
Если ТипДанныхЗаполнения = Тип("Структура") Тогда
ЗаполнитьДокументПоОтбору(ДанныеЗаполнения);
ИначеЕсли ТипДанныхЗаполнения = Тип("ДокументСсылка.ЗаказКлиента") Тогда
ЗаполнитьДокументНаОснованииЗаказаКлиента(ДанныеЗаполнения);
// .3.2. Выполнение общего заполнения, с целью заполнить значениями по умолчанию реквизиты, которые не были заполнены специальным заполнением. При этом необходимо предварительно проверять реквизит на заполненность.
Например:
Если Не ЗначениеЗаполнено(Подразделение) Тогда
Подразделение = ЗначениеНастроекПовтИсп.ПодразделениеПоУмолчанию();
КонецЕсли;Также при заполнении реквизитов значениями по умолчанию следует, по возможности, использовать свойство метаданных "Значение заполнения" . Значение, указанное в этом свойстве будет автоматически присваиваться реквизиту при выходе из обработчика ОбработкаЗаполнения , в случае если параметр СтандартнаяОбработка установлен в Истина , и реквизит не был заполнен в обработчике.
Выполнение данной рекомендации позволит уменьшить количество логических ошибок заполнения и повысит читаемость кода.
Vladal --> VladalСамописка на БСП.
Режим совместимости использования модальности: не использовать.
Режим использования синхронных вызовов: Использовать.
Режим интерфейса: такси.
Режим совместимости: Не использовать.
Платформа 1С:Предприятие 8.3 (8.3.13.1513)
Браузер Хром. У пользователя в браузере установлено расширение от 1С.
Обычный "Универсальный отчет", да и наверно любой другой на СКД. При смене поля или вида объектов (переключение между регистрами или справочниками) выдает ошибку:
В модуле такой текст:
Для типа ЗначениеПараметраНастроекКомпоновкиДанных в синтакс-помощнике написано, что он доступен в веб-клиенте:
Доступность:Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Данный объект может быть сериализован в/из XML. Может использоваться в реквизитах управляемой формы.
Гуглил "Свойство не поддерживается элементом коллекции пользовательских настроек компоновки данных.", нашел несколько тем на Инфостарте, решения нет, или не опубликовали.
Что нужно доработать, чтобы отчет на СКД работал в веб-клиенте?
Vofka --> VofkaДа. Это только в веб-клиенте, в тонком работает корректно. Vofka --> Vofka
Да. Во всех мне доступных браузерах ошибка повторяется. На форумах пишут, что не поддерживается в веб-клиенте.
Установили тонкий клиент, ошибка исчезла.
Vofka --> Vofka
Прочитал по диагонали, что
Отказ от неиспользуемых свойств пользовательских настроек компоновки данных
Начиная с версии 8.3.13, не допустимо чтение и запись значений следующих свойств пользовательских настроек компоновки данных:
Выбор, ЗначенияВложенныхПараметров, Идентификатор, Имя, ИспользоватьВГруппировке,
ИспользоватьВЗаголовке, ИспользоватьВЗаголовкеПолей, ИспользоватьВИерархическойГруппировке,
ИспользоватьВОбщемИтоге, ИспользоватьВОтборе, ИспользоватьВПараметрахобъекта, Колонки,
ЛевоеЗначение, Отбор, Параметр (только при попытке установить значение свойства -- вот мой случай), ПараметрыВывода,
Поля, ПоляГруппировки, Порядок, Представление, ПредставлениеПользовательскойНастройки,
Применение, РежимОтображенияобъекта, Родитель, Серии, Состояние, Строки, Структура, ТипГруппы,
Точки, УсловноеОформление.
Рекомендуется выполнить глобальный поиск по подстроке «.ПользовательскиеНастройки».
После проанализировать найденные места на предмет обращения к неиспользуемым свойствам, выполнив одно из следующих действий:
Заменить на обращение к свойствам основных настроек.
При использовании метода ЗаполнитьЗначенияСвойств:
ЗаполнитьЗначенияСвойств(<Приемник>, ЭлементПользовательскойНастройки);
ЗаполнитьЗначенияСвойств(ЭлементПользовательскойНастройки, <Источник>);
указать явно заполняемые свойства:
ЗаполнитьЗначенияСвойств(<Приемник>, ЭлементПользовательскойНастройки, «Использование, ВидСравнения, ПравоеЗначение»);
ЗаполнитьЗначенияСвойств(ЭлементПользовательскойНастройки, <Источник>, «Значение»);
Например, в БСП в форме УсловияОтборовОтчета хранилища настроек ХранилищеВариантовОтчетов, строка:
ЗаполнитьЗначенияСвойств(Строка, ЭлементОсновнойНастройки, «Представление, ПредставлениеПользовательскойНастройки»);
Строка.ВидСравнения = ЭлементПользовательскойНастройки.ВидСравнения;
Действительно, у себя в конфигурации нашел несовместимый код.
Возможно, когда-то сделаю. Но не в этом году.
Читайте также: