1с привыводестроки не выводить строку
Оптимизация отображения ссылочных значений
Событие ПриВыводеСтроки() используется табличным полем для оформления ячеек каждой строки данных. При обработке данного события можно изменить цвет фона или текста ячейки, шрифт, которым отображается текст в ячейке, а также установить картинку или флажок в ячейке. Также существует возможность замены текста, отображаемого в ячейке, на какой-либо другой.
Обработчик события ПриВыводеСтроки() вызывается табличным полем в следующих случаях:
- Обновление данных, отображаемых табличным полем. Например, при обработке команды "Обновить" контекстного меню табличного поля или после окончания редактирования строки.
- Поиск по подстроке. В некоторых случаях (например, при поиске по колонке, не связанной с данными) поиск осуществляется табличным полем. В этом случае обработчик события ПриВыводеСтроки() вызывается для каждой строки между текущей и искомой.
Процесс вызова обработчика события ПриВыводеСтроки() имеет ряд особенностей. Так, представления ссылочных значений получаются при первом обращении к свойствам объекта ОформлениеЯчейки из встроенного языка. При этом, если текст ячейки, содержащей ссылочное значение, будет устанавливаться (например, через метод УстановитьТекст() или через свойство Текст объекта ОформлениеЯчейки ), то представление ссылочного значения получаться не будет, а будет сразу заменено на новый текст. После окончания обработки события ПриВыводеСтроки() представления остальных ссылочных значений (к которым не было обращения из встроенного языка) будут также получены.
В случае поиска по подстроке по определенной колонке есть еще одно отличие - получаются представления колонки поиска и всех колонок, к которым было обращение в событии ПриВыводеСтроки() . Представления остальных ссылочных значений не получаются. Тем самым, обработка события ПриВыводеСтроки() при поиске происходит быстрее.
При получении представлений ссылочных значений для табличного поля, если не используется динамический список, выполняется обращение к базе данных. Для оптимизации отображения табличного поля отображающего считанные данные (непример, таблицы значений) можно использовать следующий метод :
- При заполнении источника данных табличного поля получать отдельно и ссылочные значения и их строковые представления.
- При обработке события ПриВыводеСтроки для ячеек колонки, отображающей ссылочные значения, устанавливать в качестве текста полученное строковое представление.
Поясним использование данного метода на следующем примере. Пусть существует форма подбора номенклатуры, на которой расположено табличное поле, отображающее таблицу значений. Строками таблицы значений являются ссылки на элементы списка справочника Номенклатура. Единственная колонка " Наименование " табличного поля связана с колонкой " Ссылка " таблицы значений. Заполнение таблицы значений происходит в результате выполнения запроса, причем группы списка справочника не получаются. Требуется осуществлять подбор номенклатуры из данного табличного поля.
В начале необходимо заполнить таблицу значений. Для этого в обработчике события ПередОткрытием() формы выполняется запрос, результатом которого является таблица значений, содержащая ссылки и строковые представления элементов справочника Номенклатура :
Для того чтобы при обновлении табличного поля не получались строковые представления ссылочных значений, необходимо при обработке события ПриВыводеСтроки() устанавливать ячейке, отображающей ссылочное значение, полученное строковое представление :
Подбор элементов справочника Номенклатура осуществляется при обработке события Выбор() табличного поля :
Необходимо заметить, что использование данного метода также положительно скажется на работе быстрого поиска в табличном поле, т.к. при поиске не будут получаться представления ссылочных значений.
Событие ПриПолученииДанных использется для оформления ячеек строк данных, отображаемых табличным полем. Обработчик данного события вызывается табличным полем в тех же случаях, что и обработчик ПриВыводеСтроки, т.е. при обновлении данных, отображаемых табличным полем или при поиске по подстроке. Важно отметить, что обработчик данного события вызывается табличным полем перед вызовом обработчиков события ПриВыводеСтроки для всех видимых строк табличного поля. Основным отличием данного события от события ПриВыводеСтроки является то, что в обработчике события ПриПолученииДанных можно изменять настройки ячеек группы строк, а не одной строки как в обработчике события ПриВыводеСтроки.
Обрабатывая данное событие можно изменять шрифт, цвет фона или текста, как определенной ячейки, так и всей строки табличного поля, устанавливать высоту или видимость ячеек строки табличного поля, а также устанавливать картинку, флажок или новый текст в ячейке. Параметром данного события является объект типа ОформлениеСтрок - коллекция объектов типа ОформлениеСтроки, являющихся оформлениями строк табличного поля.
А вот так это выглядит в реальности:
Похожие FAQ
Google maps : вывод точек на карту и режим панорамы 7В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Ввод дополнительного ежегодного отпуска 2
Вид расчета, используемый для начисления оплаты дополнительного ежегодного отпуска , описывается в плане видов расчета Основные начисления организаций . Новый вид расчета удобнее создать копированием предопределенного вида расчета Оплата отпуска п Документ "Корректировка записей регистров" - Как программно создать и заполнить? 8
Документ «Корректировка записей регистров» в типовых конфигурациях 1С предназначен для ручной корректировки записей регистров накопления, зависимых регистров сведений и регистров бухгалтерии. Типичные ситуации, в которых может понадобиться документ « Журнал регистрации 0
Журнал регистрации относится к информационной базе и служит для сохранения информации о событиях, возникающих в процессе работы пользователей с данной информационной базой . Эта информация может быть важной с организационной точки зрения , но не Загрузить данные в 1с из текстового файла с разделителями 6
В этой статье я расскажу, как загружать данные в 1с 8 из простейших текстовых файлов с разделителями. Обычно они имеют расширение csv (Comma-Separated Values). Т. е. название подразумевает, что в каждой строке такого текстового файла значения разделе Посмотреть все результаты поиска похожих
Еще в этой же категории
Как в форме списка реализовать сортировку по своему реквизиту? 10Если реквизит примитивного типа, то достаточно установить для свойства реквизита «Индексировать» значение «Индексировать» или «Индексировать с доп. упорядочиванием» (не доступно для реквизитов типа ХранилищеЗначения). Если же реквизит ссылочного типа Сортировка списка по произвольной колонке? 7
В процедуру ПриОткрытии или в конец модуля добавить: ЭлементыФормы.РегистрСведенийСписок.НастройкаПорядка.НомерСоглашения.Доступность=Истина; Где НомерСоглашения - Колонка в списке регистра сведений по которой нужно сортировать! Далее щелкнув Табличное поле
Как получить строки табличного поля, отобранные отбором? 4
ОтборСтрок = ТабличнаяЧастьИсточник.ОтборСтрок ; ПостроительЗапроса = Новый ПостроительЗапроса; ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличнаяЧастьИсточник); // Добавляются необходимые отборы, такие же как в отбор Отбор по списку значений 3
СозданныйСписок = Новый СписокЗначений; СозданныйСписок.Добавить(Перечисления.СтатусЗаявки.Выполнено); СозданныйСписок.Добавить(Перечисления.СтатусЗаявки.ЗакрытиеЗаявки); СозданныйСписок.Добавить(Перечисления.СтатусЗаявки.ОтклоненаРукОтдЗакупок); Как пользователям запретить удаление условия отбора в форме списка? 3
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; Полный код: ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(" ЭлементОтбораКомпоновкиДанных" )); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпонов Посмотреть все в категории Список Справочника, Документов, Регистров
Оптимизация отображения ссылочных значений
Событие ПриВыводеСтроки() используется табличным полем для оформления ячеек каждой строки данных. При обработке данного события можно изменить цвет фона или текста ячейки, шрифт, которым отображается текст в ячейке, а также установить картинку или флажок в ячейке. Также существует возможность замены текста, отображаемого в ячейке, на какой-либо другой.
Обработчик события ПриВыводеСтроки() вызывается табличным полем в следующих случаях:
- Обновление данных, отображаемых табличным полем. Например, при обработке команды "Обновить" контекстного меню табличного поля или после окончания редактирования строки.
- Поиск по подстроке. В некоторых случаях (например, при поиске по колонке, не связанной с данными) поиск осуществляется табличным полем. В этом случае обработчик события ПриВыводеСтроки() вызывается для каждой строки между текущей и искомой.
Процесс вызова обработчика события ПриВыводеСтроки() имеет ряд особенностей. Так, представления ссылочных значений получаются при первом обращении к свойствам объекта ОформлениеЯчейки из встроенного языка. При этом, если текст ячейки, содержащей ссылочное значение, будет устанавливаться (например, через метод УстановитьТекст() или через свойство Текст объекта ОформлениеЯчейки ), то представление ссылочного значения получаться не будет, а будет сразу заменено на новый текст. После окончания обработки события ПриВыводеСтроки() представления остальных ссылочных значений (к которым не было обращения из встроенного языка) будут также получены.
В случае поиска по подстроке по определенной колонке есть еще одно отличие - получаются представления колонки поиска и всех колонок, к которым было обращение в событии ПриВыводеСтроки() . Представления остальных ссылочных значений не получаются. Тем самым, обработка события ПриВыводеСтроки() при поиске происходит быстрее.
При получении представлений ссылочных значений для табличного поля, если не используется динамический список, выполняется обращение к базе данных. Для оптимизации отображения табличного поля отображающего считанные данные (непример, таблицы значений) можно использовать следующий метод :
- При заполнении источника данных табличного поля получать отдельно и ссылочные значения и их строковые представления.
- При обработке события ПриВыводеСтроки для ячеек колонки, отображающей ссылочные значения, устанавливать в качестве текста полученное строковое представление.
Поясним использование данного метода на следующем примере. Пусть существует форма подбора номенклатуры, на которой расположено табличное поле, отображающее таблицу значений. Строками таблицы значений являются ссылки на элементы списка справочника Номенклатура. Единственная колонка " Наименование " табличного поля связана с колонкой " Ссылка " таблицы значений. Заполнение таблицы значений происходит в результате выполнения запроса, причем группы списка справочника не получаются. Требуется осуществлять подбор номенклатуры из данного табличного поля.
В начале необходимо заполнить таблицу значений. Для этого в обработчике события ПередОткрытием() формы выполняется запрос, результатом которого является таблица значений, содержащая ссылки и строковые представления элементов справочника Номенклатура :
Для того чтобы при обновлении табличного поля не получались строковые представления ссылочных значений, необходимо при обработке события ПриВыводеСтроки() устанавливать ячейке, отображающей ссылочное значение, полученное строковое представление :
Подбор элементов справочника Номенклатура осуществляется при обработке события Выбор() табличного поля :
Необходимо заметить, что использование данного метода также положительно скажется на работе быстрого поиска в табличном поле, т.к. при поиске не будут получаться представления ссылочных значений.
Управление видимостью ячеек табличного поля
В табличном поле существует возможность изменять видимость отдельных ячеек при отображении данных . Для этого необходимо использовать обработчик события ПриВыводеСтроки() табличного поля . Параметрами данного события являются объекты типа ОформлениеСтроки и ДанныеСтроки . Объект ОформлениеСтроки имеет свойство Ячейки - коллекцию ячеек отображаемой строки . Каждая ячейка в этой коллекции является объектом типа ОформлениеЯчейки , который содержит свойства , влияющие на отображение ячеек . Для установки видимости отдельных ячеек отображаемой строки необходимо использовать свойство Видимость ячейки отображаемой строки . При установке данного свойства в Ложь табличное поле не будет отображать содержимое соответствующей ячейки табличного поля . Также стоит отметить , что если все ячейки , находящиеся в одной строке составной колонки , имеют выключенное свойство Видимость , то такая строка не будет отображена табличным полем . Объект ДанныеСтроки содержит коллекцию значений текущей строки , соответствующую коллекции колонок отображаемого динамического списка .
Поясним использование данного свойства на следующем примере . Пусть существует журнал документов ДокументыПокупателей (реквизит формы ЖурналДокументовСписок ) , у которого имеются графы Контрагент ( тип СправочникСсылка.Контрагенты ) и Информация (тип СправочникСсылка.ДоговорыВзаиморасчетов) . Колонки , отображающие значения данных граф, объединены в одну составную колонку , причем колонка Информация находится под колонкой Контрагент . Необходимо отображать значения указанных граф только если они не являются пустыми . Тем самым , строки табличного поля , у которых заполнены значения обоих граф , будут отображаться в две строки и в одну строку в противном случае .
Для этого необходимо при обработке события ПриВыводеСтроки() устанавливать видимость ячейкам , отображающим значения соответствующих граф :
Для того чтобы в шапке табличного поля составная колонка отображалась как единственная колонка, необходимо для колонки Информация сбросить свойство " Отображать в шапке " в палитре свойств . Также в нашем примере для колонки Контрагент устанавливается текст шапки " Контрагент / Информация ", указывающий , что в данной колонке отображаются значения граф Контрагент и Информация .
Необходимо помнить , что так как журнал документов является динамическим списком , то возможно удаление табличным полем колонок , у которых которых сброшено свойство Видимость . Если при обработке события ПриВыводеСтроки() произойдет обращение к таким колонкам , то возникнет ошибка времени выполнения . Для того чтобы определенные колонки не удалялись табличным полем, необходимо запретить данным колонкам удаление из динамического списка при изменении их видимости в табличном поле . Для этого необходимо при обработке события формы ПриОткрытии() добавить их в динамический список и запретить им удаление :
Более подробно ознакомиться с отличиями работы табличного поля при отображении динамических списков можно в разделе Особенности работы табличного поля с динамическими списками.
Читайте также: