Цитата(Flexy @ 24.08.17, 15:20)
Штатно программа не даст изменить договор по которому есть движения в регистрах. Потому, что это чревато не правильным отражением учета.
Разве, что каждый раз перепроводить документы в которых договор меняется программным образом.
Я так понимаю, с такой методой реализации задачи у Вас в базе все отчеты по взаиморасчетам и т.д. будут тупо "плавать".
Суть в следующем.
Имеется единичный Заказ по договору "Основной". На основании его сделана Реализация по такому же договору "Основной".
По определенным причинам, в моем случае клиент не смог оплатить и попросил отсрочку платежа. В этом случае нужно пройти следующие круги ада:
1. Осуществить возврат
2. Создать новый Заказ с новой датой
3. На основании Заказа сделать новую Реализацию
Наша учетная политика не позволяет проведение операций по договору "Основной" с отсрочкой платежей, т.е. вынь деньги на бочку и бери товар, иначе - разворачиваемся и машем...
К тому же ежедневный отчет по наличным средствам базируется по договору "Основной". В итоге, если оставить всё как есть, то касса желаемая и действительная не совпадут (если не делать возврат). Но у клиента очень добрые глаза, тем более поклялся всем, что у него есть и будет. Товар остается без оплаты...
Чтобы избежать подобной ситуации, ранее использовалась схема с возвратом и переписыванием договора на "Кредит на 7 дней", тогда типа всё нормально и проблемы кассы переносятся на коллекторов...
Вот и мелькнула мысль, чтобы одним махом просто изменить договор с "Основного" на "Кредит 7 дней" у Заказа и Реализации...
Данный код моей махинации решает проблемы, но вот правая печень как-то что-то не так сомневается...
С другой стороны, как Вы сказали: Разве, что каждый раз перепроводить документы в которых договор меняется программным образом.
Так я своим кодом и перепровожу эти два документа (Заказ и Реализация)
Объект = Стр.Реализация.ПолучитьОбъект();
Объект.ДоговорКонтрагента = Стр.СтатусДоговора;
Объект.Записать(РежимЗаписиДокумента.[b]Проведение[/b]);