| 
    
        
     
     | 
    
  | 
Открыть форму подбора с отбором по владельцу | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Vigor06    
     16.03.15 
            ✎
    18:47 
 | 
         
        Доброго дня!
 
        Глупая ситуация,но не могу победить: Есть форма,на ней табличное поле, в нем 2 столбца: номенклатура и серия этой номенклатуры Задача: открыть форму серий номенклатуры с отбором данных,находящимися в списке код такой: СтандартнаяОбработка = ЛОжЬ; Форма = Справочники.СерииНоменклатуры.ПолучитьФормуВыбора(); Форма.РежимВыбора = Истина; Сертификат = ЭлементыФормы.ПогашениеПодарочныхСертификатов.ТекущиеДанные.ПодарочныйСертификат; МассивСерий = Выборка.ВыгрузитьКолонку("СерияНоменклатуры"); Список = Новый СписокЗначений; Список.ЗагрузитьЗначения(МассивСерий); Форма.Отбор.Владелец.ВидСравнения = ВидСравнения.Равно; Форма.Отбор.Владелец.Значение = Сертификат; Форма.Отбор.Владелец.Использование = Истина; Форма.ВладелецФормы = Элемент; Форма.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; Форма.Отбор.Ссылка.Значение = Список; Форма.Отбор.Ссылка.Использование = Истина; Форма.Открыть(); То есть все уже перепробовал, но все равно сразу же не делает отбор,а предлагает сначала выбрать номенклатуру(( что не так?  | 
|||
| 
    1
    
        Vigor06    
     16.03.15 
            ✎
    18:47 
 | 
         
        Кусок с запросом пропустил     
         | 
|||
| 
    2
    
        kumena    
     16.03.15 
            ✎
    18:53 
 | 
         
        если память не изменяет то владельца надо тут указывать, в параметре ПолучитьФормуВыбора     
         | 
|||
| 
    3
    
        kumena    
     16.03.15 
            ✎
    18:54 
 | 
         
        стырил бы пример из типовой     
         | 
|||
| 
    4
    
        Fragster    
     гуру 
    16.03.15 
            ✎
    18:58 
 | 
         
        надо заполнить только связь параметров выбора мышкой на форме. переопределять обработчики для этого не нужно.     
         | 
|||
| 
    5
    
        Vigor06    
     16.03.15 
            ✎
    19:03 
 | 
         
        (4) связь по владельцу указана,но мне нужно не тупо отбор по владельцу,а с доп.отбором.Список нужных серий я и передаю     
         | 
|||
| 
    6
    
        Крошка Ру    
     16.03.15 
            ✎
    19:23 
 | 
         
        (5)
 
        Форма.ВладелецФормы = Элемент; Кто такой Элемент?  | 
|||
| 
    7
    
        Крошка Ру    
     16.03.15 
            ✎
    19:25 
 | 
         
        +(6) Надеюсь код в событии НачалоВыбора()?     
         | 
|||
| 
    8
    
        Vigor06    
     16.03.15 
            ✎
    19:33 
 | 
         
        (6) не дурак)
 
        Я вообще этот код закомментил потом  | 
|||
| 
    9
    
        Vigor06    
     16.03.15 
            ✎
    19:35 
 | 
         
        Упростив вопрос,опишу задачу:
 
        открыть форму подбора справочника "Серии номенклатуры" с отбором по владельцу и заранее подготовленному списку серий. не пойму как((  | 
|||
| 
    10
    
        Vigor06    
     16.03.15 
            ✎
    19:36 
 | 
         
        Код кривой,но делал впопыхах, налепил всего. Что не работает - не пойму
 
        СтандартнаяОбработка = ЛОжЬ; Запрос = Новый Запрос; ЗАпрос.УстановитьПараметр("ГоденПо",КонецДня(ТекущаяДата())); ЗАпрос.Текст = "ВЫБРАТЬ | ДвиженияСерийныхНомеровСрезПоследних.СерияНоменклатуры, | ДвиженияСерийныхНомеровСрезПоследних.ГоденПо, | ДвиженияСерийныхНомеровСрезПоследних.ХозяйственнаяОперация, | ДвиженияСерийныхНомеровСрезПоследних.Номенклатура |ИЗ | РегистрСведений.ДвиженияСерийныхНомеров.СрезПоследних КАК ДвиженияСерийныхНомеровСрезПоследних"; Выборка = ЗАпрос.Выполнить().Выгрузить(); Сертификат = ЭлементыФормы.ПогашениеПодарочныхСертификатов.ТекущиеДанные.ПодарочныйСертификат; Для сч = 0 По Выборка.Количество()-1 Цикл Строка = Выборка[сч]; Если Строка.ГоденПО < ТекущаяДата() Тогда Выборка.Удалить(Строка) КонецЕсли; Если Строка.ХозяйственнаяОперация <> Строка(Перечисления.ХозОперацияСертификатов.Реализация) Тогда Выборка.Удалить(Строка); КонецЕсли; Если Строка.Номенклатура <> Сертификат Тогда Выборка.Удалить(Строка); КонецЕсли; КонецЦикла; Форма = Справочники.СерииНоменклатуры.ПолучитьФормуВыбора(,Элемент); Форма.ПараметрОТборПоВладельцу = Сертификат; Форма.РежимВыбора = Истина; МассивСерий = Выборка.ВыгрузитьКолонку("СерияНоменклатуры"); Список = Новый СписокЗначений; Список.ЗагрузитьЗначения(МассивСерий); Форма.Отбор.Владелец.ВидСравнения = ВидСравнения.Равно; Форма.Отбор.Владелец.Значение = Сертификат; Форма.Отбор.Владелец.Использование = Истина; //Форма.ВладелецФормы = Элемент; Форма.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; Форма.Отбор.Ссылка.Значение = Список; Форма.Отбор.Ссылка.Использование = Истина; Форма.Открыть();  | 
|||
| 
    11
    
        Vigor06    
     16.03.15 
            ✎
    19:38 
 | 
         
        Отбор по владельцу на форме как врубал,так и вырубал     
         | 
|||
| 
    12
    
        Крошка Ру    
     16.03.15 
            ✎
    19:41 
 | 
         
        СтандартнаяОбработка = Ложь;
 
        Форма = Справочники.СерииНоменклатуры.ПолучитьФормуВыбора(); Форма.Отбор.Владелец.ВидСравнения = ВидСравнения.Равно; Форма.Отбор.Владелец.Значение = Сертификат; Форма.Отбор.Владелец.Использование = Истина; Форма.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; Форма.Отбор.Ссылка.Значение = Список; Форма.Отбор.Ссылка.Использование = Истина; Форма.ВладелецФормы = ЭтаФорма; Форма.ОткрытьМодально();  | 
|||
| 
    13
    
        Vigor06    
     16.03.15 
            ✎
    19:45 
 | 
         
        (12) все равно сначала предлагает выбрать владельца,перед выбором серий     
         | 
|||
| 
    14
    
        Vigor06    
     16.03.15 
            ✎
    19:45 
 | 
         
        (12) хотя серии то отбирает верно. Что то с владельцем     
         | 
|||
| 
    15
    
        Крошка Ру    
     16.03.15 
            ✎
    19:57 
 | 
         
        А, ну ещё
 
        Форма.ПараметрВыборПоВладельцу = Сертификат;  | 
|||
| 
    16
    
        DrZombi    
     гуру 
    16.03.15 
            ✎
    21:01 
 | 
         
        Отбор = Структура("Владелец",Владелец);
 
        ПарамФормы = Структура("Отбор,ТекущаяСтрока",Отбор,ВыбранЭлемент); Форма = ПолучитьФорму("Путь к форме выбора",ПарамФормы,Элемент); //Далее организуешь отбор по списку Форма //Открыть Форма.Открыть();  | 
|||
| 
    17
    
        Vigor06    
     17.03.15 
            ✎
    09:11 
 | 
         
        (15)Пробовал так,пишет  - "не выбрана номенклатура" при попытке выбрать серию     
         | 
|||
| 
    18
    
        Vigor06    
     17.03.15 
            ✎
    09:12 
 | 
         
        (16) а это не для управляемых разве?     
         | 
|||
| 
    19
    
        Vigor06    
     17.03.15 
            ✎
    09:52 
 | 
         
        (16) а в данном случае "ВыбранЭлемент" - это что?     
         | 
|||
| 
    20
    
        Vigor06    
     17.03.15 
            ✎
    10:15 
 | 
         
        (16)дааааа)))разобрался))оно работает)     
         | 
|||
| 
    21
    
        Vigor06    
     17.03.15 
            ✎
    11:39 
 | 
         
        Друзья,а как мне получить строки с последним статусом по сертификату?
 
        Ну то есть,например, мы продали сертификат 1го числа (статус - реализация), им оплатили покупку 5го(статус-погашение). Я почему то думал,что СрезомПоследних мы получим последний статус каждой серии,но ошибался..((  | 
|||
| 
    22
    
        Vigor06    
     17.03.15 
            ✎
    12:11 
 | 
         
        Грубо говоря,нужен последний статус по каждой серии из регистра     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |