Вход | Регистрация
 

Отражение записей регистра сведений.

Отражение записей регистра сведений.
Я
   Pinokio
 
11.02.20 - 10:26
Доброго времени суток уважаемые знатоки).

Есть справочник номенклатура, в него мы добавили табличное поле, где выводим список значений из регистра сведений.
на данный момент там отражены полностью все записи.
ЗАдача такая. сделать ПриАктивацииСтроки() чтобы выводило те записи из регистра которые относятся именно к этой номенклатуре.

ЭтаФорма.ЭлементыФормы.ТабличноеПолеАналоги ТипЗначение = РегистрСведенийСписок.Аналоги;

В регистре 2 измерения Номенклатура и Аналог.


Вот такой запрос на отбор сделал. но как мне в этом табличном поле, показать только те. которые нашел запрос.
или может как то еще задать параметры. отбора.
 
 
   Волшебник
 
Модератор
1 - 11.02.20 - 10:30
И где здесь запрос на отбор?
   butterbean
 
2 - 11.02.20 - 10:30
УФ?
   CaIIIka
 
3 - 11.02.20 - 10:47
(2) Судя по "ЭлементыФормы" - нет.
   spiller26
 
4 - 11.02.20 - 10:48
(0) Если УФ, динамический список на форме с запросом параметром.
При активации менять параметр.
   Pinokio
 
5 - 11.02.20 - 10:58
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Аналоги.Аналог
        |ИЗ
        |    РегистрСведений.Аналоги КАК Аналоги
        |ГДЕ
        |    Аналоги.Номенклатура = &Номенклатура";
    
    Запрос.УстановитьПараметр("Номенклатура", ЭтаФорма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        
        
    КонецЦикла;
   Pinokio
 
6 - 11.02.20 - 10:59
spiller26 -  Вот как реализовать вашу мысль.
   Pinokio
 
7 - 11.02.20 - 11:02
настройки отбора почему то в ошибку улетает "метод объекта не обнаружен",
   Pinokio
 
8 - 11.02.20 - 11:05
НаборЗаписей = ЭтаФорма.ЭлементыФормы.ТабличноеПолеАналоги.НастройкаОтбора//  это отработало



НаборЗаписей.Номенклатура.Установить(ЭтаФорма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка)// Не понимает установить.  

НаборЗаписей.Отбор.Номенклатура.Установить(ЭтаФорма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка)// Не понимает установить. и отбор.
   catena
 
9 - 11.02.20 - 11:08
(8)А если не Настройки, а просто Отбор?
   CaIIIka
 
10 - 11.02.20 - 11:09
Вы бы сказали, что у вас обычные формы, неуправляемые.

Не особо уже помню, как с ними работать. Можно таблицу значений (ТабЗн) сделать и привязать к ней табличное поле. В нее грузить результат запроса.

В процедуре ПриАктивизацииСтроки
Дальше как в (5) половину текста, потом

    Результат = Запрос.Выполнить();
    
    Если Результат.Пустой() Тогда
    
        Возврат;
    
    КонецЕсли;
    
     ТабЗн.Загрузить(Результат.Выгрузить());
   CaIIIka
 
11 - 11.02.20 - 11:11
+10 Возможно как-то через отборы напрямую можно, но я не помню. Давно не кодил в обычных формах. А через ТЗ должно работать.
   Pinokio
 
12 - 11.02.20 - 11:12
Отбор  ругается. не видит метода.
через ТабЧасть не хотелось бы( сам понимаю что так проще.
   НЕА123
 
13 - 11.02.20 - 11:14
ОтборСтрок
   Pinokio
 
14 - 11.02.20 - 11:21
В данных формы видна структура
- ТабличноеПолеАналоги
     - Отбор            
           - Номенклатура
                  Значение
           - Аналог
                  Значение
   НЕА123
 
15 - 11.02.20 - 11:28
(14)
определись уж, с чем ты работаешь.
   Pinokio
 
16 - 11.02.20 - 11:28
НастройкаОтбор = ЭтаФорма.Отбор//  отрабатывает нормально


НастройкаОтбор.Наименование.Значение   = ЭтаФорма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка;// неверный тип значения 


НастройкаОтбор.Наименование.Значение   = Справочники.Номенклатура.НайтиПоКоду("000000002")// так тоже не верный тип значения.
   Pinokio
 
17 - 11.02.20 - 11:29
Работаем с ТабличноеПолеАналоги - (РегистрСведенийСписок.Аналоги)
   НЕА123
 
18 - 11.02.20 - 11:31
(17)
в (8) Элемент формы, однако.
   НЕА123
 
19 - 11.02.20 - 11:36
ТабличноеПолеАналоги.Отбор.Номенклатура.Установить(Нечто);
   catena
 
20 - 11.02.20 - 11:49
(16)Ну надо немножко СП почитать, а не методом тыка перебирать знакомые буквы

Отбор = ОтчетОстатки.ПостроительОтчета.Отбор;
Если Отбор.Найти("Номенклатура") = Неопределено Тогда
    Отбор.Добавить("Номенклатура");
КонецЕсли;
Отбор["Номенклатура"].Использование = Истина;
Отбор["Номенклатура"].Значение      = Номенклатура;
Отбор["Номенклатура"].ВидСравнения  = 
        ?(Номенклатура.ЭтоГруппа, 
            ВидСравнения.ВСпискеПоИерархии, 
            ВидСравнения.Равно);

С регистром так же.
   Pinokio
 
21 - 11.02.20 - 12:10
catena
Метод недоступен для данного объекта.
   Pinokio
 
22 - 11.02.20 - 12:17
нашОтбор = ЭтаФорма.ТабличноеПолеАналоги.Отбор;
Номенклатура = ЭтаФорма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка;

нашОтбор["Номенклатура"].Использование = Истина;
нашОтбор["Номенклатура"].Значение      = Номенклатура;
нашОтбор["Номенклатура"].ВидСравнения  = 
        ?(Номенклатура.ЭтоГруппа, 
            ВидСравнения.ВСпискеПоИерархии, 
            ВидСравнения.Равно);
//  РАБОЧИЙ КОД )


catena спасибо большое) ты супер!!!!!
Всем остальным тоже очень благодарен.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.