Глобальный контекст.ПустаяСтрока

Методы · IsBlankString

Проверяет строку на наличие значащих символов.

Синтаксис

ПустаяСтрока(<Строка>)

Примеры платформы

Если ПустаяСтрока(Сотрудник.Фамилия) Тогда
    Предупреждение(НСтр("ru = 'Укажите фамилию сотрудника.';"
     + " en = 'Define employee surname.'"));
КонецЕсли;
Полное описание, параметры и ограничения

Глобальный контекст.ПустаяСтрока (Global context.IsBlankString)

Глобальный контекст (Global context)

ПустаяСтрока (IsBlankString)

Доступен, начиная с версии 8.0.

Синтаксис:
ПустаяСтрока(<Строка>)
Параметры:

<Строка> (обязательный)
Тип: Строка.
Исходная строка.
Возвращаемое значение:
Тип: Булево.
Истина - строка не содержит значащих символов или не содержит ни одного символа (пустая); Ложь - в противном случае.
Описание:

Проверяет строку на наличие значащих символов.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Внимание: Данный метод не поддерживается при работе через COM-соединение
Примечание:
К незначащим символам относятся символы "пробел", "неразрывный пробел" (НПП), "табуляция" (горизонтальная Таб и вертикальная ВТаб), "возврат каретки" (ВК), "перевод строки" (ПС), "перевод формы (страницы)" (ПФ).
Пример:

Если ПустаяСтрока(Сотрудник.Фамилия) Тогда
Предупреждение(НСтр("ru = 'Укажите фамилию сотрудника.';"
+ " en = 'Define employee surname.'"));
КонецЕсли;

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Проверить, почему марка очищается при смене производителя

У Номенклатура.Марка отбор связан с Производитель и имеет режим Clear. Читаем реальное правило и переносим его только в собственное описание связи.

Где и как запускать

Полный серверный общий модуль учебной копии КА2 Progress. Только схема и собственные значения в памяти.

Подготовка

  1. Используйте отдельную учебную копию КА2 Progress, соответствующую C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Названия и настройки проверены по реальным Catalogs/Номенклатура.xml и Catalogs/ВидыПодарочныхСертификатов.xml.

  2. Создайте серверный общий модуль УчебныеЗадачи, вставьте полный модуль одного урока и вызовите ВыполнитьПример() из своего серверного обработчика учебной команды.

  3. Примеры читают схему и создают значения только в памяти. Они не создают и не записывают товары, не меняют метаданные, не запускают заполнение объекта или перестроение поискового индекса.

Процедура ВыполнитьПример() Экспорт
    Справочник = Метаданные.Справочники.Найти("Номенклатура");
    Если Справочник = Неопределено Тогда
        ВызватьИсключение "В учебной конфигурации отсутствует Справочники.Номенклатура";
    КонецЕсли;
    Описание = Справочник.Реквизиты.Найти("Марка");
    Если Описание = Неопределено Тогда
        ВызватьИсключение "В найденном справочнике нет нужного реквизита учебного урока";
    КонецЕсли;
    Связи = Описание.СвязиПараметровВыбора;
    Если Связи.Количество() <> 1 Тогда
        ВызватьИсключение "Ожидалась одна связь марки с производителем";
    КонецЕсли;
    Связь = Связи[0];
    Если ТипЗнч(Связь) <> Тип("СвязьПараметраВыбора") Тогда
        ВызватьИсключение "Ожидался объект СвязьПараметраВыбора";
    КонецЕсли;
    Сообщить(Связь.Имя = "Отбор.Производитель");
    Сообщить(Связь.ИзменениеЗначения = РежимИзмененияСвязанногоЗначения.Очищать);
    Сообщить("Путь к источнику значения: " + Связь.ПутьКДанным);
    Сообщить(НЕ ПустаяСтрока(Связь.ПутьКДанным));
    УчебнаяСвязь = Новый СвязьПараметраВыбора(Связь.Имя, Связь.ПутьКДанным, Связь.ИзменениеЗначения);
    Сообщить(УчебнаяСвязь.Имя = Связь.Имя);
    Сообщить(УчебнаяСвязь.ПутьКДанным = Связь.ПутьКДанным);
    Сообщить(УчебнаяСвязь.ИзменениеЗначения = Связь.ИзменениеЗначения);
    Сообщить("Правило прочитано; действительная форма номенклатуры не открывалась и не изменялась");
КонецПроцедуры

