Прошу прощения за оффтоп,т.к я уже создавал обращение по этому вопросу,но сейчас я чуть более складно сформулировал свою проблему,чтобы снова ее опубликовать

У меня имеется справочник "Классы",вне табличной части которого есть реквизиты "КлассУчеников","СтаростаКласса","КлассныйРуководитель" (Связан с другим справочником "СписокУчителей") и реквизиты табличной части: "ФИО"(Связан с другим справочником "СписокУчеников") и ДатаРождения.Вот сама задача: Сделать так,чтобы школьники после наступления в календаре 1-го сентября,автоматически перемещались на класс повыше,т.е,к примеру изначально они находились в 1А,а затем уже переносились во 2А и т.д
---
Тут проблема в том, что задача не очень корректная. Так как по задаче класс - ссылка, то переход учеников в другой класс должен фиксироваться документом, а не регламентным заданием, иначе не понятно как разрешать ситуации по типу отчисления ученика, совмещения двух классов в один (часто 2-3 9ых класса объединяют в один 10) и др.
Ну, какое задание, такое и решение:

```1c
    Процедура ПереводУчениковВСледующийКласс() Экспорт
    Запрос = Новый Запрос("ВЫБРАТЬ
    | КлассыУчеников.Ученик КАК Ученик,
    | КлассыУчеников.Класс КАК ТекущийКласс,
    | Классы.Ссылка КАК СледующийКласс
    |ИЗ
    | РегистрСведений.КлассыУчеников КАК КлассыУчеников
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Классы КАК Классы
    | ПО (КлассыУчеников.Класс.Номер + 1 = Классы.Номер)
    | И КлассыУчеников.Класс.Буква = Классы.Буква");

    Выборка = Запрос.Выполнить().Выбрать();

    НаборЗаписей = РегистрыСведений.КлассыУчеников.СоздатьНаборЗаписей();
    Пока Выборка.Следующий() Цикл
    Запись = НаборЗаписей.Добавить();
    Запись.Ученик = Выборка.Ученик;
    Запись.Класс = Выборка.СледующийКласс;
    КонецЦикла;
    НаборЗаписей.Записать();
    КонецПроцедуры
```

Структура следующая:
Регистр сведений с измерением "Ученик" и ресурсом "Класс"
Справочник "Ученики"
Справочник "Классы" с реквизитами: "Номер", "Буква"

При помощи данного обработчика получаем все текущие записи регистра (это значит, что при первом использовании в регистр необходимо загрузить "остатки" (текущее положение учеников в классах)), присоединяем следующий класс с такой же буквой (это значит, что все классы также нужно занести заранее),а затем циклом формируем новый набор записей, где у учеников изменен класс. Дополнительно можно в цикле добавить условие на то, что "СледующийКласс" не заполнен и запись не добавлять. В таком случае ученики не будут переведены в 12-ый несуществующий класс.
---
Возможно лучше классы учеников учитывать в регистре сведений, где измерением будут классы , а ресурсами ученики(на счёт ресурсов и измерений можно подумать еще)? А в справочник подтягивать информацию из этого регистра. А для переноса на след год, сделать обработку(общую форму или общий модуль), которая будет их добавлять в регистр сведений, а обработку(общ форму/модуль) запускать по регламентному заданию или в ручную ! Информацию хранить в табличных частях объекта, не совсем корректно, надо табличную часть на форме элемента сделать и удалить из объекта.
---
Буду пробовать,спасибо за совет!
---
По заданию это будто бы должно происходить автоматически. Я бы добавил регламентное задание, которое по расписанию будет получать записи из регистра и менять ученикам класс.
---
Вот только у меня огромные проблемы возникают,когда дело касается кода 1С.Мне столько всяких хороших решений советовали,но все в любом случае сводится к коду
---
Тут проблема в том, что задача не очень корректная. Так как по задаче класс - ссылка, то переход учеников в другой класс должен фиксироваться документом, а не регламентным заданием, иначе не понятно как разрешать ситуации по типу отчисления ученика, совмещения двух классов в один (часто 2-3 9ых класса объединяют в один 10) и др.
Ну, какое задание, такое и решение:

```1c
    Процедура ПереводУчениковВСледующийКласс() Экспорт
    Запрос = Новый Запрос("ВЫБРАТЬ
    | КлассыУчеников.Ученик КАК Ученик,
    | КлассыУчеников.Класс КАК ТекущийКласс,
    | Классы.Ссылка КАК СледующийКласс
    |ИЗ
    | РегистрСведений.КлассыУчеников КАК КлассыУчеников
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Классы КАК Классы
    | ПО (КлассыУчеников.Класс.Номер + 1 = Классы.Номер)
    | И КлассыУчеников.Класс.Буква = Классы.Буква");

    Выборка = Запрос.Выполнить().Выбрать();

    НаборЗаписей = РегистрыСведений.КлассыУчеников.СоздатьНаборЗаписей();
    Пока Выборка.Следующий() Цикл
    Запись = НаборЗаписей.Добавить();
    Запись.Ученик = Выборка.Ученик;
    Запись.Класс = Выборка.СледующийКласс;
    КонецЦикла;
    НаборЗаписей.Записать();
    КонецПроцедуры
```

Структура следующая:
Регистр сведений с измерением "Ученик" и ресурсом "Класс"
Справочник "Ученики"
Справочник "Классы" с реквизитами: "Номер", "Буква"

При помощи данного обработчика получаем все текущие записи регистра (это значит, что при первом использовании в регистр необходимо загрузить "остатки" (текущее положение учеников в классах)), присоединяем следующий класс с такой же буквой (это значит, что все классы также нужно занести заранее),а затем циклом формируем новый набор записей, где у учеников изменен класс. Дополнительно можно в цикле добавить условие на то, что "СледующийКласс" не заполнен и запись не добавлять. В таком случае ученики не будут переведены в 12-ый несуществующий класс.