Свой текст в документах, справочниках и печатных формах 1С 8.3
Содержание
Чтобы добавить текст в 1С без программиста, используйте поле Комментарий внизу формы документа или создайте дополнительный реквизит: в БП 3.0 это Администрирование → Общие настройки → Дополнительные реквизиты и сведения. Если текст должен попасть в печатную форму, правьте её макет в Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм. Новое поле в структуре базы добавляют в Конфигураторе или расширении.
Типичная ситуация: бухгалтеру нужно писать в реализации номер договора поставки, а в счёте на оплату — строку «Оплата по счёту означает согласие с условиями». Поля для этого нет. Решение зависит от того, где текст должен жить: только в карточке, в отчётах или на бумаге. Ниже способы от простого к сложному.
1. Где ввести текст в режиме «Предприятие» без доработок
Начните с того, что уже есть в типовой конфигурации. Часто свободное поле находится, просто его не замечают.
📝 Поле «Комментарий». Есть почти во всех документах БП 3.0, ЗУП 3.1 и УТ 11, обычно в самом низу формы. Текст виден в списке документов (колонку можно включить через Ещё → Изменить форму или настройку списка) и ищется поиском по списку. В печатные формы комментарий, как правило, не выводится.
📦 Полное наименование. В карточке номенклатуры два поля: краткое Наименование для поиска и Полное наименование, которое идёт в документы для покупателя. Если в накладной нужна длинная формулировка товара, пишите её во второе поле, а короткое оставьте для подбора.
📎 Присоединённые файлы. Значок скрепки в командной панели документа или справочника открывает список вложений. Туда можно положить договор, служебную записку или скан. Удобно, когда текст длинный и форматированный.
🗂 Контактная информация и описание. У контрагентов и сотрудников есть поля для адресов, телефонов и произвольного комментария. Для заметок о клиенте это быстрее любой доработки.
💡 Длинный текст удобнее набрать в Блокноте, а затем вставить в поле через Ctrl+V. Форматирование из Word (жирный, таблицы) при вставке в обычное поле теряется: 1С хранит здесь простую строку.
Как вывести поле на форму, если его не видно
Многие поля скрыты настройкой формы. Откройте документ, нажмите Ещё → Изменить форму. В открывшемся окне отметьте флажком нужный элемент и перетащите его выше. Настройка сохраняется для вашего пользователя и ничего не меняет в базе. Вернуть исходный вид можно кнопкой Ещё → Установить стандартные настройки в том же окне.
2. Дополнительные реквизиты: новое текстовое поле без Конфигуратора
Дополнительные реквизиты — механизм типовых конфигураций, который добавляет поле в документ или справочник прямо в пользовательском режиме. Обновления конфигурации его не ломают.
Включение и создание реквизита в БП 3.0
- Откройте
Администрирование → Общие настройки. - Найдите группу «Дополнительные реквизиты и сведения» и включите флажок.
- Перейдите по ссылке «Дополнительные реквизиты».
- Слева выберите объект: например, «Реализация (акт, накладная)» или «Номенклатура».
- Нажмите
Добавить → Новыйи задайте наименование поля, например «Номер договора поставки». - В поле типа значения выберите
Строка. Для длинных заметок укажите неограниченную длину и многострочный ввод. - Нажмите
Записать и закрыть.
После этого в форме выбранного объекта появится группа «Дополнительные реквизиты» с новым полем. Обычно она свёрнута — разверните её щелчком по заголовку.
В ЗУП 3.1 и УТ 11 механизм тот же, он входит в общую библиотеку. Флажок включения ищите в Администрирование → Общие настройки.
Реквизит или сведение: что выбрать
| Вариант | Где хранится | Когда подходит |
|---|---|---|
| Дополнительный реквизит | Вместе с объектом, меняется при его записи | Текст — часть документа: номер договора, условие поставки |
| Дополнительное сведение | Отдельно от объекта | Текст можно менять в закрытом периоде без перезаписи документа |
Дополнительный реквизит не появится в печатной форме сам по себе. Чтобы текст напечатался, нужна правка макета или внешняя печатная форма (разделы 4 и 5).
Значения доп. реквизитов доступны в отчётах на базе системы компоновки данных. В настройке отчёта раскройте объект в списке полей — доп. реквизиты будут среди его полей. По ним можно отбирать и группировать.
3. Добавление реквизита для текста в Конфигураторе и расширении
Когда поле нужно в запросах, обменах или коде, создают обычный реквизит в метаданных. Это работа для того, кто умеет вносить изменения в конфигурацию.
Новый строковый реквизит
- Запустите базу в режиме Конфигуратор:
Конфигурация → Открыть конфигурацию. - В дереве метаданных найдите объект, например
Документы → РеализацияТоваровУслуг. - Откройте его, на закладке «Данные» добавьте реквизит.
- Задайте имя латиницей или кириллицей без пробелов (
ДоговорПоставки), типСтрокаи длину. - Вынесите реквизит на форму: перетащите его из списка реквизитов формы в дерево элементов.
- Сохраните конфигурацию и обновите конфигурацию базы данных (
F7).
Длина 0 означает строку неограниченной длины. Её удобно использовать для заметок, но есть ограничения: такую строку нельзя напрямую сравнивать в условии запроса, группировать и индексировать. Для сравнения её приводят: ВЫРАЗИТЬ(Документ.Заметка КАК СТРОКА(200)).
Чтобы поле на форме было многострочным, у элемента формы включите свойство МногострочныйРежим и растяните элемент по высоте.
Почему лучше расширение, а не правка типовой
Снятие типовой конфигурации с поддержки усложняет каждое следующее обновление. Начиная с платформы 8.3.11 расширение умеет добавлять собственные реквизиты к заимствованным объектам. Порядок такой:
- В Конфигураторе:
Конфигурация → Расширения конфигурации → Добавить. - Откройте расширение, заимствуйте нужный документ (контекстное меню объекта в основной конфигурации → «Добавить в расширение»).
- Добавьте реквизит в заимствованный объект и выведите его в заимствованную форму.
- Обновите конфигурацию базы данных.
Если удалить расширение с данными, значения его реквизитов тоже пропадут. Перед удалением или пересозданием расширения выгрузите базу в .dt.
Форматированный текст
Для текста с жирным шрифтом, цветом и ссылками используют тип реквизита формы ФорматированныйДокумент. В базе его обычно хранят в реквизите типа ХранилищеЗначения. Этот вариант уже требует кода на запись и чтение, поэтому применяйте его только там, где форматирование действительно нужно.
4. Как добавить текст в печатную форму через макет
Это самый частый запрос: дописать фразу в счёт, акт или накладную. Есть три пути — от разового до постоянного.
Разово: отредактировать готовую форму
Сформируйте печатную форму через кнопку «Печать». В окне просмотра включите режим редактирования (кнопка с карандашом на панели). Теперь в ячейки можно вписать текст, как в Excel. Изменение действует только на этот экземпляр: при следующей печати форма соберётся заново.
Постоянно: изменить макет
- Откройте
Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм. - Найдите макет по названию, например «Счет на оплату».
- Нажмите «Изменить». Макет откроется как табличный документ.
- Выделите ячейку в нужной области и впишите текст.
- Запишите макет и проверьте печать на любом документе.
Ячейки макета бывают трёх видов заполнения. Это видно в свойствах ячейки:
| Заполнение | Что в ячейке | Что произойдёт при печати |
|---|---|---|
| Текст | Обычные слова | Печатается как есть |
| Параметр | Имя параметра | Подставится значение из программы |
| Шаблон | Текст с [ИмяПараметра] внутри | Слова останутся, параметр заменится значением |
Для своей фразы используйте ячейку с заполнением «Текст». Ячейку с параметром не трогайте: если заменить её содержимое, программа перестанет подставлять туда данные.
💡 Изменённый макет отмечается в списке. Если что-то пошло не так, выберите его и нажмите «Использовать стандартный макет» — вернётся исходный вариант. После обновления конфигурации проверьте изменённые макеты: если фирма 1С поменяла стандартный макет, ваш вариант его не получит.
Когда нужен программист
Правка макета добавляет только постоянный текст. Вывести в печать значение доп. реквизита или свой реквизит из раздела 3 через макет нельзя — нужна внешняя печатная форма или доработка процедуры печати в расширении. Внешнюю печатную форму подключают в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.
5. Программное добавление и обработка текста во встроенном языке
В коде текст — это значение типа Строка. Основные приёмы:
// Склейка строк с переносом
Текст = "Договор поставки № 15" + Символы.ПС + "от 01.03";
// Подстановка значений: числа не склеивать напрямую
Сумма = 125000;
Строка1 = СтрШаблон("Сумма к оплате: %1 руб.", Формат(Сумма, "ЧДЦ=2; ЧГ=0"));
// Замена и поиск
Текст = СтрЗаменить(Текст, "поставки", "оказания услуг");
Позиция = СтрНайти(Текст, "№");
// Разбить строку на части и собрать обратно
Части = СтрРазделить("Москва;Тула;Орёл", ";");
Итог = СтрСоединить(Части, ", ");
Дописать текст в комментарий выбранных документов
Пример для обработки, которой передают массив ссылок на документы:
Процедура ДописатьКомментарий(МассивДокументов, Добавка) Экспорт
Для Каждого Ссылка Из МассивДокументов Цикл
Объект = Ссылка.ПолучитьОбъект();
Если ПустаяСтрока(Объект.Комментарий) Тогда
Объект.Комментарий = Добавка;
Иначе
Объект.Комментарий = Объект.Комментарий + " " + Добавка;
КонецЕсли;
Объект.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;
КонецПроцедуры
Запись документа в коде запускает его обработчики так же, как ручная запись. Прогоните обработку на копии базы, а в рабочей — в закрытом периоде только с разрешения главного бухгалтера.
Без кода ту же задачу решает групповое изменение: Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов. Выберите вид документов, отберите нужные, укажите новое значение поля «Комментарий». Учтите: обработка заменяет значение, а не дописывает его к старому.
Многострочный текст: ТекстовыйДокумент
Для сборки текста по строкам удобен объект ТекстовыйДокумент:
ТД = Новый ТекстовыйДокумент;
ТД.ДобавитьСтроку("Реестр счетов");
ТД.ДобавитьСтроку("Счёт № 1 — 15 000 руб.");
ТД.ДобавитьСтроку("Счёт № 2 — 7 500 руб.");
ТД.Записать("C:\Обмен\реестр.txt", КодировкаТекста.UTF8);
ТД.Показать("Реестр");
Метод Показать откроет результат в окне 1С, Записать сохранит файл на диск. Путь указывается относительно того компьютера, где выполняется код: на сервере 1С это диск сервера, а не ваш.
6. Импорт и экспорт текстовых данных
Текст попадает в 1С не только с клавиатуры. Варианты зависят от объёма.
Загрузка
- 📋 Из Excel в справочник. В списке номенклатуры, контрагентов и ряда других справочников БП 3.0 есть команда загрузки из табличного документа. Скопируйте столбцы из Excel, вставьте в открывшуюся таблицу, сопоставьте колонки с полями 1С.
- 📄 Из файла txt.
ЧтениеТекстаилиТекстовыйДокумент.Прочитать(ИмяФайла)в обработке. Подходит для реестров и выгрузок из других программ. - 🔁 Через обмен. Если текст приходит из другой базы, его поле должно быть в правилах обмена. Доп. реквизиты переносятся не всеми типовыми обменами — проверяйте на тестовой паре баз.
Выгрузка
- Любой список:
Ещё → Вывести список, затем сохранить результат в.xlsxчерез меню сохранения. - Отчёт: кнопка сохранения на панели отчёта, форматы
.xlsx,.pdf,.docx,.txt. - Текстовый документ: меню
Файл → Сохранить какв окне документа.
Кодировка и «кракозябры»
Если после загрузки вместо букв видны непонятные символы, файл и программа читают кодировку по-разному. Старые выгрузки из Windows-программ часто в Windows-1251, современные — в UTF-8. Решение — указать кодировку явно:
ТД = Новый ТекстовыйДокумент;
ТД.Прочитать("C:\Обмен\клиенты.txt", КодировкаТекста.ANSI);
Если файл открывается правильно в Блокноте, пересохраните его там с кодировкой UTF-8 и читайте с КодировкаТекста.UTF8.
Частые вопросы о тексте в 1С
Почему введённый текст обрезается?
Можно ли сделать перенос строки в поле?
МногострочныйРежим у элемента формы.