Как вывести картинку на форме списка ???(обычные формы)

1. Airat116 31.08.20 15:29 Сейчас в теме
Здравствуйте. Как можно сделать место "Да или нет" поставить картинку (галку например)

https://prnt.sc/u8xzzh

ЭлементСписок = ЭлементыФормы.ДокументСписок;

    ТекПозиция = 0;
    НовКолонка = ЭлементСписок.Колонки.Вставить(ТекПозиция + 1);
    НовКолонка.Имя = "Проверен";
    НовКолонка.Данные = "ФЛ_Проверен";
    НовКолонка.ТекстШапки = "Проверен";
    НовКолонка.КартинкаШапки = БиблиотекаКартинок.ЗеленаяГалка;
    НовКолонка.Ширина = 26;
Показать


Вот так сделал, но там галка сверху только криво вышла
Может кто делал?
Найденные решения
2. BackinSoda 31.08.20 15:42 Сейчас в теме
(1) в событии приВыводеСтроки:

// можно добавить проверку на наличие колонки
ОформлениеСтроки.Ячейки.Отметка.ОтображатьТекст  = Ложь; 
	ОформлениеСтроки.Ячейки.Отметка.ОтображатьФлажок = Истина; 
	ОформлениеСтроки.Ячейки.Отметка.Флажок           = ПолучитьЗначениеОтметки(ДанныеСтроки.Ссылка);
7. BackinSoda 31.08.20 16:00 Сейчас в теме
(6) на закладке "Диалог", там где сама форма списка, Кликните по списку правой - "свойства" и там уже смотрите в самом низу события
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. BackinSoda 31.08.20 15:42 Сейчас в теме
(1) в событии приВыводеСтроки:

// можно добавить проверку на наличие колонки
ОформлениеСтроки.Ячейки.Отметка.ОтображатьТекст  = Ложь; 
	ОформлениеСтроки.Ячейки.Отметка.ОтображатьФлажок = Истина; 
	ОформлениеСтроки.Ячейки.Отметка.Флажок           = ПолучитьЗначениеОтметки(ДанныеСтроки.Ссылка);
3. Airat116 31.08.20 15:47 Сейчас в теме
(2) Не нашел такого события в БП 2.0
4. BackinSoda 31.08.20 15:52 Сейчас в теме
(3) ДокументаСписка событие "ПриВыводеСтроки".. а в коде "отметка" надо заменить на данные вашей колонки.. ну и способ получения флажка в зависимости от нужного условия..
Может быть даже так:
ОформлениеСтроки.Ячейки.Значение.Флажок           = ДанныеСтроки.Настройка.ТипЗначения.ПривестиЗначение(ДанныеСтроки.Значение);
6. Airat116 31.08.20 15:58 Сейчас в теме
(4) Я открыл форму списка документа и https://prnt.sc/u8yqv2
ПриВыводеСтроки не вижу или я не туда куда то смотрю
7. BackinSoda 31.08.20 16:00 Сейчас в теме
(6) на закладке "Диалог", там где сама форма списка, Кликните по списку правой - "свойства" и там уже смотрите в самом низу события
8. Airat116 31.08.20 16:04 Сейчас в теме
(7) Увидел пример, спасибо, сейчас буду смотреть как сделать

Процедура ДокументСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
	ОформлениеСтроки.Ячейки.Скан.ОтображатьФлажок = Истина;
	Если Элемент.Колонки.Скан.Видимость Тогда

		Если Справочники.ХранилищеДополнительнойИнформации.НайтиПоРеквизиту("объект",ДанныеСтроки.Ссылка)<>Справочники.ХранилищеДополнительнойИнформации.ПустаяСсылка() Тогда
			ОформлениеСтроки.Ячейки.Скан.Флажок = Истина;
		Иначе
			ОформлениеСтроки.Ячейки.Скан.Флажок = Ложь;
		КонецЕсли;

	КонецЕсли;
	
Показать

КонецПроцедуры
5. BackinSoda 31.08.20 15:56 Сейчас в теме
(3) Есть еще вариант для картинки, но там надо КартинкуСтроки устанавливать, да не простую ))

ОформлениеСтроки.Ячейки.Картинка.ОтображатьКартинку = Истина;
		ОформлениеСтроки.Ячейки.Картинка.ОтображатьТекст = Ложь;
		
		Если ЗначениеЗаполнено(ДанныеСтроки.Документ) Тогда
			Если ДанныеСтроки.Проведен Тогда
				ОформлениеСтроки.Ячейки.Картинка.ИндексКартинки = 0;
			Иначе 
				ОформлениеСтроки.Ячейки.Картинка.ИндексКартинки = 2;
			КонецЕсли; 
		Иначе
				ОформлениеСтроки.Ячейки.Картинка.ИндексКартинки = 4;
		КонецЕсли;
