|
Отбор по значению переменной | ☑ | ||
---|---|---|---|---|
0
XKoot
05.06.15
✎
10:01
|
Доброго времени суток!
Я тут впервые столкнулся с отбором по значению и хотел бы попросить помощи. Внимание суть: Есть форма документа с несколькими заявками и кнопка на ней. Кнопка срабатывает при выделенной заявке, проверяет наличие нужных значений в табличном поле, если не находит, то выбирает нужные мне значения из справочника(для каждой заявки), а потом помещает их в табличное поле документа. Проблема в том, что после активации кнопки для нескольких заявок в табличном поле образуется очень много разных значений. Мне нужно чтобы по нажатию на кнопку при выделенной заявке он выводил значения только по этой конкретной заявке, а остальные скрывал. Это легко реализуется непосредственно в отладчике при помощи пункта "Отбор по значению в текущей колонке", но программно реализовать я это нечто не могу... |
|||
1
XKoot
05.06.15
✎
10:02
|
// получаем текущую строку
// получаем тип заявки // в зависимости от типа заявки из справочника "Документы для рейса" получаем список документов // добавляем полученные документы в табличную часть "документы" (если нет, если есть - показываем существующие и скрываем другие) ТекущаяСтрока = ЭлементыФормы.Заявки.ТекущаяСтрока; НужнаяЗаявка = ТекущаяСтрока.Заявка; ТипЗаявки = ТИПЗНЧ(НужнаяЗаявка); Запрос = Новый Запрос; Если ТипЗаявки = Тип("ДокументСсылка.ПриказНаОтгрузку") Тогда Запрос.Текст = "ВЫБРАТЬ | ДокументыДляРейса.Ссылка |ИЗ | Справочник.ДокументыДляРейса КАК ДокументыДляРейса |ГДЕ | ДокументыДляРейса.Приказ = ИСТИНА"; ИначеЕсли ТипЗаявки = Тип("ДокументСсылка.ЗаявкаПокупателя") Тогда Запрос.Текст = "ВЫБРАТЬ | ДокументыДляРейса.Ссылка |ИЗ | Справочник.ДокументыДляРейса КАК ДокументыДляРейса |ГДЕ | ДокументыДляРейса.Перемещение = ИСТИНА"; ИначеЕсли ТипЗаявки = Тип("ДокументСсылка.ЗаявкаНаПеревозку") Тогда Запрос.Текст = "ВЫБРАТЬ | ДокументыДляРейса.Ссылка |ИЗ | Справочник.ДокументыДляРейса КАК ДокументыДляРейса |ГДЕ | ДокументыДляРейса.Перемещение = ИСТИНА"; Иначе Предупреждение("Неввозможно обработать данный тип документа."); КонецЕсли; РезультатЗапроса = Запрос.Выполнить().Выгрузить(); Найдено = Ложь; Для каждого строчка из Документы Цикл Если строчка.Заявка = НужнаяЗаявка Тогда Найдено = Истина; Прервать; КонецЕсли; КонецЦикла; Если Не Найдено Тогда Для каждого Документ из РезультатЗапроса Цикл НоваяСтрока = Документы.Добавить(); НоваяСтрока.Заявка = НужнаяЗаявка; НоваяСтрока.ДокументДляРейса = Документ.ссылка; КонецЦикла; КонецЕсли; ЗначениеОтбора = Новый Структура("Заявки", "НужнаяЗаявка"); ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); ЭлементыФормы.Панель1.ТекущаяСтраница = ЭлементыФормы.Панель1.Страницы.ПодтверждающиеДокументы; Собсна, реализация всего вышеописанного |
|||
2
Asmody
05.06.15
✎
10:04
|
(0) ох и каша!
|
|||
3
Asmody
05.06.15
✎
10:04
|
ну, для затравки можно почитать в СП про свойство отбор
|
|||
4
Rovan
гуру
05.06.15
✎
10:09
|
ЗначениеОтбора = Новый Структура("Заявки", "НужнаяЗаявка");
может лучше ЗначениеОтбора = Новый Структура("Заявки", НужнаяЗаявка); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |