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

    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);

Спасибо за помощь, оказалось дело вообще в документе оплаты, его также надо было отменить проведение, затем провести.
---
для решения подобных проблем есть помощник.
---
Это уж совсем для ленивых :)
---
Вижу, пока такой вариант не рассматриваю.
---
тогда вам нужно выполнить все процедуры, которые выполняются по умолчанию, когда это делает пользователь.
Смотрите код в модулях и делайте тоже самое.
---
Реквизит ПорядокРасчетов меняли?
---
Обычно помогает перевыбрать договор, снять с проведения документ и провести его снова. Если был счет-фактура, то его тоже надо не забыть.
---
Договор кстати ничего не меняет, вручную перевыбрать соглашение перезаполнит форму документа, однако отладкой при изменении соглашения ничего интересного не нашел.
---
Просто при перепроведении и проведении непроведенного док "Реализация" ведет себя неодинаково.
Ососбенно, если у Вас порядок ведения расчетов "онлайн".
---
Да, ПорядокРасчетов, Основание меняю. Через консоль запросов реквизиты документов одинаковы.
---
Всё верно, но после этого документ надо снять с проведения и провести заново.
---
Я так делал, не срабатывает. Еще раз повторил, не срабатывает. Ни из формы, ни программное отмена проведения и проведение.
---
Отмените проведение и снова проведите документы. Прост перепроведение может не сработать.
---
Я так делал, не срабатывает. Еще раз повторил, не срабатывает. Ни из формы, ни программное отмена проведения и проведение.
---
В Вашем проблемном документе есть табличная часть "Взаиморасчеты". Если порядок расчета "по договорам", то в этой табличной части не должно быть ни одной строки. Если как-то по другому, то должны быть строки.
Наверно, опять снимите с проведения документ, очистите программно эту табличную часть "Взаиморасчеты" и снова проведите.
---
```1c
    Документ = ВыборкаДетальныеЗаписи.Реализация.ПолучитьОбъект();
    Документ.Записать(РежимЗаписиДокумента.ОтменаПроведения);
    Документ.Согласован = Истина;
    Документ.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов;
    Документ.РасшифровкаПлатежа.Очистить();
    Документ.Договор = ВыборкаДетальныеЗаписи.Договор;
    Документ.Основание = Строка(Документ.Договор);
    Документ.Записать(РежимЗаписиДокумента.Проведение);
```

Код примерно так и делает.

А взаиморасчеты не наблюдаю(скриншот)
---
Ну да, это оно, РасшифровкаПлатежа - это имя, синоним "Взаиморасчеты".
Однако, странно, почему это не дает эффекта.
---
А в самом договоре порядок расчетов тоже "По договорам"?
---
Да, в соглашениях и в договорах порядок расчетов по договорам.
---
перед проведением попробуйте еще вызвать
Документ.ЗаполнитьЭтапыГрафикаОплаты();
---
Вот такой незамысловатый код, однако, работает как надо:

```1c
    ДокОбъект=ДокРеализация.ПолучитьОбъект();
    ДокОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);

    ДокОбъект.Договор=НовыйДоговор;
    ДокОбъект.ПорядокРасчетов=НовыйДоговор.ПорядокРасчетов;

    ДокОбъект.РасшифровкаПлатежа.Очистить();

    ДокОбъект.Записать(РежимЗаписиДокумента.Запись);

    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
```

Сэмплик во вложении.
---
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);

    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);

Спасибо за помощь, оказалось дело вообще в документе оплаты, его также надо было отменить проведение, затем провести.