Показать
9. Airat116 31.08.20 16:09 Сейчас в теме
(5) Только почему то у меня в отладку "ОформлениеСтроки.Ячейки" не показывает моего реквизита
10. BackinSoda 31.08.20 16:15 Сейчас в теме
(9) колонка создается динамически, возможно событие срабатывает раньше, чем создалась колонка... Попробуйте ПередОткрытием добавить её, или на форме самой добавить колонку.
11. Airat116 31.08.20 16:17 Сейчас в теме
12. Airat116 31.08.20 16:24 Сейчас в теме
(10) Как то так получилось
Осталось убрать слово да или нет)
https://prnt.sc/u8zbko
13. BackinSoda 31.08.20 16:27 Сейчас в теме
(12) а код какой получился ? тот что в втором ответе, как раз должен исправить ситуацию
14. Airat116 31.08.20 16:29 Сейчас в теме
(13) Я пока что пробовал с примера который
Сейчас попробую ответ второй
15. Airat116 31.08.20 16:39 Сейчас в теме
(13) А как узнать индекс у картинки? Я применил второй ответ, но там сейчас выходит текст да или нет
16. BackinSoda 31.08.20 16:40 Сейчас в теме
(15) покажите код, чего-то не хватает в нём
17. Airat116 31.08.20 16:42 Сейчас в теме
(16) В таком коде сейчас ничего не показывает, ни картинки ни текста (да или нет)

  ОформлениеСтроки.Ячейки.Проверен.ОтображатьКартинку = Истина;
	ОформлениеСтроки.Ячейки.Проверен.ОтображатьТекст = Ложь;
	
	Если ЗначениеЗаполнено(ДанныеСтроки.Ссылка) Тогда
		Если ДанныеСтроки.Проверен Тогда
			ОформлениеСтроки.Ячейки.Проверен.ИндексКартинки = 0;
		Иначе 
			ОформлениеСтроки.Ячейки.Проверен.ИндексКартинки = 2;
		КонецЕсли; 
	Иначе
		ОформлениеСтроки.Ячейки.Проверен.ИндексКартинки = 4;
	КонецЕсли;
Показать
user658699_heinrich2906; +1 Ответить
19. BackinSoda 31.08.20 16:48 Сейчас в теме
(17) попробуйте без картинки, так:
ОформлениеСтроки.Ячейки.Проверен.ОтображатьТекст  = Ложь; 
    ОформлениеСтроки.Ячейки.Проверен.ОтображатьФлажок = Истина; 
    ОформлениеСтроки.Ячейки.Проверен.Флажок           = ДанныеСтроки.Проверен;
20. Airat116 31.08.20 17:01 Сейчас в теме
(19) Получилось=) Спасибо большое)
Последний маленький вопрос, а чтоб убрать рамки у флажка, это надо видимость поменять?
https://prnt.sc/u904o2
21. Airat116 31.08.20 17:03 Сейчас в теме
22. BackinSoda 31.08.20 17:04 Сейчас в теме
(21) если не ошибаюсь, то надо "очистить" свойство "Данные" у колонки..
зы:правда тогда сломается код выше, который из данных берёт значение, можно через ссылку. получить их ОформлениеСтроки.Ячейки.Проверен.Флажок = ДанныеСтроки.Ссылка.Проверен;
23. Airat116 31.08.20 17:14 Сейчас в теме
(22) Я сейчас смотрю как в примере с сканом

Там есть процедура

Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
	
	Если Элемент.Колонки.РучнаяКорректировка.Видимость Тогда
		 
		 ОбщегоНазначения.РучнаяКорректировкаСписокПриПолученииДанных(ОформленияСтрок);
		
	КонецЕсли;
	
КонецПроцедуры
Показать


Потом попадаю сюда

Процедура РучнаяКорректировкаСписокПриПолученииДанных(ОформленияСтрок)  Экспорт

	Картинка = БиблиотекаКартинок.РучнаяКорректировка;
	Для Каждого Строка Из ОформленияСтрок Цикл

		Если Строка.ДанныеСтроки.РучнаяКорректировка Тогда
			Строка.Ячейки.РучнаяКорректировка.УстановитьКартинку(Картинка);
		Иначе
			Строка.Ячейки.РучнаяКорректировка.Текст = "";
		КонецЕсли;

	КонецЦикла

КонецПроцедуры // РучнаяКорректировкаСписокПриПолученииДанных()
Показать


