8.х Отбор номенклатуры по доп колонкам в списке

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем adaned, 15 апр 2015.

  1. TopicStarter Overlay
    adaned
    Offline

    adaned

    Регистрация:
    24 янв 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Доброго дня.
    Нужно отфильтровать номенклатуру в списке "СправочникСписок" внешней обработки с значениями из "СправочникСписок.Номенклатура" по свойству номенклатуры (а именно по его пустому значению или вообще отсутствию в регистре).
    Может быть это возможно сделать добавив перед формированием списка колонку с значением этого свойства из регистра "ЗначенияСвойствОбъектов", а потом отфильтровать. Получится так? Или по другому как то можно?

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

    Конфигурация УТ 10, 1с 8,3
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну вообще я так понимаю Вас есть поле свойство и список, вы должны как только изменили свойство (ПриИзменении) сделать запрос и получить всю номенклатуру, которая этому свойству соответвует, а затем на список наложить отбор по данной номенклатуре.
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну вообще я так понимаю Вас есть поле свойство и список, вы должны как только изменили свойство (ПриИзменении) сделать запрос и получить всю номенклатуру, которая этому свойству соответвует, а затем на список наложить отбор по данной номенклатуре.
  4. TopicStarter Overlay
    adaned
    Offline

    adaned

    Регистрация:
    24 янв 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Так я и не изменяю свойство, просто указал в списке путь к данным к номенклатуре, а при выводе строки добавляю ещё одну колонку, по которой и не могу отсортировать
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    можно скрин обработки или где вы это делаете
  6. TopicStarter Overlay
    adaned
    Offline

    adaned

    Регистрация:
    24 янв 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Вот такой список:
    https://yadi.sk/i/VjKKGcF-g5hMu

    добавляю третью колонку (ИзображениеГл):

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

    https://yadi.sk/i/IRTyB3Bug5hec
    Последнее редактирование модератором: 21 апр 2015

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