Получает текст, находящийся в текстовом документе.
Синтаксис
ПолучитьТекст()Примеры платформы
Процедура КоманднаяПанельКонструкторЗапросов(Кнопка)
КонструкторЗапроса = Новый КонструкторЗапроса;
КонструкторЗапроса.АвтоДобавлениеПредставлений = Истина;
Попытка
Текст = ТекстЗапроса.ПолучитьТекст();
Если Текст <> "" Тогда
КонструкторЗапроса.Текст = Текст;
КонецЕсли;
Если КонструкторЗапроса.ОткрытьМодально() Тогда
ТекстЗапроса.УстановитьТекст(КонструкторЗапроса.Текст);
КонецЕсли;
Исключение
Предупреждение(ОписаниеОшибки());
КонецПопытки;
КонецПроцедурыПолное описание, параметры и ограничения
ТекстовыйДокумент.ПолучитьТекст (TextDocument.GetText)
ТекстовыйДокумент (TextDocument)
ПолучитьТекст (GetText)
Доступен, начиная с версии 8.0.
Синтаксис:
ПолучитьТекст()
Возвращаемое значение:
Тип: Строка.
Строка, содержащая текст из текстового документа.
Описание:
Получает текст, находящийся в текстовом документе.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:
Процедура КоманднаяПанельКонструкторЗапросов(Кнопка)
КонструкторЗапроса = Новый КонструкторЗапроса;
КонструкторЗапроса.АвтоДобавлениеПредставлений = Истина;
Попытка
Текст = ТекстЗапроса.ПолучитьТекст();
Если Текст <> "" Тогда
КонструкторЗапроса.Текст = Текст;
КонецЕсли;
Если КонструкторЗапроса.ОткрытьМодально() Тогда
ТекстЗапроса.УстановитьТекст(КонструкторЗапроса.Текст);
КонецЕсли;
Исключение
Предупреждение(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Получить свою памятку итогов как текстовый макет, не файл
ПолучитьМакет может возвращать разные типы. Здесь собственный макет заведомо ТекстовыйДокумент, тип результата проверяется до чтения текста.
Где и как запускать
Полный серверный модуль своей новой ПУСТОЙ УчебныеОстатки85, платформа 8.5.1.1343. Административные настройки собственного регистра; здесь не запускался.
Подготовка
Создайте НОВУЮ пустую файловую базу, имя корневой конфигурации УчебныеОстатки85. Не добавляйте эти объекты в УТ/КА2/УНФ/БП. Режим управления блокировкой данных конфигурации — Управляемый.
Документы → Добавить: УчебноеДвижение85. Номер: Строка длиной 40, автонумерация выключена. Модули объекта и менеджера оставьте пустыми; не добавляйте обработчики, подписки и обязательные пользовательские реквизиты.
Регистры накопления → Добавить: УчебныеОстатки85. Вид регистра Остатки. Единственное измерение КодТовара: Строка 50, индексировать, проверка заполнения Показывать ошибку. Единственный ресурс Количество: Число 12,3, неотрицательное. Дополнительных реквизитов нет.
В списке регистраторов выберите только собственный документ УчебноеДвижение85. Оставьте модули регистра пустыми, использование итогов включённым. Планы обмена, разделители, историю данных и фоновые задания для урока не создавайте.
Корневой режим совместимости Не использовать; платформа именно 8.5.1.1343. Единственный регистр — собственный УчебныеОстатки85 вида Остатки, единственный документ — УчебноеДвижение85. База новая пустая, не копия рабочей.
Для этого блока никакие документы и движения не создавайте. Запрос проверяет отсутствие записей своего регистра до административного вызова. Других пользователей, обменов, расширений и фоновых заданий нет.
Создайте серверный общий модуль УчебныеИтогиПримеры. Вставьте весь модуль одного урока, вызовите ВыполнитьПример() Экспорт из собственной серверной команды обработки; обновите конфигурацию БД.
Это операции настройки/обслуживания регистра, не проведение документа. Откат движений не обещает восстановить все настройки/внутренние таблицы итогов.
Урок с границами сознательно меняет диапазон в собственном одноразовом пустом стенде. Он не восстанавливает исходный диапазон и не предназначен для рабочего регистра. Перед таким ручным опытом сохраните резервную копию собственной учебной базы.
При переключении булевых флагов исходное значение читается заранее и восстанавливается при успехе/ошибке. Если восстановление само завершилось ошибкой, код сообщает об этом явно; успешное восстановление не выдумывается.
Примеры здесь не запускались в 1С. Ваши настройки, документы и итоги этим заполнением не изменялись.
У своего УчебныеОстатки85 добавьте макет УчебнаяПамяткаИтогов типа Текстовый документ: первая строка OWN-TOTALS-85, вторая Пустой учебный регистр, не рабочая база. Обновите БД.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Документы.Количество() <> 1
Или Метаданные.РегистрыНакопления.Количество() <> 1
Или Метаданные.Документы.Найти("УчебноеДвижение85") = Неопределено Тогда
ВызватьИсключение "Разрешены только собственный учебный документ и регистр";
КонецЕсли;
Описание = Метаданные.РегистрыНакопления.Найти("УчебныеОстатки85");
Если Описание = Неопределено Тогда
ВызватьИсключение "Сначала создайте собственный учебный регистр";
КонецЕсли;
Если Описание.ВидРегистра <> Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки
Или Описание.Измерения.Количество() <> 1
Или Описание.Ресурсы.Количество() <> 1
Или Описание.Реквизиты.Количество() <> 0
Или Описание.Измерения.Найти("КодТовара") = Неопределено
Или Описание.Ресурсы.Найти("Количество") = Неопределено Тогда
ВызватьИсключение "Нужен регистр остатков с КодТовара и Количество";
КонецЕсли;
Менеджер = РегистрыНакопления.УчебныеОстатки85;
Если Метаданные.РежимСовместимости <> Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать Тогда
ВызватьИсключение "Нужен собственный стенд без старого режима совместимости";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Не вызывайте административный опыт внутри чужой транзакции";
КонецЕсли;
Проверка = Новый Запрос;
Проверка.Текст = "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК Строк
|ИЗ РегистрНакопления.УчебныеОстатки85";
Данные = Проверка.Выполнить().Выгрузить();
Если Данные.Количество() <> 1 Тогда
ВызватьИсключение "Не получена собственная контрольная строка";
КонецЕсли;
Если Данные[0].Строк <> 0 Тогда
ВызватьИсключение "В собственном регистре уже есть движения: этот пустой административный опыт запрещён";
КонецЕсли;
Макет = Менеджер.ПолучитьМакет("УчебнаяПамяткаИтогов");
Если ТипЗнч(Макет) <> Тип("ТекстовыйДокумент") Тогда
ВызватьИсключение "Подготовлен собственный текстовый макет, другой тип не принимается";
КонецЕсли;
ТекстПамятки = Макет.ПолучитьТекст();
Сообщить(СтрНайти(ТекстПамятки, "OWN-TOTALS-85") > 0);
Сообщить(СтрНайти(ТекстПамятки, "Пустой учебный регистр, не рабочая база") > 0);
Сообщить("Получен только собственный макет, запись/печать/сохранение файла не выполнялись");
КонецПроцедурыРазбор по шагам
У собственного регистра добавить макет УчебнаяПамяткаИтогов типа Текстовый документ.
Внести две свои строки-маркера из подготовки, обновить БД.
Получить только именованный макет собственного регистра.
Проверить тип, прочитать текст и проверить оба маркера.
Ничего не сохранять в файлы и не печатать.
Как проверить результат
Два сравнения наличия маркеров Истина.
Другой тип макета останавливается до ПолучитьТекст.
Ни файл, ни печать, ни рабочие данные не создаются.
Ожидаемый результат
Разобраны полиморфный результат ПолучитьМакет и собственная текстовая подготовка.
На что обратить внимание
Свойства и методы относятся только к собственному пустому регистру. Нельзя менять проверку имени на рабочий регистр ради опыта.
ПолучитьИспользованиеИтогов и ПолучитьИспользованиеТекущихИтогов — разные настройки. Текущие итоги применимы только к Остатки.
Булево возвращаемое значение метода не объявляется исходным состоянием или измеренным ускорением без отдельного контракта.
Типизированные даты/флаги и явные проверки не являются доказательством запуска в 1С; здесь выполнялись только статические проверки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Запретить интерактивный вывод поля, не изменяя текст документа
Задаём ограничение вывода у поля и отдельно исследуем настройку у ТекстовыйДокумент. Это разные объекты и не серверная система прав.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
В отдельной учебной базе 8.5.1.1343 создайте внешнюю обработку УчебныеПоляДокументов85 с пустой управляемой основной формой. Запускайте в тонком клиенте Windows; веб-клиент в этот урок не входит.
Не создавайте вручную УчебныйДокумент, ПолеДокумента или учебную команду. Модуль программно добавляет их при открытии формы.
В свойствах формы → События назначьте ПриСозданииНаСервере. Вставьте весь код одного урока на уровне модуля, сохраните свою EPF и откройте её в учебной базе.
Поле связано с реквизитом УчебныйДокумент типа ТекстовыйДокумент. Объект документа содержит данные, элемент ПолеДокумента отвечает за отображение и пользовательские действия.
Документ создаётся заново из собственных констант. Книга: 3 штуки по 250, сумма 750. Реальные документы, справочники, файлы, сертификаты и сетевые адреса не используются.
Каждый урок запускайте в отдельной копии формы. Изменения текста и оформления живут в памяти открытой учебной формы; код не сохраняет документ в файл, не печатает и не пишет в базу.
Размеры и ограничения элемента задаются на сервере создания формы. Кнопка выполняет клиентские проверки или явно описанное учебное изменение.
Фактический вид и запуск в 1С не проверены. Настройки компоновки формы, масштаб интерфейса и версия клиента могут влиять на отображение; сверяйте его вручную.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НовыеРеквизиты = Новый Массив;
НовыеРеквизиты.Добавить(Новый РеквизитФормы("УчебныйДокумент", Новый ОписаниеТипов("ТекстовыйДокумент")));
ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
Документ = Новый ТекстовыйДокумент;
Документ.УстановитьТекст("Книга" + Символы.ПС + "Количество: 3" + Символы.ПС + "Сумма: 750");
ЭтаФорма.УчебныйДокумент = Документ;
Поле = Элементы.Добавить("ПолеДокумента", Тип("ПолеФормы"));
Поле.Вид = ВидПоляФормы.ПолеТекстовогоДокумента;
Поле.ПутьКДанным = "УчебныйДокумент";
Поле.Вывод = ИспользованиеВывода.Запретить;
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить учебный документ";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Поле = Элементы.ПолеДокумента;
Сообщить(Поле.Вывод = ИспользованиеВывода.Запретить);
Сообщить(СтрНайти(УчебныйДокумент.ПолучитьТекст(), "Книга") > 0);
Сообщить("Настройка вывода документа: " + Строка(УчебныйДокумент.Вывод));
Сообщить("Настройка вывода поля: " + Строка(Поле.Вывод));
КонецПроцедуры
Разбор по шагам
Исходный документ создаётся с собственным текстом, без чтения файла.
Присваивание Поле.Вывод меняет ограничение печати, сохранения и буфера для этого элемента интерфейса.
УчебныйДокумент.Вывод не переписываем: справка допускает отличие его значения от свойства поля.
Читаем обе настройки раздельно и проверяем, что текст Книга остался в документе.
Как проверить результат
Ожидаются два Истина и две строки с текущими настройками вывода.
Осмотрите доступность команд поля, ничего не сохраняя и не печатая. Не ожидайте автоматически запрет записи серверным кодом.
Ожидаемый результат
Отделены данные документа, настройки его представления и реальные права доступа.
На что обратить внимание
Ограничение интерфейса не защищает данные от произвольного серверного кода.
Не назначайте полю имя файла с ожиданием, что это автоматически сохранит документ.
Эта учебная настройка не заменяет роль, RLS или контроль доступа в конфигурации.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.