Уже не в первый раз клиенты на УНФ 1.6 обращаются ко мне с просьбой сделать сортировку как в приходной. Каждый раз делаю по-разному и каждый раз забываю, как сделал предыдущий раз))). Надоело тратить на это время и силы. Поэтому решил написать инструкцию.
Во-первых, пишется это на версии 1.6.15.39. Во-вторых, со временем разработчики могут переименовать или переделать механизм. Поэтому необходимо индивидуально разбираться с каждой задачей.
1) Найти обработку "Ценообразование".
2) Модуль менеджера, процедура "ДобавитьКолонкиТекущихЦен".
3) В самый конец этой процедуры вставить вот такой код:
// {1c-aspect; rybakov@1c-aspect.ru; Начало 17.08.2018}
// Маркер: Сортировка как в приходной накладной
ТаблицаИсточник.Колонки.Добавить("aspect_Сортировка", Новый ОписаниеТипов("Число"));
Счетчик = 0;
Для каждого ТекСтрока_Источника Из ТаблицаИсточник Цикл
Счетчик = Счетчик + 1;
ТекСтрока_Источника.aspect_Сортировка = Счетчик;
КонецЦикла;
ТаблицаИсточникСЦеной.Колонки.Добавить("aspect_Сортировка", Новый ОписаниеТипов("Число"));
Для каждого ТекСтрока_ИсточникаСЦеной Из ТаблицаИсточникСЦеной Цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура" , ТекСтрока_ИсточникаСЦеной.Номенклатура);
ПараметрыОтбора.Вставить("Характеристика", ТекСтрока_ИсточникаСЦеной.Характеристика);
НайденныеСтроки = ТаблицаИсточник.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() > 0 Тогда
ТекСтрока_ИсточникаСЦеной.aspect_Сортировка = НайденныеСтроки[0].aspect_Сортировка;
КонецЕсли;
КонецЦикла;
ТаблицаИсточникСЦеной.Сортировать("aspect_Сортировка");
// {1c-aspect; rybakov@1c-aspect.ru; Конец 17.08.2018}