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

Тема в разделе "1C и всё что с ней связано", создана пользователем Allexei, 5 авг 2011.

  1. Allexei

    Allexei Well-Known Member

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

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Обработать одно из событий ТП:
    Код ( (Unknown Language)):
    Процедура ТППриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    ОформлениеСтроки.Ячейки.Комментарий.Текст = ПолучитьЗначениеПВХ(ДанныеСтроки);
    ОформлениеСтроки.Ячейки.Комментарий.ОтображатьТекст = Истина;
    КонецПроцедуры
    Код ( (Unknown Language)):
    Процедура ТППриПолученииДанных(Элемент, ОформленияСтрок)
    Для каждого СтрокаОС Из ОформленияСтрок Цикл
    СтрокаОС.Ячейки.Комментарий.ОтображатьТекст = Истина;
    СтрокаОС.Ячейки.Комментарий.Текст = ПолучитьЗначениеПВХ(СтрокаОС.ДанныеСтроки);
    КонецЦикла;  
    КонецПроцедуры
    Код не проверял, возможны баги. Но суть должна быть ясна.
     
  3. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Ну и можно оптимизировать - кэшировать в таблицу, получать данные запросом по списку, если надо...
     
  4. Allexei

    Allexei Well-Known Member

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

    Дайнеко Well-Known Member
    1C Team

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

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

    Allexei Well-Known Member

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
  8. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    а.. :( у меня закралась мысль, что все обманулись в задании, изложенном автором.
    "Я всегда чувствую" (Доцент)
     
Загрузка...

Поделиться этой страницей