Разбор по шагам

  1. Проверяем массив и тип объекта связи до чтения свойств. В исходном XML DataPath указывает на реквизит Производитель, ValueChange=Clear.

  2. Имя — параметр отбора, ПутьКДанным — источник его значения. Это не одна и та же строка и не путь к файлу ОС.

  3. Очищать относится к связанному значению при изменении ведущего. Оно объясняет, почему нельзя сохранять прежнюю марку, игнорируя смену производителя.

  4. Конструктор получает режим явно. Его документированный вариант по умолчанию тоже Очищать, но явный аргумент делает перенос настоящего правила понятным.

  5. Созданное описание само не привязано к форме и не очищает данные. Фактическую обработку рабочего поля необходимо проверять отдельно на учебной копии.

Как проверить результат

  1. Шесть контрольных Истина и фактический путь к источнику значения.

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

Ожидаемый результат

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

На что обратить внимание

  1. Не присваивайте readonly-свойства СвязьПараметраВыбора: создавайте новое описание конструктором.

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

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Разобрать ограничение типа аналитики доходов

В ВидыПодарочныхСертификатов аналитика связана по типу со СтатьяДоходов. Схема использует характеристику, а не заранее выдуманный тип СправочникСсылка.Номенклатура.

Где и как запускать

Полный серверный общий модуль учебной копии КА2 Progress. Только схема и собственные значения в памяти.

Подготовка

  1. Используйте отдельную учебную копию КА2 Progress, соответствующую C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Названия и настройки проверены по реальным Catalogs/Номенклатура.xml и Catalogs/ВидыПодарочныхСертификатов.xml.

  2. Создайте серверный общий модуль УчебныеЗадачи, вставьте полный модуль одного урока и вызовите ВыполнитьПример() из своего серверного обработчика учебной команды.

  3. Примеры читают схему и создают значения только в памяти. Они не создают и не записывают товары, не меняют метаданные, не запускают заполнение объекта или перестроение поискового индекса.

Процедура ВыполнитьПример() Экспорт
    Справочник = Метаданные.Справочники.Найти("ВидыПодарочныхСертификатов");
    Если Справочник = Неопределено Тогда
        ВызватьИсключение "В учебной конфигурации отсутствует Справочники.ВидыПодарочныхСертификатов";
    КонецЕсли;
    Описание = Справочник.Реквизиты.Найти("АналитикаДоходов");
    Если Описание = Неопределено Тогда
        ВызватьИсключение "В найденном справочнике нет нужного реквизита учебного урока";
    КонецЕсли;
    Связь = Описание.СвязьПоТипу;
    Если ТипЗнч(Связь) <> Тип("СвязьПоТипу") Тогда
        ВызватьИсключение "Ожидалось описание связи по типу";
    КонецЕсли;
    Сообщить("Путь к ведущему реквизиту: " + Связь.ПутьКДанным);
    Сообщить(НЕ ПустаяСтрока(Связь.ПутьКДанным));
    Сообщить(Связь.ЭлементСвязи = 0);
    Статья = Справочник.Реквизиты.Найти("СтатьяДоходов");
    Если Статья = Неопределено Тогда
        ВызватьИсключение "Не найден ведущий реквизит СтатьяДоходов";
    КонецЕсли;
    Сообщить(Статья.Тип.СодержитТип(Тип("ПланВидовХарактеристикСсылка.СтатьиДоходов")));
    УчебнаяСвязь = Новый СвязьПоТипу(Связь.ПутьКДанным, Связь.ЭлементСвязи);
    Сообщить(УчебнаяСвязь.ПутьКДанным = Связь.ПутьКДанным);
    Сообщить(УчебнаяСвязь.ЭлементСвязи = Связь.ЭлементСвязи);
    ПустаяСвязь = Новый СвязьПоТипу;
    Сообщить(ПустаяСтрока(ПустаяСвязь.ПутьКДанным) И ПустаяСвязь.ЭлементСвязи = 0);
КонецПроцедуры

Разбор по шагам

  1. Исходная АналитикаДоходов имеет набор типов характеристики СтатьиДоходов, а ведущая СтатьяДоходов — ссылку на план видов характеристик.

  2. СвязьПоТипу читается как описание пути. Оно не является самим выбранным значением статьи и не содержит автоматически прочитанной аналитики из базы.

  3. ЭлементСвязи применяется к номеру вида субконто при связи с планом счетов. В этом реальном примере связь идёт к плану видов характеристик и XML задаёт 0.

  4. Создаём отдельное описание с теми же двумя параметрами. Отдельный Новый СвязьПоТипу без аргументов показывает пустой путь и нулевой элемент.

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

Как проверить результат

  1. Шесть контрольных Истина и строка фактического пути к ведущему реквизиту.

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

Ожидаемый результат

Понятно, как описывается зависимый тип реквизита и почему нельзя угадать тип аналитики по её имени.

На что обратить внимание

  1. СвязьПоТипу — не обычный отбор ссылок и не значение характеристики.

  2. Не подставляйте номер субконто 1–3 в связь плана видов характеристик только по аналогии с планом счетов.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.