- В этой теме 1 ответ, 2 участника, последнее обновление 5 месяцев, 3 недели назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как отобрать строку по ссылке в форме ПодборНоменклатурыМатериалы?
как в Форма.НоменклатураДляПодбора (тип — ОбработкаТабличнаяЧасть.ПодборНоменклатурыМатериалы.НоменклатураДляПодбора) отобрать строку по ссылке на номенклатуру
В форме типа ОбработкаТабличнаяЧасть.ПодборНоменклатурыМатериалы.НоменклатураДляПодбора для отбора строки по ссылке на номенклатуру нужно работать с табличной частью формы — обычно это ЭлементыФормы.Номенклатура или аналогичный элемент.
Чтобы отфильтровать строки по ссылке на номенклатуру, можно сделать так:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Процедура ОтобратьПоНоменклатуре(СсылкаНоменклатуры) Если ЗначениеЗаполнено(СсылкаНоменклатуры) Тогда // Получаем таблицу данных формы ТаблицаДанных = ЭлементыФормы.Номенклатура.Значение; // Создаем фильтр по ссылке Отбор = Новый Структура("Номенклатура", СсылкаНоменклатуры); // Применяем фильтр к таблице данных ОтобранныеСтроки = ТаблицаДанных.НайтиСтроки(Отбор); Если ОтобранныеСтроки.Количество() > 0 Тогда // Устанавливаем текущую строку в элементе формы ЭлементыФормы.Номенклатура.ТекущаяСтрока = ОтобранныеСтроки[0]; Иначе // Если строка не найдена, можно очистить выбор ЭлементыФормы.Номенклатура.ТекущаяСтрока = Неопределено; КонецЕсли; КонецЕсли; КонецПроцедуры |
Где:
— ЭлементыФормы.Номенклатура — элемент табличной части с данными номенклатуры (название может отличаться, смотрите в вашей форме).
— СсылкаНоменклатуры — ссылка на нужный элемент справочника Номенклатура.
Если нужно именно отфильтровать (сделать отбор, чтобы в списке осталась только эта строка), то можно использовать фильтр элемента формы:
|
1 2 3 4 5 6 7 8 9 |
Процедура ОтфильтроватьПоНоменклатуре(СсылкаНоменклатуры) Если ЗначениеЗаполнено(СсылкаНоменклатуры) Тогда ЭлементыФормы.Номенклатура.Отбор.Очистить(); ЭлементыФормы.Номенклатура.Отбор.Добавить("Номенклатура", СсылкаНоменклатуры); ЭлементыФормы.Номенклатура.Обновить(); КонецЕсли; КонецПроцедуры |
Если в форме нет свойства Отбор у элемента, тогда фильтрация делается через запрос, который формирует данные для табличной части.
—
Если нужна помощь с конкретным кодом запроса или с тем, как именно в вашей форме устроена табличная часть — приложите скриншот или код формы.