Документы и Печать · 8 мин
Как сделать заливку в 1С: цвет ячеек в табличных документах и макетах
Как сделать заливку ячеек в 1С: изменение цвета фона в табличном документе, макете печатной формы и программно через встроенный язык. Пошаговые инструкции и типичные ошибки.
Под «заливкой» в 1С обычно понимают изменение цвета фона ячейки или области табличного документа — аналог заливки в Excel. Такая задача возникает при оформлении печатных форм, выделении итоговых строк в отчётах, цветовой маркировке данных в макетах и при программном формировании табличных документов.
Способ заливки зависит от того, где вы работаете: в готовом табличном документе в режиме «Предприятие», в макете печатной формы в конфигураторе или в программном коде. Во всех трёх случаях используется одно и то же свойство — цвет фона области, но порядок действий различается.
Важно понимать: интерактивная заливка в открытом табличном документе меняет только текущий экземпляр и не сохраняется в макете. Если нужно, чтобы цвет применялся при каждой печати, изменения вносятся в макет или в код формирования документа.
Заливка ячеек в открытом табличном документе
Самый простой случай — вы уже сформировали печатную форму или отчёт и хотите выделить часть ячеек цветом перед печатью или сохранением в файл. Откройте табличный документ, выделите нужную ячейку или диапазон (протяните мышью или используйте Shift со стрелками).
Затем используйте кнопку цвета фона на панели инструментов форматирования (значок в виде ведёрка с краской) либо меню «Таблица» — «Вид» — «Панель инструментов форматирования», если панель скрыта. Выберите нужный цвет из палитры — фон выделенных ячеек изменится сразу.
Учтите ограничение: такая заливка действует только в текущем окне. Если вы закроете документ и сформируете печатную форму заново, оформление пропадёт. Чтобы сохранить результат, выгрузите документ через «Файл» — «Сохранить» в формате MXL, Excel или PDF.
Заливка в макете печатной формы через конфигуратор
Если цвет должен применяться при каждой печати, изменения вносятся в макет. Откройте конфигуратор, найдите нужный объект (документ, справочник или отчёт), раскройте ветку «Макеты» и откройте макет типа «Табличный документ».
Выделите ячейку или область, которую нужно залить, и откройте палитру свойств (правый клик — «Свойства» или Alt+Enter). Найдите свойство «Цвет фона» и выберите цвет: из стандартной палитры, из веб-цветов или задайте абсолютный цвет через числовые компоненты RGB.
Для именованных областей (шапка, строка, подвал) заливка задаётся точно так же — свойство применяется ко всем ячейкам области. После сохранения конфигурации и обновления базы данных новая печатная форма будет выводиться с заданным фоном.
- 1Откройте конфигуратор и найдите макет печатной формы
- 2Выделите ячейку или область в табличном документе макета
- 3Откройте палитру свойств (Alt+Enter)
- 4Установите свойство «Цвет фона»
- 5Сохраните конфигурацию и обновите базу (F7)
- 6Сформируйте печатную форму и проверьте результат
Программная заливка через встроенный язык
При формировании табличного документа кодом цвет фона задаётся через свойство ЦветФона области. Это удобно, когда цвет зависит от данных: например, строки с отрицательным остатком нужно подсветить красным.
ТабДок = Новый ТабличныйДокумент;
Область = ТабДок.Область("R1C1");
Область.ЦветФона = Новый Цвет(255, 230, 230);
// или через стиль:
Область.ЦветФона = ЦветаСтиля.ЦветФонаПредупреждения;Область можно получить не только по адресу, но и через ТабДок.Область(НомерСтроки, НомерКолонки) или как прямоугольную область Область(НачСтрока, НачКолонка, КонСтрока, КонКолонка). После вывода области из макета через ТабДок.Вывести() обращайтесь к последней выведенной строке, чтобы изменить её оформление.
Для типовых конфигураций предпочтительнее использовать цвета стиля (ЦветаСтиля), а не абсолютные значения: тогда оформление останется согласованным с общей темой интерфейса и не поломается при смене стиля.
Заливка в отчётах на СКД и динамических списках
В отчётах на системе компоновки данных заливка настраивается через условное оформление. Откройте настройки отчёта, перейдите на вкладку «Условное оформление», добавьте элемент, задайте условие (например, «Остаток меньше 0»), укажите оформляемые поля и в параметрах оформления установите цвет фона.
Для динамических списков в управляемых формах условное оформление настраивается в конфигураторе: форма списка — «Условное оформление» в палитре свойств формы. Там же задаются условие, оформляемые поля и цвет фона строки.
Преимущество условного оформления в том, что оно работает динамически: при изменении данных подсветка обновляется автоматически, без перепрограммирования.
Способы заливки
Быстро, без прав доступа к конфигуратору, но не сохраняется при повторном формировании
Постоянное оформление печатной формы; требует прав на изменение конфигурации
Гибкая заливка по условиям при формировании; нужны навыки встроенного языка
Динамическая подсветка по условиям без изменения макета; работает только в отчётах и формах
Проверка результата и типичные ошибки
После настройки заливки сформируйте печатную форму или отчёт заново и проверьте: цвет применился к нужным ячейкам, текст остаётся читаемым (контраст цвета текста и фона), при выводе на принтер заливка видна. Учтите, что на чёрно-белой печати цветной фон превращается в оттенки серого — проверяйте предварительный просмотр.
Отдельная ошибка — правка типового макета напрямую. При очередном обновлении конфигурации поставщик может заменить макет, и ваша заливка исчезнет. Правильный путь — скопировать макет, переопределить его в расширении конфигурации или в общем макете и подключить через код формирования печатной формы.
Когда обращаться к специалисту
Интерактивную заливку и условное оформление отчёта пользователь может настроить самостоятельно — это безопасные операции, не затрагивающие конфигурацию. Изменение макетов и программного кода требует прав разработчика, тестовой базы и понимания структуры конфигурации.
Если конфигурация на поддержке у вендора или доработана сторонней командой, любые изменения печатных форм согласуйте с сопровождающим специалистом: самостоятельная правка может нарушить условия сопровождения и усложнить обновления.
Частые вопросы
Как убрать заливку с ячейки?
Выделите ячейку и в свойстве «Цвет фона» выберите «Авто» или белый цвет. В коде присвойте Область.ЦветФона = Новый Цвет() — пустой цвет означает фон по умолчанию.
Почему заливка не видна при печати?
Проверьте настройки принтера: некоторые драйверы в экономном режиме не печатают фон. Также убедитесь, что цвет задан именно для фона, а не для рамки или текста ячейки.
Можно ли залить строку целиком, а не отдельные ячейки?
Да. Выделите всю строку (клик по заголовку строки слева) или задайте прямоугольную область на всю ширину документа. В макете проще залить всю именованную область строки.
Как задать свой цвет, которого нет в палитре?
В палитре свойств откройте выбор цвета, перейдите на закладку «Абсолютный» и укажите компоненты красного, зелёного и синего (RGB) в диапазоне от 0 до 255. В коде используйте конструктор Новый Цвет(R, G, B).
Сохранится ли заливка при выгрузке в Excel?
Да, при сохранении табличного документа в формат Excel цвет фона ячеек переносится. Возможны небольшие расхождения оттенков, если использовались цвета стиля — они подставляются как ближайшие абсолютные.
Как подсветить ячейки по условию без программирования?
В отчётах на СКД используйте вкладку «Условное оформление» в настройках отчёта: задайте условие отбора, оформляемые поля и цвет фона. Это доступно пользователю без конфигуратора.
Что важно запомнить
Заливка в 1С — это свойство «Цвет фона» области табличного документа. Для разового выделения используйте панель форматирования, для постоянного оформления — макет или условное оформление, для логики по условиям — программное изменение свойства ЦветФона. Изменения конфигурации делайте на копии и через расширения.