УТ 11.4 Изменить порядок расчетов в документе реализации программно

1. darkultro37 10 24.11.20 08:42 Сейчас в теме
День добрый. Может кто сталкивался, необходимо поменять в документе реализации порядок расчетов с накладных на договор. Простое изменение реквизитов документа и последующая запись не изменяет порядок расчетов, т.е. реквизиты в двух документах совпадают, но измененный программно документ по-прежнему порядок расчетов на форме и в штатных отчетах указывает по накладным, а вручную -как и должно быть, по договорам. Скорее всего решение где-то рядом на поверхности и я не наткнулся на него.
Версия ут 11.4.13.57
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
22. darkultro37 10 25.11.20 08:44 Сейчас в теме +0.3 $m
(21)
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);

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


Спасибо за помощь, оказалось дело вообще в документе оплаты, его также надо было отменить проведение, затем провести.
adhocprog; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. Xershi 1484 24.11.20 09:58 Сейчас в теме
(1) для решения подобных проблем есть помощник.
10. ab_initio 95 24.11.20 10:08 Сейчас в теме
(9) Это уж совсем для ленивых :)
13. darkultro37 10 24.11.20 10:14 Сейчас в теме
(9) Вижу, пока такой вариант не рассматриваю.
19. Xershi 1484 24.11.20 13:08 Сейчас в теме
(13) тогда вам нужно выполнить все процедуры, которые выполняются по умолчанию, когда это делает пользователь.
Смотрите код в модулях и делайте тоже самое.
2. SlavaKron 24.11.20 08:56 Сейчас в теме
Реквизит ПорядокРасчетов меняли?
3. ab_initio 95 24.11.20 08:57 Сейчас в теме
Обычно помогает перевыбрать договор, снять с проведения документ и провести его снова. Если был счет-фактура, то его тоже надо не забыть.
7. darkultro37 10 24.11.20 09:49 Сейчас в теме
(3)Договор кстати ничего не меняет, вручную перевыбрать соглашение перезаполнит форму документа, однако отладкой при изменении соглашения ничего интересного не нашел.
4. ab_initio 95 24.11.20 09:05 Сейчас в теме
Просто при перепроведении и проведении непроведенного док "Реализация" ведет себя неодинаково.
Ососбенно, если у Вас порядок ведения расчетов "онлайн".
6. darkultro37 10 24.11.20 09:47 Сейчас в теме
(2)
Да, ПорядокРасчетов, Основание меняю. Через консоль запросов реквизиты документов одинаковы.
8. ab_initio 95 24.11.20 09:50 Сейчас в теме
(6)Всё верно, но после этого документ надо снять с проведения и провести заново.
11. darkultro37 10 24.11.20 10:08 Сейчас в теме
(8)Я так делал, не срабатывает. Еще раз повторил, не срабатывает. Ни из формы, ни программное отмена проведения и проведение.
5. katya0702 24.11.20 09:42 Сейчас в теме
Отмените проведение и снова проведите документы. Прост перепроведение может не сработать.
12. darkultro37 10 24.11.20 10:12 Сейчас в теме
(5)Я так делал, не срабатывает. Еще раз повторил, не срабатывает. Ни из формы, ни программное отмена проведения и проведение.
14. ab_initio 95 24.11.20 11:54 Сейчас в теме
В Вашем проблемном документе есть табличная часть "Взаиморасчеты". Если порядок расчета "по договорам", то в этой табличной части не должно быть ни одной строки. Если как-то по другому, то должны быть строки.
Наверно, опять снимите с проведения документ, очистите программно эту табличную часть "Взаиморасчеты" и снова проведите.
15. darkultro37 10 24.11.20 12:10 Сейчас в теме
(14)
 Документ = ВыборкаДетальныеЗаписи.Реализация.ПолучитьОбъект();
		 Документ.Записать(РежимЗаписиДокумента.ОтменаПроведения);
		 Документ.Согласован = Истина; 
		 Документ.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов;
		 Документ.РасшифровкаПлатежа.Очистить();
		 Документ.Договор = ВыборкаДетальныеЗаписи.Договор;
		 Документ.Основание = Строка(Документ.Договор); 
		 Документ.Записать(РежимЗаписиДокумента.Проведение);
Показать

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

А взаиморасчеты не наблюдаю(скриншот)
Прикрепленные файлы:
16. ab_initio 95 24.11.20 12:26 Сейчас в теме
(15)
Ну да, это оно, РасшифровкаПлатежа - это имя, синоним "Взаиморасчеты".
Однако, странно, почему это не дает эффекта.
17. ab_initio 95 24.11.20 12:34 Сейчас в теме
(15) А в самом договоре порядок расчетов тоже "По договорам"?
18. darkultro37 10 24.11.20 12:57 Сейчас в теме
(17)Да, в соглашениях и в договорах порядок расчетов по договорам.
20. EVKash 14 24.11.20 13:10 Сейчас в теме
(18) перед проведением попробуйте еще вызвать
Документ.ЗаполнитьЭтапыГрафикаОплаты();
21. ab_initio 95 25.11.20 06:40 Сейчас в теме +0.5 $m
(15)
Вот такой незамысловатый код, однако, работает как надо:

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

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


Сэмплик во вложении.
Прикрепленные файлы:
ИзмПорядокРасчетов.epf
serge-ce1; +1 Ответить
22. darkultro37 10 25.11.20 08:44 Сейчас в теме +0.3 $m
(21)
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);

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


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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот