Версия для печати темы (https://pro1c.org.ua/index.php?s=3f2bd3b4992f0787657aa47b8ab49f9e&showtopic=67051)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Відбір на списку форми документа по додаткових реквізитах

Автор: bandrah 10.08.22, 20:59

Добрий вечір, виникла потреба написати код по відбору документів на формі списку, але звертаючить створених користувачем додаткових реквізитів (стандартний функціонал), можливо у когось була аналогічна потреба і є готовий код, стандартний функціонал відбору працює чудесно по дод реквізитах, але треба дописати це щоб було у всіх користувачів без прив'язки до налаштувань користувача і т.д

Автор: AnryMc 12.08.22, 9:38

bandrah @ 10.08.22, 21:59 * ,

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

AnryMc @ Сегодня, 10:17 * ,


Туплю я с утра однако...

ПриСозданииНаСервере программно напишите нужный отбор по "ДополнительныеРеквизиты"

Туплю я с утра однако...

ПриСозданииНаСервере программно напишите нужный отбор по "ДополнительныеРеквизиты"

А ещё проще: общий модуль "ОбщегоНазначенияКлиентСервер"
- Процедура УстановитьЭлементОтбора
- Процедура УстановитьЭлементОтбораДинамическогоСписка
- Процедура УстановитьПараметрДинамическогоСписка
- Процедура УдалитьЭлементыГруппыОтбораДинамическогоСписка

Пример кода "альтернативного" поиска по наименованию

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

&НаКлиенте
Процедура СтрокаДляПоискаОчистка(Элемент, СтандартнаяОбработка)
    
    УдалитьМойОтбор();
        
КонецПроцедуры

&НаКлиенте
Процедура СтрокаДляПоискаОткрытие(Элемент, СтандартнаяОбработка)
    
    СтандартнаяОбработка = ЛОЖЬ;
    
    Если ЗначениеЗаполнено(Элемент.ТекстРедактирования) Тогда
        
        УстановитьМойОтбор(Элемент.ТекстРедактирования);
        
    //Иначе
    //    
    //    УдалитьМойОтбор();
        
    КонецЕсли;
    
КонецПроцедуры

&НаКлиенте
Процедура УстановитьМойОтбор(СДП)
    
    ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Наименование", СДП, ВидСравненияКомпоновкиДанных.Содержит,,Истина);
    
КонецПроцедуры

&НаКлиенте
Процедура УдалитьМойОтбор()
    
    ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Наименование");
    
КонецПроцедуры

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua