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