Возможно мне что то похожее нужно сделать
24. BackinSoda 31.08.20 17:22 Сейчас в теме
(23) можно и так и так сделать. попробуйте сперва колонку без данных, и код чуть измените, чтоб ошибка не выходила.
Если не получится, или есть на примете нужная картинка, то можно переделать и на картинку )
25. Airat116 31.08.20 17:27 Сейчас в теме
(24) Получилось сделать проще) Дописал только это "НовКолонка.ТолькоПросмотр = Истина;"
Через форму списка пользователи всё равно не будут редактировать
https://prnt.sc/u90op4
27. BackinSoda 31.08.20 17:35 Сейчас в теме
(25) тогда еще ширину колонку уменьшить осталось
18. BackinSoda 31.08.20 16:43 Сейчас в теме
(15) это у колонки должна быть выбрана соответствующая картинка-коллекция
Прикрепленные файлы:
26. Airat116 31.08.20 17:32 Сейчас в теме
Хотел еще узнать, привязки делать это обязательно? или желательно только?
28. BackinSoda 31.08.20 17:39 Сейчас в теме
(26) у колонок их нет.
Смотря какая форма, если программно добавлять элементы на сложную форму, то скорее всего - да. Если в предприятии (или в просмотре) они "съезжают", то тоже обязательно править привязки.
29. Airat116 31.08.20 18:51 Сейчас в теме
(28) Вот я вывел реквизит на форму документа программно (https://prnt.sc/u92a6a)
И теперь не знаю как правильно делать привязку
Например я знаю что внизу область "ОсновнаяПанель" и слева элемент формы "ЗатратыВТабличнойЧасти"

А как привязку по ним сделать пока не понимаю
Пример нашел:
(НоваяКнопка.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ЭлементыФормы.ИнфНадписьТекущаяСумма, ГраницаЭлементаУправления.Лево);
НоваяКнопка.УстановитьПривязку(ГраницаЭлементаУправления.Право, ЭлементыФормы.ИнфНадписьТекущаяСумма, ГраницаЭлементаУправления.Лево);
НоваяКнопка.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ЭлементыФормы.Товары, ГраницаЭлементаУправления.Низ);
НоваяКнопка.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ЭлементыФормы.ИнфНадписьТекущаяСумма, ГраницаЭлементаУправления.Верх);

Вот сам код как выводил элемент на форму

 //Добавляем надпись "Проверен"
	ЭлементФормы_НадписьПреверен 
		= ЭтаФорма.ЭлементыФормы.Добавить(Тип("Надпись"), "НадписьПроверен", Истина,);
	ЭлементФормы_НадписьПреверен.Заголовок 	= "Проверен";	
	ЭлементФормы_НадписьПреверен.Верх 		= ЭтаФорма.ЭлементыФормы.ЗатратыВТабличнойЧасти.Верх + 1;
	ЭлементФормы_НадписьПреверен.Лево 		= 600;
	ЭлементФормы_НадписьПреверен.Ширина 	= 50;
	ЭлементФормы_НадписьПреверен.Высота 	= 19;	
	//Добавляем флажок
	ЭлементФормы_Проверен 
		= ЭтаФорма.ЭлементыФормы.Добавить(Тип("Флажок"), "Проверен", Истина, );
	ЭлементФормы_Проверен.Данные		= "Проверен";	
	ЭлементФормы_Проверен.Верх 			= ЭтаФорма.ЭлементыФормы.ЗатратыВТабличнойЧасти.Верх + 1;
	ЭлементФормы_Проверен.Лево 			= 585;
	ЭлементФормы_Проверен.Ширина 		= 3;
	ЭлементФормы_Проверен.Высота 		= 19;
Показать
30. BackinSoda 31.08.20 20:57 Сейчас в теме
(29)
привязки

походу в требовании-накладной вообще не делали привязок в типовой)

Можно особо не заморачиваться, в этом случае.. ну или сделать минимальную типа :
ЭлементФормы_Проверен.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ЭлементыФормы.ЗатратыВТабличнойЧасти, ГраницаЭлементаУправления.Право);
	ЭлементФормы_Проверен.УстановитьПривязку(ГраницаЭлементаУправления.Право , ЭлементФормы_Проверен, ГраницаЭлементаУправления.Лево);

Левую границу галочки привязываем к правой части "Затрат", а правую к самой себе, чтобы не растягивалась. По этой же схеме можно и надпись к флажку привязать.
Верх и низ особо нет смысла устанавливать
31. Airat116 01.09.20 08:27 Сейчас в теме
(30) Сделал, спасибо большое за помощь=)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот