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

1С:Предприятие :: 1С:Предприятие 8 общая

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

Отбор в подборе номенклатуры.
Я
   SkillUp
 
01.11.18 - 11:19
В форме документа в форме, в структуру добавляю параметр (список номенклатуры по которорй нужно добавить отбор).

Процедура ДействиеПодбор(ТабличнаяЧасть)

    Перем Команда, Валюта;

    РазворачиватьДоКачества = Ложь;
    ЕстьЦена            = мМожноМенятьЦенуВДокументе;
    ЕстьСерия           = Истина;
    Валюта              = ВалютаДокумента;
    СпособЗаполненияЦен = Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры;
    Качество            = ?(ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия, Справочники.Качество.Новый, Неопределено);
    ПодбиратьУслуги         = Ложь;
    ЕстьСкладВТабличнойЧасти = мУказаниеСкладовВТЧ;

    Если ТабличнаяЧасть = Товары Тогда

        Команда           = "ПодборВТабличнуюЧастьТовары";
        ИмяТабличнойЧасти = "Товары";

    ИначеЕсли ТабличнаяЧасть = ВозвратнаяТара Тогда

        Команда           = "ПодборВТабличнуюЧастьВозвратнаяТара";
        ЕстьСерия         = Ложь;
        ИмяТабличнойЧасти = "Тара";

    ИначеЕсли ТабличнаяЧасть = Услуги Тогда

        Команда                  = "ПодборВТабличнуюЧастьУслуги";
        ЕстьСерия                = Ложь;
        ИмяТабличнойЧасти        = "Услуги";
        Качество                 = Неопределено;
        ЕстьСкладВТабличнойЧасти = Ложь;
        СкрыватьХарактеристику   = Истина;
        ПодбиратьУслуги          = Истина;

    КонецЕсли;

    СписокВидовПодбора = СформироватьСписокЗапросовДляПодбора(ТабличнаяЧасть, РазворачиватьДоКачества);
    ПредставлениеДок   = Метаданные().Представление();

    СтруктураПараметровПодбора = Новый Структура();
    СтруктураПараметровПодбора.Вставить("Команда"            , Команда);
    СтруктураПараметровПодбора.Вставить("СписокВидовПодбора" , СписокВидовПодбора);

    // Параметры запросов.

    ВременнаяДатаРасчетов = ?(НачалоДня(Дата) = НачалоДня(ТекущаяДата()), Неопределено, Дата);
    СтруктураПараметровПодбора.Вставить("ДатаРасчетов"         , ВременнаяДатаРасчетов);
    СтруктураПараметровПодбора.Вставить("Склад"                , Склад);
    СтруктураПараметровПодбора.Вставить("ТипЦен"               , ТипЦен);
    СтруктураПараметровПодбора.Вставить("ДоговорКонтрагента"   , ДоговорКонтрагента);
    СтруктураПараметровПодбора.Вставить("Контрагент"           , Контрагент);
    СтруктураПараметровПодбора.Вставить("Сделка"               , Сделка);
    СтруктураПараметровПодбора.Вставить("Организация"          , Организация);
    СтруктураПараметровПодбора.Вставить("Качество"             , Качество);
    СтруктураПараметровПодбора.Вставить("СпособЗаполненияЦен"  , СпособЗаполненияЦен);
    СтруктураПараметровПодбора.Вставить("ЕстьЦена"             , ЕстьЦена);
    СтруктураПараметровПодбора.Вставить("ЕстьСерия"            , ЕстьСерия);
    СтруктураПараметровПодбора.Вставить("ВалютаДокумента"      , Валюта);
    СтруктураПараметровПодбора.Вставить("РазворачиватьДоКачества", РазворачиватьДоКачества);
    СтруктураПараметровПодбора.Вставить("СкрыватьХарактеристику" , СкрыватьХарактеристику);
    СтруктураПараметровПодбора.Вставить("ИспользоватьГруппуДоступности", Истина);
    СтруктураПараметровПодбора.Вставить("ПодбиратьУслуги"        , ПодбиратьУслуги);
    СтруктураПараметровПодбора.Вставить("Заголовок", "Подбор номенклатуры в документ " + 
                                        ПредставлениеДок + " № " + Номер + " (" + ИмяТабличнойЧасти + ")");
    СтруктураПараметровПодбора.Вставить("УсловиеПродаж"        , УсловиеПродаж);
    СтруктураПараметровПодбора.Вставить("ЕстьСкладВТабличнойЧасти", ЕстьСкладВТабличнойЧасти);
    СтруктураПараметровПодбора.Вставить("ВременныеТаблицы",ОбработкаТабличныхЧастей.СтруктураДляРасчетаРезерваПриПодбореНоменклатуры(ЭтаФорма, Истина, "Сделка"));
    //Тут добавляю список!!!

    Если ДоговорКонтрагента.Спецификация.Количество() > 0 Тогда
        Список = Новый СписокЗначений;
        Для Каждого Стр ИЗ ДоговорКонтрагента.Спецификация Цикл
            Список.Добавить (Стр.Номенклатура);
        КонецЦикла;
        СтруктураПараметровПодбора.Вставить("СписокОтбора",Список);
    КонецЕсли;
    //Тут добавляю список!!!

    РаботаСДиалогами.ОткрытьПодборНоменклатуры(ЭтаФорма, СтруктураПараметровПодбора, Метаданные());

КонецПроцедуры// ДействиеПодбор()



В обработке, подборНоменклатуры в процедуре - ОткрытьПодборНоменклатуры. Нахожу свой переданный параметр СписокОтбора. А дальше,НЕ МОГУ НАЙТИ ОТБОР В "ФормаПодбора", или не там смотрю? Как добратся до отбора?  


    // Открываем форму подбора.

    ФормаПодбора = Обработки.ПодборНоменклатуры.ПолучитьФорму("ОсновнаяФорма", ФормаДокумента, ФормаДокумента);
    ФормаПодбора.ОбработкаОбъект.СтруктураИсходныхПараметров = СтруктураПараметров;
    //ТУТ

    Если ЗначениеЗаполнено(СтруктураПараметров.СписокОтбора) Тогда
        
НЕ МОГУ НАЙТИ ОТБОР В "ФормаПодбора", или не там смотрю? Как добратся до отбора?
    КонецЕсли;    
    //ТУТ

    ФормаПодбора.Открыть();
 
 
   SkillUp
 
1 - 01.11.18 - 11:24
ВСЕ НАШЕЛ!!! ПАРДОН РЕБЯТ!!!
В ДеревоНоменклатуры было.

ФормаПодбора.ДеревоНоменклатуры.Отбор

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