В ТЧ в столбце номенклатура много разной номенклатуры, повторяющейся.
Нужно выбрать только строки, в которых каждая номенклатура встречается последний раз в ТЧ.
Например
1 АААА
2 ВВВ
3 ААА
4 ААА
5 ВВВ
На выходе нужно получить
4 ААА
5 ВВВ
Что-то никак не соображу путь покороче. Длинные варианты есть.
(4)
ВЫБРАТЬ
1 КАК НомерСтроки,
"ААА" КАК Номенклатура
ПОМЕСТИТЬ ВТ_ТЧ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
2,
"ВВВ"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
3,
"ААА"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
4,
"ААА"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
5,
"ВВВ"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
МАКСИМУМ(ВТ_ТЧ.НомерСтроки) КАК НомерСтроки,
ВТ_ТЧ.Номенклатура
ИЗ
ВТ_ТЧ КАК ВТ_ТЧ
выбрать
номенклатура
из Документ.Нужный.табличкаСноменклатурой
где номерСтроки в
(выбрать
максимум(номерСтроки),
Номенклатура
ИЗ из Документ.Нужный.табличкаСноменклатурой
Сгруппировать По Номенклатура)
ПоследниеСтроки = Новый Соответствие;
Для каждого СтрокаТЧ из Объект.ТЧ Цикл
ПоследниеСтроки.Вставить(СтрокаТЧ.Номенклатура, СтрокаТЧ);
КонецЦикла;
//тут имеем последние строки
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший