1с проверка мутабельных значений на заполненность не поддерживается

Обновлено: 07.07.2024

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

1. Что собой представляет мутабельные значения в 1С?

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

Мутабельный тип (в переводе с английского Mutable – изменчивый) – это сложный тип данных в 1С, который может менять свои свойства уже после создания.

К мутабельным типам в языке программирования 1С относятся:

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

Простые (примитивные) типы:

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

Предопределенным типом является цвет.

С описанием типов разобрались. Следующий вопрос, который, думаю, заинтересует многих – как же проверить заполненность мутабельных значений в 1С.

2. Как проверить заполненные мутабельные значения в 1С?

При переходе со старой версии платформы 1С:Предприятие (до 8.2) на актуальную нередко в момент тестирования или эксплуатации возникают ошибки проверки мутабельного значения на заполненность. Это связано с особенностью глобальной функции ЗначениеЗаполнено(). Ранее использовалась гл. функция НеЗаполнено(), которая проверяла, хоть и медленнее, но более эффективно. То есть в новых версиях платформы 1С Предприятие подобная проблема может возникнуть в тот момент, когда проверяем значение, не зная его типа.

Зачастую ошибки подобного толка касаются таких типов как формы и элементы форм, списки значений (таблица, список, дерево), COM- объекты и т.д.

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

Для проверки типа данных 1С мы можем использовать конструкцию типа:

проверки типа данных 1С

В данном случае 1С проанализирует первое условие, и если типы совпадут, дальнейшее условие отработано не будет.

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

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

При создании объекта (элемента справочника или документа) проверяется существование всех обработок подписок.

В данном случае ошибка возникает в такой строчке кода:

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

pri-podpiske-pered-zapisyu-proizoshla-oshibka-obrabotchih-sobytiya-ne-najden

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

Поиск причины и исправление

Глобальный поиск дает события или саму процедуру:

rezultaty-poiska

klient-upravyalemoe-prilozhenie-v-svojstvah-modulya

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

Как сделать глобальный поиск по тексту?

poisk-po-svojstvam

Корень проблемы

Многие зададут вопрос: а зачем запускать создавать объект под приложением не адаптированном под управляемое приложение?.

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

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

— Денев Катрин

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

1. Что собой представляет мутабельные значения в 1С?

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

Мутабельный тип (в переводе с английского Mutable – изменчивый) – это сложный тип данных в 1С, который может менять свои свойства уже после создания.

К мутабельным типам в языке программирования 1С относятся:

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

Простые (примитивные) типы:

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

Предопределенным типом является цвет.

С описанием типов разобрались. Следующий вопрос, который, думаю, заинтересует многих – как же проверить заполненность мутабельных значений в 1С.

2. Как проверить заполненные мутабельные значения в 1С?

При переходе со старой версии платформы 1С:Предприятие (до 8.2) на актуальную нередко в момент тестирования или эксплуатации возникают ошибки проверки мутабельного значения на заполненность. Это связано с особенностью глобальной функции ЗначениеЗаполнено(). Ранее использовалась гл. функция НеЗаполнено(), которая проверяла, хоть и медленнее, но более эффективно. То есть в новых версиях платформы 1С Предприятие подобная проблема может возникнуть в тот момент, когда проверяем значение, не зная его типа.

Зачастую ошибки подобного толка касаются таких типов как формы и элементы форм, списки значений (таблица, список, дерево), COM- объекты и т.д.

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

Для проверки типа данных 1С мы можем использовать конструкцию типа:

проверки типа данных 1С

В данном случае 1С проанализирует первое условие, и если типы совпадут, дальнейшее условие отработано не будет.

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

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

1. Что собой представляет мутабельные значения в 1С?

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

Мутабельный тип (в переводе с английского Mutable – изменчивый) – это сложный тип данных в 1С, который может менять свои свойства уже после создания.

К мутабельным типам в языке программирования 1С относятся:

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

Простые (примитивные) типы:

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

Предопределенным типом является цвет.

С описанием типов разобрались. Следующий вопрос, который, думаю, заинтересует многих – как же проверить заполненность мутабельных значений в 1С.

2. Как проверить заполненные мутабельные значения в 1С?

При переходе со старой версии платформы 1С:Предприятие (до 8.2) на актуальную нередко в момент тестирования или эксплуатации возникают ошибки проверки мутабельного значения на заполненность. Это связано с особенностью глобальной функции ЗначениеЗаполнено(). Ранее использовалась гл. функция НеЗаполнено(), которая проверяла, хоть и медленнее, но более эффективно. То есть в новых версиях платформы 1С Предприятие подобная проблема может возникнуть в тот момент, когда проверяем значение, не зная его типа.

Зачастую ошибки подобного толка касаются таких типов как формы и элементы форм, списки значений (таблица, список, дерево), COM- объекты и т.д.

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

Для проверки типа данных 1С мы можем использовать конструкцию типа:

проверки типа данных 1С

В данном случае 1С проанализирует первое условие, и если типы совпадут, дальнейшее условие отработано не будет.

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

Читайте также: