|
Отбор по поставщикам в табличной части из регистра сведений | ☑ | ||
---|---|---|---|---|
0
Borteg
14.10.12
✎
19:25
|
Добрый день. Возникла такая проблема. Есть регистр сведений с измерением поставщик. элементами измерения могут быть как группы так и элементы.
Есть табличная часть с колонкой поставщик,в которой надо произвести отбор по данному регистру. Для элементов я написал вроде все просто и работает. Код такой Строка=0; Пока Строка<СоставКосвенныхРасходов.Количество() цикл СтрокаТч = СоставКосвенныхРасходов.Получить(Строка); Запрос = Новый запрос; Запрос.Текст = "ВЫБРАТЬ | ПоставщикиРаспределения.Поставщик КАК Поставщик |ИЗ | РегистрСведений.ПоставщикиРаспределения КАК ПоставщикиРаспределения |ГДЕ | ПоставщикиРаспределения.Поставщик = &Поставщик"; Запрос.УстановитьПараметр("Поставщик",СтрокаТч.Поставщик); Результат = Запрос.Выполнить().Выбрать(); Если Результат.Следующий() тогда Строка = Строка+1; иначе СоставКосвенныхРасходов.Удалить(СтрокаТЧ); КонецЕсли; КонецЦикла; Вопрос как сделать так чтобы можно было использовать группы. |
|||
1
France
14.10.12
✎
19:42
|
смешались люди кони....
|
|||
2
Borteg
14.10.12
✎
19:44
|
Спасибо большое за совет.
|
|||
3
France
14.10.12
✎
19:45
|
я честно попытался понять, что необходимо сделать..
|
|||
4
Borteg
14.10.12
✎
19:49
|
Есть регистр в котором можно выбрать группу контрагентов (Например группа поставщики в которую входят поставщик а, поставщик б, поставщик с и группа поставщики2), после нажатия кнопки в табличной части должны остаться только те строки у которых поставщик = поставщику из этого регистра.
|
|||
5
France
14.10.12
✎
19:59
|
гы гы.. у мну есть такой код... делал для себя, ща попробую поделится..
|
|||
6
Borteg
14.10.12
✎
19:59
|
Просто я реально запутался в циклах и вообще во всем что может быть там. Просто с группам не приходилось работать в таком варианте. Был бы рад если помогли
|
|||
7
France
14.10.12
✎
20:04
|
собстна, вот код, который добавляет все элементы, входящие в группу номенклатуры..
надеюсь, сможешь разобраться Группа = Справочники.Номенклатура.ПустаяСсылка(); Результат = ВвестиЗначение(Группа,"Выберите группу товаров"); выборка = Справочники.Номенклатура.Выбрать(Группа); Пока Выборка.Следующий() Цикл Если Не Выборка.ЭтоГруппа Тогда Строка = Товары.Добавить(); Строка.Номенклатура = Выборка.Ссылка; КонецЕсли; КонецЦикла; |
|||
8
France
14.10.12
✎
20:11
|
у мну, правда, обратное... я добавляю только нужных из указанной группы..
для тебя: 1. выбрать из табличной части те строки, что не входят в записи регистра сведений 2. в цикле удалить эти строки... Выбрать * Из твойОбъект.ТабличнаяЧасть где твойОбъект.Контрагент не в (выбрать контрагента из ТвойРегистрСведений) |
|||
9
France
14.10.12
✎
20:12
|
или, получить из табличной части только те, что есть в регистре сведений, и загрузить в табличную часть..
для этого достаточно убрать "Не " в запросе0)) |
|||
10
Borteg
14.10.12
✎
20:27
|
Спасибо большое за помощь) Пойду рассуждать и думать)
|
|||
11
France
14.10.12
✎
20:30
|
лучше делай)) иногда думать и рассуждать вредно..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |