Имя: Пароль:
1C
1С v8
получить последние цены по видам цен
0 Soul771
 
05.06.14
12:40
Доброго дня.
УНФ,карточка номенклатуры, в панель навигации добавлена ссылка, по которой происходит обращение к РегистрСведений.ЦеныНоменклатуры.Команда.ОткрытьЦеныНоменклатуры(Объект.Ссылка). При нажатии в пользовательском режиме на эту ссылку (Цены )открывается окно, в котором отображены все виды цен по разным датам, которые были когда-либо установлены для данной номенклатуры. Нужно добавить в это окно реквизит с типом Булево, если истина, то отображались бы только последние для каждого вида цен, если ложь, то все цены по всем датам.

Захожу в конфигураторе в РегистрСведенийЦены, нахожу форму "ФормаДляНоменклатуры"(та, которая открывается при переходе из карточки номенклатуры), добавляю туда реквизит, пытаюсь описать событие при изменении... Изначально модуль формы пуст... Если перейти в модуль команды ОткрытьЦеныНоменклатуры, то там следующий код:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    Отбор = Новый Структура("Номенклатура", ПараметрКоманды);
    ПараметрыФормы = Новый Структура("Отбор", Отбор);
    ОткрытьФорму("РегистрСведений.ЦеныНоменклатуры.Форма.ФормаДляНоменклатуры", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры

Я так понимаю, что в параметр команды передается номенклатура, та, карточка которой открыта.
И никак не могу понять, как же обратиться к тем данным, которые выводятся на форму при действии этой команды..... Понимаю, что нужно что-то вроде СрезПоследних для данного регистра и данной номенклатуры, для всех видов цен, но как это реализовать в обработчике события при изменении реквизита на форме не соображу...

Пока создала в модуле формы РегистрСведений.ЦеныНоменклатуры.Форма.ФормаДляНоменклатуры вот что:
&НаКлиенте
Процедура ПоследниеПриИзменении(Элемент)
    ОбновитьСписок(Последние);
КонецПроцедуры


&НаКлиенте
Процедура ПриОткрытии(Отказ)
         Сообщить(Список.видцен);
        Последние=Истина;
        ОбновитьСписок(Последние);

    КонецПроцедуры
&НаСервере
Процедура ОбновитьСписок(Последние)
    Если Последние Тогда
    
        
    Иначе
        
    КонецЕсли;
    
    

КонецПроцедуры



Последние - это мой булевский реквизит... Как мне обратиться к данным, которые уже выведены на форму? Список.реквизит? ЭтаФорма.Реквизит?ЭлементыФормы.Реквизит?... Или данные брать из регистра до того, как выведен результат на форму?...
Помогите, пожалуйста, вообще затык.....