при срабатывании кода меняются значения только первой строке в справочнике
должно:
переходить на следующую и менять в следующей строке
//------------------------------------------------------------------
Процедура всем()
СписокЭлементов = СоздатьОбъект("СписокЗначений");
Контрагенты=СоздатьОбъект("Справочник.Контрагенты");
Контрагенты.ВыбратьЭлементы();
Пока Контрагенты.ПолучитьЭлемент()=1 Цикл
Сообщить(Контрагенты.Наименование);//вижу в цикле всех конртагентов по очереди
Если ПустоеЗначение(Контрагенты.договор)=0 Тогда
Сообщить(Контрагенты.ТекущийЭлемент().договор);//вижу текущий договор
Спр = СоздатьОбъект("Справочник.договора");
Спр.НайтиПоНаименованию(ТекущийЭлемент().договор.Наименование,0);
СтароеЗначение = Спр.договор;
Спр.договор = Спр.договор + 1;//меняет значение только в первой строке, тоесть цикл для этой строки не работает
Спр.Записать();
КонецЕсли;
Контрагенты.Записать();
КонецЦикла;
ИерархическийСписок(0,1);
ИспользоватьСписокЭлементов(СписокЭлементов);
КонецПроцедуры
//------------------------------------------------------------------