Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: БиблиотекаКартинок.СостоянияДокумента  (Прочитано 10182 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dest
Опытный

ru
Offline Offline

« : 14-04-2009 05:51 » 

Добрый день!
В журналах документов используются картинки БиблиотекаКартинок.СостоянияДокумента
Там показаны картинки когда документ проведен, помечн на удаление,....
Как они их используют если БиблиотекаКартинок.СостоянияДокумента - единое целое.
Я хочу создать что-то наподобие журнала, как "мне распилить" что ли БиблиотекаКартинок.СостоянияДокумента или как, мне получить доступ к картинке - документ не проведен, помечен на удаление .. .
Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 14-04-2009 10:18 » 

В "семерке" был определн стандартный размер картинки из библиотеки: то ли 16х15, то ли 17х16
Думаю в 8 то же самое - поищи в ИНете
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #2 : 14-04-2009 21:49 » 

Стандартный размер картинки 16х16, но размер этой картинки 96х16, и в этой картинке включено 6 рисунков, но  в стандартных журналах документов каким-то макаром они используются по отдельности
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 15-04-2009 03:54 » 

Dest, возможно, что это N видов одной и той же иконки.
Не знаю, как в 1С, но вообще приходилось сталкиваться, когда использовались подобные картинки: для отображения состояния кнопок на панелях инструментов (соотв, три картинки: активная, неактивная, заблокированная). Если тут 6 картинок, то возможно что там пары картинка+маска.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 15-04-2009 14:28 » 

Скорее всего где-то задается индекс картинки из этого массива
Я так думаю, что в объекте ОформлениеСтроки
(см. ПриПолученииДанных() или ПриОтображенииСтроки() )
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #5 : 16-04-2009 21:50 » 

Попробовал по индексу не пашет. Пишет - "получение элемента по индексу для данного значения не определено"
Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 16-04-2009 22:08 » 

Пришлось лезть смотреть...
Итак: в табличном поле тебе нужна колонка, у которой будет установлено свойство КартинкиСтрок (картинка из библиотеки или внешняя)
Читаем описание в Синтакс-помощнике:
Цитата
Тип: Картинка. Содержит картинку, которая может выводиться в поле данных колонки.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Рекомендуемый размер картинки 14х14 пикселей.
Читаем описание в Свойствах этого поля:
Цитата
Картинки строк. Картинка  - серия пиктограмм для данной колонки, отображаться будет по номеру, взятому как значение колонки.
КартинкиСтрок, RowsPictures
То же самое было в 7.7, но там для одной ТаблицыЗначений на форме можно было назначить только 1 картинку, в 8.Х - картинки назначаются для каждой колонки отдельно
Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 16-04-2009 22:12 » 

Пример кода из стандартной бухгалтерии для Украины
(Обработка.ВыплатаЗарплатыРасходнымиОрдерами, в Табличном поле ТабличноеПолеРКО для колонки Картинка установлено свойство КартинкиСтрок в БиблиотекаКартинок.СостоянияДокумента):
Код:
Процедура ТабличноеПолеРКОПриПолученииДанных(Элемент, ОформленияСтрок)

Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
| РасходныйКассовыйОрдер.Проведен,
| РасходныйКассовыйОрдер.ПометкаУдаления
|ИЗ
| Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
|ГДЕ
| РасходныйКассовыйОрдер.Ссылка = &Ссылка";

    // получим данные для отрисовки в ячейках
    Для Каждого Строка Из ОформленияСтрок Цикл
        ДанныеСтроки = Строка.ДанныеСтроки;
        Строка.Ячейки.Картинка.ОтображатьКартинку = Истина;
Если ДанныеСтроки.РКО.Пустая() Тогда
    Строка.Ячейки.Картинка.ИндексКартинки = 3;
Иначе
Запрос.УстановитьПараметр("Ссылка",ДанныеСтроки.РКО);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Если Выборка.Проведен Тогда
    Строка.Ячейки.Картинка.ИндексКартинки = 0;
ИначеЕсли Выборка.ПометкаУдаления Тогда
Строка.Ячейки.Картинка.ИндексКартинки = 1;
Иначе
Строка.Ячейки.Картинка.ИндексКартинки = 2;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;

КонецПроцедуры
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #8 : 16-04-2009 22:39 » 

ясно,спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines