Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программное удаление одного элемента отбора СКД

Программное удаление одного элемента отбора СКД
Я
   seraf
 
31.08.20 - 11:19
Привет, я чет или слепой и не нагуглил
как найти и потом удалить один элемент

Настройки.Отбор.Элементы.

Получить (Get) у меня чет не отработало да и как по названию, а не по индексу
   PuhUfa
 
1 - 31.08.20 - 11:24
(0) Видимо где то не там смотришь
    ОСКД = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

    НастройкиОСКД = ОСКД.НастройкиПоУмолчанию;
        
    ПараметрыДанныхОСКД = НастройкиОСКД.ПараметрыДанных.Элементы;
    
    ЭлементПериод                            = ПараметрыДанныхОСКД.Найти("Период");
    ЭлементПериод.Использование                = Истина;
    ЭлементПериод.Значение.ДатаНачала        = НачалоМесяца(ДатаНачала);
    ЭлементПериод.Значение.ДатаОкончания    = КонецМесяца(ДатаОкончания);
    
    Если ТипЗнч(СписокНоменклатуры) = Тип("СписокЗначений") Тогда
        ОтборДанныхОСКД = НастройкиОСКД.Отбор.Элементы;
        ЭлементОтбораНоменклатуры = ОтборДанныхОСКД.Получить(0);
        ЭлементОтбораНоменклатуры.Использование = Истина;
        ЭлементОтбораНоменклатуры.ПравоеЗначение = СписокНоменклатуры;
    КонецЕсли;

Все работает
   toypaul
 
2 - 31.08.20 - 11:25
в любой типовой есть соот-щий метод. может у тебя платформа сломалась. это тогда в 1С надо писать :)
   seraf
 
3 - 31.08.20 - 13:23
Я смотрю методы КоллекцияЭлементовОтбораКомпоновкиДанных 

вот код добавления элемента отбора

    Настройки = Отчет.КомпоновщикНастроек.Настройки;
    
    //Настройки.Отбор.Элементы.Очистить();


    ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДатаНачалаП");
    ЭлементОтбора.ПравоеЗначение = Отчет.СтандартныйПериод.ДатаНачала;
    ЭлементОтбора.Использование = Истина;

если вставить туда КоллекцияЗначенийПараметровКомпоновкиДанных 

Настройки.ПараметрыДанных.Элементы.Найти("ДатаНачалаП")

как поменять так и не понял не очищая
   ДенисЧ
 
4 - 31.08.20 - 13:29
Тебе нужно что? установить новое значение?
Тогда есть

ЗначенияПараметровДанныхКомпоновкиДанных (DataCompositionDataParameterValues)
УстановитьЗначениеПараметра (SetParameterValue)
Синтаксис:
УстановитьЗначениеПараметра(<Параметр>, <Значение>)
Параметры:
<Параметр> (обязательный)
Тип: Строка, ПараметрКомпоновкиДанных.
Имя параметра или параметр компоновки данных, значение которого нужно установить.
<Значение> (обязательный)
Значение, которое нужно установить.
Описание:
Устанавливает значение параметра и включает свойство Использование. Если параметр с указанным именем не найден, будет вызвано исключение.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
     Методическая информация
   seraf
 
5 - 31.08.20 - 13:35
Да, мне переустановить существующее нужно
я думал его вначале найти надо, потом устанавливать
   seraf
 
6 - 31.08.20 - 13:37
хотя не только, мне же его и удалить из списка неплохо бы, когда пустую дату на форме забьют..
ну или отключить использование тогда

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