Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=67486)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Встановлення картинки в ТЧ програмно

Автор: Inkognito 22.02.24, 14:58

Бухгалтерія 2.1 на "Керованих формах". Таблична частина, зовнішня обробка.
Необхідно проаналізувати статус документу по коду, і в табличній частині вивести картинку.
Додано реквізит "Картинка", числовий, 1.
На формі "Вид" = "Поле картинки". Пусте, з прив*язкою до реквізиту.
Код відпрацьовує, але картинки для різних статусів не відображуються.

Для Каждого Стр из Объект.ТЧДокументи Цикл
Код = Стр.КодСтатуса;
    Если Код = "1" Тогда
        Стр.Картинка = БиблиотекаКартинок.ОформлениеФлагКрасный;
    ИначеЕсли Код ="2" Тогда
        Стр.Картинка = БиблиотекаКартинок.ОформлениеФлагЗеленый;
    Иначе
        Стр.Картинка = БиблиотекаКартинок.ОформлениеФлагЖелтый;
    КонецЕсли;
КонецЦикла;

Автор: AnryMc 22.02.24, 15:08

Цитата(Inkognito @ 22.02.24, 15:58) *
Додано реквізит "Картинка", числовий, 1.


Стр.Картинка Колонка (реквизит) табличной части "Картинка" должен быть с Тип'ом "Картинка"

Автор: Inkognito 22.02.24, 15:24

Так і є. Вид "Поле картинки". Картинка значений - пусто.
Реквізит табличної частини - число, 1. Типу "Картинка" немає в переліку типів.

Автор: mvo2008 22.02.24, 15:35

Я робив так
https://ibb.co/CPMjv6h

Автор: Inkognito 22.02.24, 15:40

Так, якщо колекція картинок, працює. А якщо це різні картинки?

Автор: AnryMc 22.02.24, 17:20

Мой рабочий код (внешняя обработка)
ТипыМетаданных - реквизит формы - таблица значений
Картинка - Реквизит ТЗ ТипыМетаданных - тип картинка
На форма для реквизита Картинка (колонка) -Вид: Поле картинки

&НаСервере
Процедура ЗаполнитьТипыМетаданных()

       //****

    ДобавитьТипМД(НСтр("ru = 'Метаданные'; uk = 'Метадані'"), "Метаданные", "Метаданные", БиблиотекаКартинок.ВнешнийИсточникДанных);
    ДобавитьТипМД(НСтр("ru = 'Константы'; uk = 'Константи'"), "Константы", "Константа", БиблиотекаКартинок.Константа);
    ДобавитьТипМД(НСтр("ru = 'Справочники'; uk = 'Довідники'"), "Справочники", "Справочник", БиблиотекаКартинок.Справочник);
    ДобавитьТипМД(НСтр("ru = 'Документы'; uk = 'Документи'"), "Документы", "Документ", БиблиотекаКартинок.Документ);    
    ДобавитьТипМД(НСтр("ru = 'Журналы документов'; uk = 'Журнали документів'"), "ЖурналыДокументов", "ЖурналДокументов", БиблиотекаКартинок.ЖурналДокументов);    
    ДобавитьТипМД(НСтр("ru = 'Отчеты'; uk = 'Звіти'"), "Отчеты", "Отчет", БиблиотекаКартинок.Отчет);
    ДобавитьТипМД(НСтр("ru = 'Обработки'; uk = 'Обробки'"), "Обработки", "Обработка", БиблиотекаКартинок.Обработка);
    ДобавитьТипМД(НСтр("ru = 'Планы видов характеристик'; uk = 'Плани видів характеристик'"), "ПланыВидовХарактеристик", "ПланВидовХарактеристик", БиблиотекаКартинок.ПланВидовХарактеристик);
    ДобавитьТипМД(НСтр("ru = 'Планы счетов'; uk = 'Плани рахунків'"), "ПланыСчетов", "ПланСчетов", БиблиотекаКартинок.ПланСчетов);
    ДобавитьТипМД(НСтр("ru = 'Планы видов расчета'; uk = 'Плани видів розрахунку'"), "ПланыВидовРасчета", "ПланВидовРасчета", БиблиотекаКартинок.ПланВидовРасчета);    
    ДобавитьТипМД(НСтр("ru = 'Регистры сведений'; uk = 'Регістри відомостей'"), "РегистрыСведений", "РегистрСведений", БиблиотекаКартинок.РегистрСведений);
    ДобавитьТипМД(НСтр("ru = 'Регистры накопления'; uk = 'Регістри накопичення'"), "РегистрыНакопления", "РегистрНакопления", БиблиотекаКартинок.РегистрНакопления);
    ДобавитьТипМД(НСтр("ru = 'Регистры бухгалтерии'; uk = 'Регістри бухгалтерії'"), "РегистрыБухгалтерии", "РегистрБухгалтерии", БиблиотекаКартинок.РегистрБухгалтерии);
    ДобавитьТипМД(НСтр("ru = 'Регистры расчета'; uk = 'Регістри розрахунку'"), "РегистрыРасчета", "РегистрРасчета", БиблиотекаКартинок.РегистрРасчета);
    ДобавитьТипМД(НСтр("ru = 'Бизнес процессы'; uk = 'Бізнес процеси'"), "БизнесПроцессы", "БизнесПроцесс", БиблиотекаКартинок.БизнесПроцесс);    
    ДобавитьТипМД(НСтр("ru = 'Задачи'; uk = 'Завдання'"), "Задачи", "Задача", БиблиотекаКартинок.Задача);
    ДобавитьТипМД(НСтр("ru = 'Планы обмена'; uk = 'Плани обміну'"), "ПланыОбмена", "ПланОбмена", БиблиотекаКартинок.ПланОбмена);

       //*****

&НаСервере
Процедура ДобавитьТипМД(текИмя, СистИмя, Имя1, текКартинка)
    
    //***
    
    нс = ТипыМетаданных.Добавить();
    
    нс.Картинка = текКартинка;
    нс.ИмяТипа = СистИмя;
    нс.ИмяТипа1 = Имя1;
    нс.ОтображаемоеИмя = текИмя;
    
        //*******
    
КонецПроцедуры

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua