Процедура КнопкаВыполнитьНажатие(Кнопка)
Регистр = РегистрыСведений.СвойстваПозицииШтатногоРасписания.СоздатьНаборЗаписей();
Регистр.Прочитать();
Для Каждого Запись из Регистр Цикл
//а = Запись.ПолучитьОбъект();
Если Запись.Период <= Дата("20171116") Тогда
Запись.УсловияТруда.Наименование = Справочники.УсловияТруда.НайтиПоКоду(000000001);
Иначе
Запись.УсловияТруда.Наименование = Справочники.УсловияТруда.НайтиПоКоду(000000002);
КонецЕсли;
КонецЦикла;
Регистр.Записать(Ложь);
КонецПроцедуры
Справочники.УсловияТруда.НайтиПоКоду(000000001);
запрос в цикле
вынеси определение переменной за цикл
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший