• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Колонка с произвольными данными

  • Автор темы Allexei
  • Дата начала
A

Allexei

В 1с 7.7 можно было при открытии справочника рассчитать произвольные данные по каждому элементу и вывести их в общем списке справочника. Как в 8.1 так сделать не соображу. Для большей наглядности опишу примерно задачу- Есть обработка, на обработке табличное поле у которого источник данных справочник список. Для каждого элемента в справочник в ПВХ задано определенное значение. Как вывести это значение вместе с элементами.
 
Z

Zab

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

Код:
Процедура ТППриПолученииДанных(Элемент, ОформленияСтрок)
Для каждого СтрокаОС Из ОформленияСтрок Цикл
СтрокаОС.Ячейки.Комментарий.ОтображатьТекст = Истина;
СтрокаОС.Ячейки.Комментарий.Текст = ПолучитьЗначениеПВХ(СтрокаОС.ДанныеСтроки);
КонецЦикла; 	
КонецПроцедуры

Код не проверял, возможны баги. Но суть должна быть ясна.
 
U

unknown181538

Ну и можно оптимизировать - кэшировать в таблицу, получать данные запросом по списку, если надо...
 
A

Allexei

unknown181538 , сделал как Вы и сказали. Не очень красиво но....работает.
Zab - что то не работает так как Вы сказали. И не понял что вы подразумеваете под коментарием- реквизит объекта выводимого в таблицу значений или же дополнительную колонку которую я добавил в эту таблицу значений.Если доп колонку- то ее по " ОформлениеСтроки.Ячейки.Комментарий" - нет, есть только колонки принадлежашие объекту(хотя в таблица значений я ее добавил). Если же это реквизит объекта, то это не совсем то что мне нужно, так как выводится несколько ПВХ, "коментариев" не хватит :)
 
Д

Дайнеко

unknown181538 , сделал как Вы и сказали. Не очень красиво но....работает.
Zab - что то не работает так как Вы сказали

Вот что мы принимаем на форуме, так это честность. Не знаешь - так и скажи. Не понял - переспроси.
Как можно сделать совет unknown181538, если не понять элементарного текста Zab? :)

Пожалуйста, приведите свой текст, который пусть и некрасиво, но работает.
"Комментарий" - это так программист назвал колонку ТЗ.
 
A

Allexei

Дайнеко Обработчик на активизации строки другой т.ч. Формируется список ячеек для склада.
Код:
Процедура тпСкладыПриАктивизацииСтроки(Элемент)
Запрос= Новый Запрос("ВЫБРАТЬ
|	СкладскиеЯчейки.Ссылка,
|	КатегорияТовара.ЗначениеВИзмерении
|ПОМЕСТИТЬ КатегорияТовара
|ИЗ
|	Справочник.СкладскиеЯчейки КАК СкладскиеЯчейки
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК КатегорияТовара
|		ПО СкладскиеЯчейки.Ссылка = КатегорияТовара.Объект
|ГДЕ
|	СкладскиеЯчейки.Владелец = &Владелец
|	И КатегорияТовара.Свойство = &СвойствоКатегорияТовара
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|	СкладскиеЯчейки.Ссылка,
|	Метраж.Значение
|ПОМЕСТИТЬ МетражЯчеек
|ИЗ
|	Справочник.СкладскиеЯчейки КАК СкладскиеЯчейки
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК Метраж
|		ПО СкладскиеЯчейки.Ссылка = Метраж.Объект
|ГДЕ
|	Метраж.Свойство = &СвойствоМетраж
|	И СкладскиеЯчейки.Владелец = &Владелец
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|	СкладскиеЯчейки.Ссылка,
|	КатегорияТовара.ЗначениеВИзмерении КАК КатегорияСкладскойЯчейки,
|	МетражЯчеек.Значение КАК Метраж,
|	СкладскиеЯчейки.Наименование,
|	СкладскиеЯчейки.Код КАК Адрес
|ИЗ
|	Справочник.СкладскиеЯчейки КАК СкладскиеЯчейки
|		ЛЕВОЕ СОЕДИНЕНИЕ КатегорияТовара КАК КатегорияТовара
|		ПО СкладскиеЯчейки.Ссылка = КатегорияТовара.Ссылка
|		ЛЕВОЕ СОЕДИНЕНИЕ МетражЯчеек КАК МетражЯчеек
|		ПО СкладскиеЯчейки.Ссылка = МетражЯчеек.Ссылка
|ГДЕ
|	СкладскиеЯчейки.Владелец = &Владелец");
Запрос.УстановитьПараметр("Владелец"						 , Элемент.ТекущаяСтрока);
Запрос.УстановитьПараметр("СвойствоМетраж"			 , ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Метраж"));
Запрос.УстановитьПараметр("СвойствоКатегорияТовара", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Складская ячейка-Категория ячейки"));
тпСкладскиеЯчейки= Запрос.Выполнить().Выгрузить(); 
КонецПроцедуры

Как можно сделать совет unknown181538, если не понять элементарного текста Zab?
Очень просто. Колонка "Комментарий" является типовой для многих объектов метаданных. Вот я и спрашиваю что имелось в виду стандартное поле комментария или произвольно добавленная колонка в таблице значений(которую обычно называют тип "Ваша_колонки"). Кстати нашел косяк - в именах таблиц напутал..Zab был прав. Мега плюс ему. Но остановлюсь на варианте с запросом ибо уже сделано.
 
U

unknown181538

- вот тут разные варианты

Добавлено: а.. ну вам надо при активизации какой-то строки...
 
Д

Дайнеко

а.. :( у меня закралась мысль, что все обманулись в задании, изложенном автором.
"Я всегда чувствую" (Доцент)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!