Здравствуйте, такой вопрос, как можно поменять вид операции документа?

&НаСервере
Процедура ИзменитьРеализациюНаСервере()

 ВыборкаДокументы = Документы.РеализацияТоваровУслуг.Выбрать(Объект.НачПериода,Объект.КонПериода);

    Пока ВыборкаДокументы.Следующий() Цикл

  ДокОбъект = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("10000000078");
  ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
        ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
        ДокОбъект.Записать();
    КонецЦикла;
КонецПроцедуры

По остановке смотрю значение меняется, но при открытии самого документа, вид операции все так же общий остается
---
НайтиПоРеквизиту получает ссылку документа, а не выборку, у ссылки нет метода Следующий. Запросом получите необходимые документы . И по выборке получить объект ссылки документа и записать все что нужно в цикле
---
Ну значит не записывает... Можешь для интереса даже версию данных сравнить.
---
а зачем выборка, а потом поиск по номеру, вы какой из документов хотите изменить по выборке или который найден по номеру?

если по номеру, то

```1c
    ДокОбъект = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("10000000078");
    ДокОбъект = ДокОбъект.ПолучитьОбъект();
```

вполне возможно, после записи вы просто не в том документе проверяете изменения
---
Для проверки по конкретному документу
---
в данном случае у вас запись выполняется для всех документов, которые находит по выборке. В отладке в цикле посмотрите какой документ попадает в выборке и после записи проверьте запишется ли значение.
---
Да все верно, выборка выбирала только те что с видом операции услуги, немного код изменила

```1c
    Процедура ИзменитьРеализациюНаСервере()

    ВыборкаДокументы = Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("ВидОперации", Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия);

    Пока ВыборкаДокументы.Следующий() Цикл

    ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
    ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
    ДокОбъект.Записать();

    Сообщить(ДокОбъект.ВерсияДанных);

    КонецЦикла;
```

Но теперь метод цикла не видит

Метод объекта не обнаружен (Следующий)
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(229)}: Пока ВыборкаДокументы.Следующий() Цикл
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(243)}: ИзменитьРеализациюНаСервере();
---
НайтиПоРеквизиту получает ссылку документа, а не выборку, у ссылки нет метода Следующий. Запросом получите необходимые документы . И по выборке получить объект ссылки документа и записать все что нужно в цикле
---
Хорошо, попробую, можете подсказать как правильно будет его сформулировать?
Потому что пока не особо понимаю

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | РеализацияТоваровУслуг.ВидОперации КАК ВидОперации,
    | РеализацияТоваровУслуг.Ссылка КАК Ссылка
    |ИЗ
    | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    | РеализацияТоваровУслуг.ВидОперации = &ВидОперации
    | И РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслуг.Ссылка";

    Запрос.УстановитьПараметр("ВидОперации", Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия);
    Запрос.УстановитьПараметр("Ссылка", Документы.РеализацияТоваровУслуг);

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

    Пока ВыборкаДокументы.Следующий() Цикл

    ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
    ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
    ДокОбъект.Записать();

    КонецЦикла;
```
---
в целом вы все правильно записали

это строка лишняя, если вы не хотите делать отбор по конкретному документу

```1c
    И РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслуг.Ссылка
```

также если необходимо можно добавить условия на период

```1c
    И РеализацияТоваровУслуг.Дата Между &ПериодНачало и &ПериодОкончания
```
---
Да все верно, но добавила это условие, потому что появляется такая ошибка

Метод объекта не обнаружен (ПолучитьОбъект)
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(244)}: ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(255)}: ИзменитьРеализациюНаСервере();
---
просто нужно так обращаться к ссылке в цикле выборки

```1c
    ВыборкаДокументы.Ссылка.ПолучитьОбъект();
```

Ссылка в данном случае будет иметь имя то, которое вы дадите в запросе, советую почитать различную документацию по составлению запросов, упростит работу в будущем
---
ВыборкаДокументы.Ссылка.ПолучитьОбъект(); а далее как правильно будет задать и записать новое значение?
---
ваш вариант верный, вы получаете объект документа, меняете те значения которые необходимы и записываете документ

```1c
    ДокОбъект = ВыборкаДокументы.Ссылка.ПолучитьОбъект();
    ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
    ДокОбъект.Записать();
```
---
ВыборкаДокументы.Ссылка.ПолучитьОбъект();
        ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
        ДокОбъект.Записать();

  Вот тут нужно промежуточное написать, потому что ДокОбъект он не понимает?
---
да конечно, присвоить значение и дальше уже с ним работать

```1c
    ДокОбъект = ВыборкаДокументы.Ссылка.ПолучитьОбъект();
```
---
ДокОбъект = ВыборкаДокументы.Ссылка.ПолучитьОбъект(); Хорошо, спасибо, разобралась!