8.х Оптимизация процедуры

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

  1. TopicStarter Overlay
    MevMix
    Offline

    MevMix Опытный в 1С

    Регистрация:
    21 фев 2011
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Доброго дня всем!!!!
    Вообщем пример взять из УТ 10.3
    1с8.1
    вот процедура которая отображает только с положительным или отрицательным количеством номенклатуру на складах
    Код:
    Процедура Обновление(ТолькоСОстатками)
    ЭлементыФормы.КоманднаяПанель.Кнопки.ТолькоСОстатками.Пометка = НЕ ЭлементыФормы.КоманднаяПанель.Кнопки.ТолькоСОстатками.Пометка;
    ТолькоСОстатками = ЭлементыФормы.КоманднаяПанель.Кнопки.ТолькоСОстатками.Пометка;
    
    Если ТолькоСОстатками Тогда 
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	ОстаткиТоваровОстатки.Номенклатура,
    |	ОстаткиТоваровОстатки.Склад
    |ИЗ
    |	РегистрНакопления.ОстаткиТоваров.Остатки(, Склад = &СкладВДокументе) КАК ОстаткиТоваровОстатки";
    Запрос.УстановитьПараметр("СкладВДокументе", СкладОстатки);
    СписокНоменклатуры = Новый СписокЗначений;
    СписокНоменклатуры.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Номенклатура"));
    
    СправочникСписок.Отбор.Ссылка.ВидСравнения	= ВидСравнения.ВСписке;
    СправочникСписок.Отбор.Ссылка.Значение		= СписокНоменклатуры;
    СправочникСписок.Отбор.Ссылка.Использование	= Истина;
    Иначе 
    СправочникСписок.Отбор.Ссылка.Использование	= Ложь;
    КонецЕсли;
    КонецПроцедуры
    
    
    при нажатии кнопки ТолькоСОстаками вызываю процедуру Обновление
    Код:
    Процедура КоманднаяПанельТолькоСОстатками(Кнопка)
    
    Если ЭлементыФормы.КоманднаяПанель.Кнопки.ТолькоСОстатками.Пометка Тогда 
    Обновление(Истина);	
    иначе
    Обновление(Ложь);
    КонецЕсли;
    
    КонецПроцедуры
    
    
    при открытии формы и при изменение полля ввода СкладОстаки
    Код:
    Процедура ПриОткрытии()
    Обновление(Ложь);
    Обновление(Истина);
    КонецПроцедуры
    
    Процедура СкладОстаткиПриИзменении(Элемент)
    Обновление(Ложь);
    Обновление(Истина);
    КонецПроцедуры
    
    
    
    Но как то вот вызов СкладОстаткиПриИзменении и ПриОткрытии коряво

    просто хочеться чтоб при открытии формы и при изменени складасразу отображались только остаки
    ну если так сказать - програмно за меня кнопка была два раза нажата
    Как лучше можно реализовать данный код

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