Как программно изменить текст, цвет, фон ячейки или области табличного документа?
Ниже приведено несколько полезных шаблонов кода по работе с табличным документом:
Код 1C v 8.х Код 1C v 8.х Код 1C v 8.х Код 1C v 8.х
Для того, чтобы появилась возможность использовать свойство «Значение», необходимо явно присвоить свойству ячейки «СодержитЗначение» значение Истина или установить флажок «Содержит значение» в палитре свойств.
Для ячейки, у которой установлен признак «СодержитЗначение», можно задать тип значения, размещаемого в ячейке.
Следующий фрагмент демонстрирует, как можно управлять этими свойствами из встроенного языка://задаем нужный тип с помощью объекта «ОписаниеТипов»
Для ячейки табличного документа можно задавать формат вывода данных. Для этого используется свойство «Формат», которое содержит форматную строку. Приемы работы с форматной строкой полностью совпадают с функцией Формат()
Элемент управления в табличном документе
Для ячейки, у которой установлен признак «СодержитЗначение», можно также задать элемент управления, который будет использоваться для редактирования этого значения.
Элемент управления можно назначить через палитру свойств или из встроенного языка с помощью метода «УстановитьЭлементУправления()». Чтобы проверить в программе, установлен ли элемент управления для конкретной ячейки, можно использовать свойство «ЭлементУправления», которое возвращает элемент управления, назначенный для ячейки.
Элементы управления, встроенные в ячейку, отображаются только при входе в режим редактирования значения. На приведенном ниже рисунке редактируемая ячейка обведена овалом и в ней отображается флажок:
Ниже показан пример установки элемента управления типа «Флажок» из встроенного языка://задаем нужный тип с помощью объекта «ОписаниеТипов»
Для элементов управления, расположенных в табличном документе, расширяется набор свойств, методов и событий:
Разберем самые важные свойства и методы:
Свойство «ВстроенВЯчейку» имеет тип «булево» и говорит о том, что элемент управления встраивается в ячейку или просто привязывается к ней, о чем было рассказано выше.
Свойство «Видимость» позволяет показать или скрыть элемент управления.
Свойство «Значение» предоставляет доступ к значению, которое редактируется в элементе управления. Оно используется только для элементов управления, поддерживающих связь с данными.
Метод «Расположить» позволяет разместить элемент управления в конкретной области ячеек табличного документа. Именно этот метод был использован в вышеприведенном примере.
Раскрасить строки табличной части обычное приложение
а дальше не понятно как установить именно для этой строки какие-то настройки оформления.
Добавлено через 6 минут
натолкнулся на Оформлениестроки, но в описании написано что оно вступает в силу только после выполнения обработчиков присоздании и при заполнении.
а мне нужно в НекоейПроцедуре связать записи из некоторых уже отображенных списков, отображенные в таблиичных полях и связанные записи отметить допустим цветом.
т.е. перезаписывать или пересоздавать ранее отображенные списки не планируется.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Запрос. Условие: строка из первой табличной части равна любой строке из другой табличной части
Есть документ «РаспределениеМатериаловНаВыпуск». У этого документа имеется «Форма документа». На.
Выделение строки табличной части
Что нужно сделать, что бы при клике мышкой по строке табличной части документа вся строка.
Скрыть некоторые строки табличной части
Возможно ли каким нибудь образом отображать только некоторые строки ТабЧасти, а не все? Или это.
Цвет строки табличной части документа
Такая ситуация, я пока что новичек в этом деле вот и обращаюсь к спецам. Прошу помощи, мне нужно.
как то так: событие «приВыводеСтроки».
Добавлено через 7 минут
угу, тчн
не работает.
работает как условное заполнение и при первоначальном и при непервоначальном заполнениях.
мне нужно чтобы при первоначальной записи строки были чистые одинаковые.
а после выполнения некоторого действия по кнопке например, часть из них раскрасилась или изменилась как-то иначе.
т.е. первая загрузка данных не должна никак обрабатываться.
а вот их обработка должна.
////////////
или я опять туплю?
Добавлено через 2 минуты
Дюк, вы предложили мне условное оформление,типа если поле из таблицы заполнено то меняет или не меняем.
а я хочу так:
выделяю пять строк из ТЧ, выделяю 3 строки из другой ТЗ.
нажимаю кнопку на форме и
5 строк из первой ТЧ и 3 строки из втрой поменяли цвет,
причем их данные не изменились.
Как раскрасить строки табличной части по некоторому условию?
В 1С Предприятии 8.2 к табличной части можно применить такое же условное оформление, как и к динамическому списку. Но в отличие от динамического списка, где настройка списка доступна и в пользовательском режиме, сделать это можно только в режиме конфигуратора или из встроенного языка. Для этого нужно использовать свойство УсловноеОформление формы.
Например, нам требуется оформить строки табличной части приходной накладной так, чтобы строки с суммой больше 30000 были выделены желтым фоном, а ячейки Товар и Количество строк табличной части с количеством больше единицы были выделены красным текстом.
В появившемся окне Настройка условного оформления нажмем кнопку Добавить.
Сначала укажем Оформление для выделения полей. Нажмем кнопку выбора в поле Оформление и установим желтый цвет фона.
Затем укажем список оформляемых полей. В отличии от оформления динамического списка, построенного на системе компоновки данных, если мы хотим выделить полностью строку, здесь нужно перечислить все поля строки табличной части.
Заметим, что подобным образом можно оформить не только строки табличной части, но и все поля документа.
Демонстрационный пример находится в каталоге 1CITS/EXE/FAQ/КакРаскраситьСтрокиТабличнойЧасти.dt. Пример выполнен на версии платформы 8.2.9.356.
По условию можно оформить также и строки списка документов или других объектов конфигурации. Это делается через УсловноеОформление списка. Подробнее смотрите в вопросе Как раскрасить строки списка по некоторому условию?
1С 8.x : Как программно изменить текст, цвет, фон ячейки или области табличного документа?
Ниже приведено несколько полезных шаблонов кода по работе с табличным документом:
Код 1C v 8.х Код 1C v 8.х Код 1C v 8.х Код 1C v 8.х
Для того, чтобы появилась возможность использовать свойство «Значение», необходимо явно присвоить свойству ячейки «СодержитЗначение» значение Истина или установить флажок «Содержит значение» в палитре свойств.
Для ячейки, у которой установлен признак «СодержитЗначение», можно задать тип значения, размещаемого в ячейке.
Следующий фрагмент демонстрирует, как можно управлять этими свойствами из встроенного языка://задаем нужный тип с помощью объекта «ОписаниеТипов»
Для ячейки табличного документа можно задавать формат вывода данных. Для этого используется свойство «Формат», которое содержит форматную строку. Приемы работы с форматной строкой полностью совпадают с функцией Формат()
Элемент управления в табличном документе
Для ячейки, у которой установлен признак «СодержитЗначение», можно также задать элемент управления, который будет использоваться для редактирования этого значения.
Элемент управления можно назначить через палитру свойств или из встроенного языка с помощью метода «УстановитьЭлементУправления()». Чтобы проверить в программе, установлен ли элемент управления для конкретной ячейки, можно использовать свойство «ЭлементУправления», которое возвращает элемент управления, назначенный для ячейки.
Элементы управления, встроенные в ячейку, отображаются только при входе в режим редактирования значения. На приведенном ниже рисунке редактируемая ячейка обведена овалом и в ней отображается флажок:
Ниже показан пример установки элемента управления типа «Флажок» из встроенного языка://задаем нужный тип с помощью объекта «ОписаниеТипов»
Для элементов управления, расположенных в табличном документе, расширяется набор свойств, методов и событий:
Разберем самые важные свойства и методы:
Свойство «ВстроенВЯчейку» имеет тип «булево» и говорит о том, что элемент управления встраивается в ячейку или просто привязывается к ней, о чем было рассказано выше.
Свойство «Видимость» позволяет показать или скрыть элемент управления.
Свойство «Значение» предоставляет доступ к значению, которое редактируется в элементе управления. Оно используется только для элементов управления, поддерживающих связь с данными.
Метод «Расположить» позволяет разместить элемент управления в конкретной области ячеек табличного документа. Именно этот метод был использован в вышеприведенном примере.
Условное оформление управляемой формы в 1С
Условное оформление формы в 1с 8 служит для управления видимостью, доступностью, цветом элементов таблиц управляемой формы (а также оно используется в СКД и динамических списках). Удобство его использования заключается в том, что вы один раз задаете условие по которому должно меняться оформление вашей формы. После этого при работе пользователя с формой, при срабатывании условия оформление будет меняться автоматически. Не нужно использовать события формы и писать лишний код.
Следует заменить, что условное оформление форм работает только в конфигурациях использующих управляемое приложение (Бухгалтерия 3.0, ЗУП 3.0/3.1, Управление торговлей 11 и т.п.)
Условное оформление 1с. Интерактивная настройка
Еще один плюс условного оформления — его можно настроить не написав ни строчки кода. Для этого в форме необходимо:
Обратите внимание, что условное оформление действует только на колонки таблиц формы. Другие элементы формы вы тоже можете выбрать в колонке Оформляемые поля, но это не даст никакого результата.
Условное оформление формы. Пример интерактивной настройки
Для примера мной была написана простейшая обработка, на формы которой добавлен реквизит с типом ТаблицаЗначений, с тремя колонками. А также три реквизита с типом булево. Скачать обработку можно Здесь.
Форма обработки выглядит так:
Настроим следующее условное оформление данной формы: при установке реквизита СкрытьКолонку1 в значение Истина, в таблице форме скрывать реквизит Колонка1.
Условное оформление 8.3. Пример программной настройки
Используя ту же внешнюю обработку, что и в предыдущем пункте, приведем пример программной настройки условного оформления. Необходимо сделать следующее: при установке реквизита ПоменятьЦветКолонки2 в значение Истина, в таблице формы раскрашивать фон Колонки 2, при установке реквизита СделатьНедоступнойКолонку3 в значение Истина, в таблице формы делать недоступным реквизит Колонка3.
В модуле формы создадим серверную процедуру, назовем ее УстановитьУсловноеОформление и сразу же допишем ее вызов в процедуре ПриСозданииНаСервере.
Весь следующий код будем писать в процедуре УстановитьУсловноеОформление. Нам необходимо добавить новый элемент условного оформления формы, для этого используем стандартную коллекцию формы УсловноеОформление.
Также как и в интерактивном варианте, нам необходимо в созданном элементе заполнить оформления, условия и поля. Для того чтобы указать поле мы должны создать поле компоновки данных с именем колонки на которую будет распространяться оформление. Если полей несколько, добавляем нужное количество полей компоновки данных. Для отборов создаем элементы отбора компоновки данных и заполняем для них левое значение, правое значение и вид сравнения. Для того, чтобы задать нужные оформления заполним значения параметров доступных оформлений. В нашем примере получается следующий код:
Таким образом мы создали оформление для второй колонки таблицы. Для третьей колонки оно делается аналогичным образом, поэтому не будем на нем подробно останавливаться. Итоговый код процедуры УстановитьУсловноеОформление будет выглядеть следующим образом:
Напомню, что скачать обработку написанную на основе разобранных примеров можно Здесь.