Меню сайта
Категории раздела
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » 1C 7.7 » Программирование

Как использовать в таблицах свои собственные пиктограммы?

асмотревшись на табличные формы типовых конфигураций, практически каждый 1С-программист загорается желанием сделатьнечто похожее в своих таблицах. И, не без помощи на редкость косноязычной документации от 1С, у многихтак ничего не получается.

Каким же волшебным образом 1С работает с пиктограммами в таблицах? А вот как: к таблице прикрепляется картинка-исходник(закладка "Картинка” в палитре свойств), которая представляет собой последовательный ряд пиктограмм размером 15х15 пикселов. Далее, у нужной колонки таблицы выставляется опция "Показывать пиктограммы”. Система ведет себя следующим образом: значение колонки преобразуется в число, из картинки вырезается соответствующий кусочек (1 - первый квадрат, 2 - второй и т.д.) и показывается в колонке как пиктограмма. Хм.. похоже, что внятно рассказать про это невозможно в принципе. Просто следуйте нижеследующему алгоритму, и все заработает 

Возьмем конкретную задачу: имеется некий журнал документов, в одной из колонок которого нужно выводить пиктограммы. Какую именно иконку показывать — зависит от реквизита текущего документа журнала (для простоты, это будет перечисление). Всего есть четыре разных иконки. Что нужно делать?

  • Подготовим исходник для пиктограмм. В качестве примера можно полюбоваться на 1Cv7\bin\imagecol.bmp. Именно оттуда я и вырезал картинку, поскольку artwork —не моя стихия. Если вы умеете рисовать пиктограммы — тем лучше для вас  Итак, мы имеем картинку (zoom ну очень сильный, на самом деле она 15х60 пикселов):

  • Занесем картинку в Библиотеку Картинок, это выглядит так:


  • Откроем палитру свойств табличной части формы списка нашего журнала, перейдем в закладку "Картинка”и назначим нашу картинку:


  • Добавим в табличную часть текстовую колонку (F10-Вставить-Текст), откроем ее палитру свойств, перейдем в закладку "Дополнительно”, выставим там режим "Показывать пиктограммы” и впишем название функции, которая будет задавать номер пиктограммы для показа:


  • Перейдем в модуль формы и напишем эту функцию. В нашем простом примере будем считать, что номером показываемой пиктограммы будет считаться порядковый номер некоего перечисления — реквизита документа по имени НомерПиктограммы. Естественно, что на реальных задачах будут другие, более сложные алгоритмы, но принцип тот же — сопоставить некий параметр документа номеру пиктограммы. Функция будет выглядеть так:

    Функция НомПикт () Если ТекущийДокумент.Выбран()=0 Тогда // проверим наличие документа в строке Возврат 0; Иначе // возвращаем номер элемента перечисления Возврат ТекущийДокумент.НомП.ПорядковыйНомер(); КонецЕсли;КонецФункции
  • Готово дело. Работающая форма будет выглядеть так:


  • Само собой, в качестве таблицы может выступать любой табличный реквизит любой формы: документа, журнала, справочника. Таблица значений также может содержать пиктограммы, единственное отличиеот "прошитых” заключается в том, что режим показа пиктограмм для колонки включается программно, методомТЗ.ВыводитьПиктограммы(...).

Категория: Программирование | Добавил: Mrg2007 (07.07.2013)
Просмотров: 2441 | Теги: , пиктограммы, собственные, использовать, 1C, Как, свои, в таблицах | Рейтинг: 0.0/0