Тип: Строка. Содержит форматную строку. Используется при отображении текста в колонке таблицы.
Полное описание, параметры и ограничения
Расширение поля формы для поля ввода.Формат (Form field extension for a text box.Format)
Расширение поля формы для поля ввода (Form field extension for a text box)
Формат (Format)
Доступен, начиная с версии 8.2.
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит форматную строку. Используется при отображении текста в колонке таблицы.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
См. также:
ПолеВвода, свойство Формат
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Отформатировать колонку количества, не меняя числа
Две собственные строки имеют количество 3 и 1. Формат колонки показывает два знака после запятой, а итог остаётся числом 4.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
В учебной базе: Файл → Новый → Внешняя обработка. Создайте управляемую форму и назначьте её основной. Дайте обработке имя УчебнаяТаблица.
Не добавляйте вручную реквизит Товары и одноимённые элементы: код создаст их при открытии. Модуль формы для этой задачи должен быть пустым.
В свойствах формы → События свяжите ПриСозданииНаСервере с одноимённой процедурой. Сохраните отдельную учебную EPF и откройте через Файл → Открыть.
Данные Книга/Ручка создаются в памяти формы. Справочники, документы и регистры вашей конфигурации не читаются и не записываются.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НовыеРеквизиты = Новый Массив;
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Товары", Новый ОписаниеТипов("ТаблицаЗначений")));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Код", Новый ОписаниеТипов("Строка"), "Товары", "Код"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Наименование", Новый ОписаниеТипов("Строка"), "Товары", "Название"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)), "Товары", "Количество"));
ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
Данные = Новый ТаблицаЗначений;
Данные.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)));
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "A-01";
СтрокаТовара.Наименование = "Книга";
СтрокаТовара.Количество = 3;
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "B-02";
СтрокаТовара.Наименование = "Ручка";
СтрокаТовара.Количество = 1;
ЭтаФорма.ЗначениеВРеквизитФормы(Данные, "Товары");
Таблица = ЭтаФорма.Элементы.Добавить("ТаблицаТоваров", Тип("ТаблицаФормы"));
Таблица.ПутьКДанным = "Товары";
Таблица.Заголовок = "Учебные товары";
Таблица.Шапка = Истина;
Таблица.АвтоВводНезаполненного = Ложь;
Таблица.АвтоВводНовойСтроки = Ложь;
Для Каждого ИмяКолонки Из СтрРазделить("Код,Наименование,Количество", ",") Цикл
Колонка = Элементы.Добавить("Товары" + ИмяКолонки, Тип("ПолеФормы"), Таблица);
Колонка.Вид = ВидПоляФормы.ПолеВвода;
Колонка.ПутьКДанным = "Товары." + ИмяКолонки;
Колонка.Заголовок = ИмяКолонки;
КонецЦикла;
КолонкаКоличества = Элементы.ТоварыКоличество;
КолонкаКоличества.Формат = "ЧДЦ=2; ЧН=0";
КолонкаКоличества.ФорматРедактирования = "ЧДЦ=0";
КолонкаКоличества.ТолькоПросмотр = Истина;
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить фактическое количество";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Сообщить(Товары.Количество() = 2);
Сообщить(Товары.Итог("Количество") = 4);
Для Каждого СтрокаТовара Из Товары Цикл
Сообщить(ТипЗнч(СтрокаТовара.Количество) = Тип("Число"));
КонецЦикла;
КонецПроцедурыРазбор по шагам
Код создаёт собственные две строки формы: Книга/3 и Ручка/1.
Формат относится к отображению поля ввода в колонке таблицы. ФорматРедактирования задаётся отдельно.
ЧДЦ=2 показывает два десятичных знака; локаль клиента определяет разделитель.
ТолькоПросмотр выключает интерактивное изменение количества в этом упражнении.
Команда проверяет количество строк, числовой итог и тип значений каждой строки.
Как проверить результат
Четыре сообщения Истина.
На экране количество отформатировано с двумя десятичными знаками; в данных по-прежнему числа 3 и 1.
Ожидаемый результат
Формат представления отделён от фактических чисел и суммы.
На что обратить внимание
Не проверяйте числовые значения сравнением с локализованной строкой 3,00.
ТолькоПросмотр не является серверной проверкой прав или запретом программного изменения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Дополнить собственный клиент тестирования тремя учебными кнопками
Полный модуль расширяет таблицу памяти: серверная константа, файловый диалог без чтения файла и контролируемая ошибка. Все операции самостоятельные учебные.
Где и как запускать
Полный модуль отдельной собственной тестируемой формы. Запускается в клиенте /TESTCLIENT, а тесты ниже — в другом клиенте /TESTMANAGER.
Подготовка
Создайте собственную пустую учебную конфигурацию УчебнаяКонфигурацияСинтаксиса. Первый урок содержит полный модуль отдельной внешней обработки УчебнаяТаблицаТестирования; её данные только в памяти.
Запустите два отдельных тонких клиента собственной учебной базы: тестируемый с /TESTCLIENT -TPort15380, менеджер с /TESTMANAGER. Порт 15380 — собственный учебный; убедитесь, что на нём не работает другой клиент. Не подключайте менеджер к рабочей базе/чужому приложению.
В тестируемом клиенте вручную откройте собственную обработку из первого урока. В менеджере создайте другую внешнюю обработку с командой ВыполнитьПример; полный код одного теста вставьте в её модуль формы.
Перед каждым тестом закройте и заново откройте таблицу в тестируемом клиенте. Исходно в ней A-01/Книга/3, B-02/Ручка/1, C-00/Бумага/2, без ранее установленной сортировки и редактирования.
Каждый тест ищет точный учебный заголовок и таблицу ТаблицаТоваров внутри этой формы. Не заменяйте селекторы на * или первый найденный элемент рабочего приложения.
Это код штатного механизма тестирования 1С, не браузерная проверка HTML. В данном окружении выполнение UI-тестов в настоящей 1С не подтверждено.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭтаФорма.АвтоЗаголовок = Ложь;
ЭтаФорма.Заголовок = "Учебная таблица guide-owned-ui-2026";
НовыеРеквизиты = Новый Массив;
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Товары", Новый ОписаниеТипов("ТаблицаЗначений")));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Код", Новый ОписаниеТипов("Строка"), "Товары", "Код"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Наименование", Новый ОписаниеТипов("Строка"), "Товары", "Название"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)), "Товары", "Количество"));
ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
Данные = Новый ТаблицаЗначений;
Данные.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)));
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "A-01";
СтрокаТовара.Наименование = "Книга";
СтрокаТовара.Количество = 3;
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "B-02";
СтрокаТовара.Наименование = "Ручка";
СтрокаТовара.Количество = 1;
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "C-00";
СтрокаТовара.Наименование = "Бумага";
СтрокаТовара.Количество = 2;
ЭтаФорма.ЗначениеВРеквизитФормы(Данные, "Товары");
Таблица = ЭтаФорма.Элементы.Добавить("ТаблицаТоваров", Тип("ТаблицаФормы"));
Таблица.ПутьКДанным = "Товары";
Таблица.Заголовок = "Учебные товары";
Таблица.Шапка = Истина;
Таблица.АвтоВводНезаполненного = Ложь;
Таблица.АвтоВводНовойСтроки = Ложь;
Для Каждого ИмяКолонки Из СтрРазделить("Код,Наименование,Количество", ",") Цикл
Колонка = Элементы.Добавить("Товары" + ИмяКолонки, Тип("ПолеФормы"), Таблица);
Колонка.Вид = ВидПоляФормы.ПолеВвода;
Колонка.ПутьКДанным = "Товары." + ИмяКолонки;
Колонка.Заголовок = ИмяКолонки;
КонецЦикла;
Таблица.Подсказка = "Собственные данные: три строки, без записи базы";
Таблица.ТолькоПросмотр = Ложь;
Элементы.ТоварыКоличество.Формат = "ЧГ=0;ЧДЦ=0";
ДополнительныеРеквизиты = Новый Массив;
ДополнительныеРеквизиты.Добавить(Новый РеквизитФормы("УчебныйСтатус", Новый ОписаниеТипов("Строка")));
ЭтаФорма.ИзменитьРеквизиты(ДополнительныеРеквизиты);
УчебныйСтатус = "Готово";
ПолеСтатуса = Элементы.Добавить("ПолеУчебногоСтатуса", Тип("ПолеФормы"));
ПолеСтатуса.Вид = ВидПоляФормы.ПолеВвода;
ПолеСтатуса.ПутьКДанным = "УчебныйСтатус";
ПолеСтатуса.Заголовок = "Учебный статус";
ПолеСтатуса.ТолькоПросмотр = Истина;
Для Каждого ИмяКоманды Из СтрРазделить("УчебныйСерверныйВызов,УчебныйДиалогФайла,УчебнаяОшибка", ",") Цикл
КомандаФормы = ЭтаФорма.Команды.Добавить(ИмяКоманды);
КомандаФормы.Действие = ИмяКоманды;
КомандаФормы.Заголовок = ИмяКоманды;
КомандаФормы.Подсказка = "Только собственный учебный сценарий";
КомандаФормы.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("Кнопка" + ИмяКоманды, Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаФормы.Имя;
Кнопка.Заголовок = ИмяКоманды;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура УчебныйСерверныйВызов(Команда)
УчебныйСтатус = "Сервер вернул " + Строка(ПолучитьУчебноеКоличествоНаСервере());
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьУчебноеКоличествоНаСервере()
Возврат 3;
КонецФункции
&НаКлиенте
Процедура УчебныйДиалогФайла(Команда)
УчебныйСтатус = "Диалог начат";
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.МножественныйВыбор = Ложь;
Диалог.Заголовок = "Только учебный диалог; файлы не читаются";
Диалог.Показать(Новый ОписаниеОповещения("УчебныйДиалогЗавершен", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура УчебныйДиалогЗавершен(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Если ВыбранныеФайлы = Неопределено Тогда
УчебныйСтатус = "Отмена";
Иначе
УчебныйСтатус = "Выбрано файлов: " + Строка(ВыбранныеФайлы.Количество());
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УчебнаяОшибка(Команда)
ВызватьИсключение "Собственная учебная ошибка guide-owned-ui-2026";
КонецПроцедурыРазбор по шагам
Замените модуль отдельной копии собственного fixture этим полным модулем, не добавляйте его поверх прежнего. Событие ПриСозданииНаСервере остаётся назначено.
Создаются три кнопки с точными внутренними именами КнопкаУчебныйСерверныйВызов, КнопкаУчебныйДиалогФайла, КнопкаУчебнаяОшибка и поле ПолеУчебногоСтатуса.
Серверный обработчик возвращает константу 3; на клиенте отображается Сервер вернул 3. База не читается и не записывается.
Файловый диалог Показать вызывает экспортную процедуру с ВыбранныеФайлы и ДополнительныеПараметры. Отмена передаёт Неопределено, не Ложь и не пустую строку.
Контролируемая ошибка имеет собственный маркер. Не заменяйте её настоящей рабочей ошибкой со стеком, токенами или данными сотрудников.
Как проверить результат
При открытии статус Готово и три исходных товара. Собственная кнопка сервера меняет статус на Сервер вернул 3.
Отмена собственного диалога меняет статус на Отмена, не создавая и не читая файл. Ошибка создаётся только при отдельном намеренном нажатии УчебнаяОшибка.
Ожидаемый результат
Подготовлен самостоятельный собственный fixture для ожидания, показателей, диалога и ошибок тестирования.
На что обратить внимание
Не нажимайте кнопку файлового диалога из менеджера до подготовки его результата — может открыться системное окно.
Это не готовый тест рабочей конфигурации и не разрешение подключать менеджер к production.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.