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