Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Не добавляется отбор в форме списка дока

Доброе утро!Не добавляется отбор в форме списка дока
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Запрос = Новый Запрос;
    Запрос.Текст = 
     "ВЫБРАТЬ
     |    КорректировкаДолгаСуммыДолга.Сумма,
     |    КорректировкаДолгаСуммыДолга.Ссылка
     |ИЗ
     |    Документ.КорректировкаДолга.СуммыДолга КАК КорректировкаДолгаСуммыДолга" ;

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

конецпроцедуры
Ответ: {Документ.КорректировкаДолга.Форма.ФормаСписка.Форма()}: Помилка при виклику методу контексту (Добавить)
Вопрос: Возможно ли сделать отбор в форме списка док? Поле - не реквизит документа.

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

Может у кого была такая задача. Помогите
Есть справочник Контрагенты с реквизитом ВидКонтрагента(Перечисление: Поставщик, КлиентЮрЛицо, КлиентФизЛицо) с формой ФормаВыбора. И есть документ ПередачаОбъектаВПрокат с реквизитом Клиент, который и будет открывать ФормуВыбора справочника. Надо установать отбор в форме, чтобы нам показывали только Контрагентов с видом ЮрЛицо и ФизЛицо.

Писал в форме документа
1C
1
2
3
4
5
6
7
8
9
&НаКлиенте
Процедура КлиентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    ЗначениеОтбора = Новый            Структура(ПредопределенноеЗначение("Перечисление.ВидыКонтрагентов.КлиентФизЛицо"),ПредопределенноеЗначение("Пе речисление.ВидыКонтрагентов.КлиентЮрЛицо"));
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
    ОткрытьФорму("Справочник.Контрагенты.ФормаВыбораПередачаВПрокат", ПараметрыВыбора); 
    
КонецПроцедуры
Может кто знает более корректный и правильный вариант
Ответ:
Сообщение от Dethmontt
Melec354, выбери ФИКсированный массив ТАМ и наполни его своими значениями!!!
нет у меня такого параметра в списке выбора

Добавлено через 1 минуту
оп, нашел) Спасибо за терпение
Вопрос: Как добраться до владельца формы из формы выбора?

Добрый день!
К примеру, когда в документе выбираешь поле с ссылочным значением, открывается форма выбора ссылочных данных. Вот как из этой формы обратиться к значению поля владельца формы или передать параметр при открытии в форму выбора? Не нашел подходящего события даже...
Ответ:
Уже сам понял:
Код:
&НаКлиенте
Процедура ПоступлениеНаименованиеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    П = Новый Структура("Сырьё, МестоХранения", Элементы.Поступление.ТекущиеДанные.Сырьё,Объект.МестоХранения);
    ОткрытьФорму("Справочник.Сырьё.ФормаВыбора",П,Элемент);
КонецПроцедуры
Вопрос: Установка и очистка отбора (управляемые формы)

При установлен флаге надо скрывать документы, где стоит дата выдачи.
А при снятом флаге показывать все без отбора.
При открытии формы отбор по документам, где Дата выдачи - заполнена - работает. А когда снимаю флаг, отбор не снимается.

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

КонецПроцедуры
Ответ: () спасибо!

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

КонецПроцедуры
Вопрос: Отбор в форме документа

День добрый. Делаю документ, добавил реквизит "ДокументОснование", и в модуле дока, прописываю:

1C
1
2
3
4
5
6
7
8
Процедура ЗаполнитьПоДокументуОснования(Основание)  Экспорт 
    
    Если ТипЗнч(Основание) = Тип("ДокументСсылка.Оплата") Тогда
        
        ФормаВыбора = Документы.Оплата.ПолучитьФормуСписка();
        ФормаВыбора.Отбор.ВидОперации.Использование = Истина;
        ФормаВыбора.Отбор.ВидОперации.Значение      = Перечисления.ВидыОплаты.ПоДоходу;
        Основание = ФормаВыбора.ОткрытьМодально();
и открывается форма списка документа без отбора. Никто не знает почему?
Ответ:
Сообщение от Dethmontt
Когда предполагается что в форме наложение отбора запрещено
Зачем такое делать))) Есть примеры которые такое осуществляют?
Вопрос: Владелец формы - поле ввода.

При открытии формы выбора складов в УТ из накладной обнаружил, что владелец открываемой формы ни что иное - как поле ввода, у которого нет "родитель". Как узнать из какой формы открылась форма выбора?
Ответ: () труъ. умеешь. Владелец никак не определяется. в параметры пихать.
Вопрос: Добавление отбора на форме списка справочника

Добрый вечер!
Есть фомра списка справочника. В список, при открытии, динамически добавляется новая колонка
НоваяКолонка = ЭлементыФормы.СправочникСписок.Колонки.Добавить("Нормированный", "Н");

Все здорово, вот только в окне в котором задаются условия отбора, этих колонок нет. Подскажите, пожалуйста, как их можно добавить?
Вот так не работает
  ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Ответ: (забудь про работу со свойством "Отбор" списка)
Вопрос: Помогите пожалуйста задать отбор в форме выбора справочника

При выборе контрагента программно в форму выбора передаю первые символы наименования. Как программно сделать так, чтобы активизировался первый элемент, у которого совпадают первые символы.
Ответ:
Решено. Сделала на форме выбора справочника "Контрагенты" виртуальную клавиатуру .
При нажатии на любую клавишу срабатывает код
РезультатПоискаПоРеквизиту = ТекСпр.НайтиПоНаименованию(Н,Ложь);
ЭлементыФормы.СправочникСписок.ТекущаяСтрока=РезультатПоискаПоРеквизиту;
где Н переменная, содержащая значение клавиши
Вопрос: Как обратиться к параметрам открытой формы?

Я создал дополнительный справочник "Справки" в конфигурации и добавил ссылку на него из строки документа поступления товаров.
При редактировании документа я нажимаю кнопку выбора справки - вызывается стандартная форма выбора справочника "Справки" (эту форму я не программировал), с необходимым мне отбором по Номенклатуре и Поставщику соответствующим строке документа (процедура ТоварыСправкаНачалоВыбора). Все прекрасно - открывается список с указанным отбором. Но если нужной справки нет, то при нажатии на кнопку "Создать" открывется форма элемента с незаполненными реквизитами справки, а надо, чтобы реквизиты были заполнены по отбору в форме выбора, т.е. Номенклатура и Поставщик.
Саму форму элемента справочника я менял (она не стандартная). Но как из формы элемента получить параметры отбора в вызвавшей ее форме выбора ?
Ответ: Спасибо! Помогло. Комбинацией реквизитов "Владелец" и "Родитель" добрался до исходной формы документа.