справочник Договор Контрагента

1. fugu 23 10.12.20 13:29 Сейчас в теме
Добрый день.

Есть самописная конфигурация.
Нужно изменить Договор и "переподтянуть" его в Контрагента.
Контрагент владелец справочника договора.

 договор1 = Договор.ПолучитьОБъект();
		  договор1.Организация = Объект.Организация;
		  договор1.ОтключитьАвтоНаименование = Истина;
		  договор1.Наименование = "1111"
		  договор1.Записать();

		  контр1 = Контрагент.ПолучитьОбъект();
		  контр1.ДоговорПоУмолчанию = договор1;
		  контр1.Записать();
Показать


в Договоре все меняется. А вот в справочнике Контрагенты - старое наименование контрагента. Если открыть в контрагенте договора, то курсор стоит на нужном договоре и имя его новое, перевыбрал и все хорошо. НО как это сделать программно??? Почему не "подтягивается" новый договор???
По теме из базы знаний
Найденные решения
15. fugu 23 10.12.20 16:14 Сейчас в теме
Сработал код в форме обработки:

ОповеститьОбИзменении(Договор);
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 10.12.20 13:30 Сейчас в теме
контр1.ДоговорПоУмолчанию = договор1.Ссылка;
3. fugu 23 10.12.20 13:34 Сейчас в теме
(2) Не меняется Наименование в справочнике Контрагент, хотя если открываю, новое имя.
4. FatPanzer 10.12.20 13:38 Сейчас в теме
(3) Так вы его и в своем коде не меняете... Может у вас там на форме какой-то обработчик стоит, который по каким-то правилам изменяет наименование при перевыборе.

Нам предстоит попытаться угадать структуру данных вашей самописки?
5. fugu 23 10.12.20 13:41 Сейчас в теме
(4) контр1.ДоговорПоУмолчанию = договор1; - Вот здесь я переопределяю его.
6. FatPanzer 10.12.20 13:45 Сейчас в теме
(5) А причем здесь ДоговорПоУмолчанию, если вы спрашиваете про Наименование контрагента??? Вы это так специально издеваетесь?
И вообще - присваивать любому реквизиту тип "Объект" бесполезное занятие.
7. fugu 23 10.12.20 13:46 Сейчас в теме
(6) ДоговорПоУмолчанию - я здесь указываю, измененный договор. и Вот получается представление на форме измененного договора не корректное.
8. FatPanzer 10.12.20 13:49 Сейчас в теме
(7) Я вам уже ДВА раза указал на ошибку, дальше сами.

Так все-таки - причем здесь "старое наименование контрагента"???
9. ab_initio 95 10.12.20 13:53 Сейчас в теме
Может так сработает?
 договор1 = Договор.ПолучитьОБъект();
          договор1.Организация = Объект.Организация;
          договор1.ОтключитьАвтоНаименование = Истина;
          договор1.Наименование = "1111"
          договор1.Записать();

          контр1 = Контрагент.ПолучитьОбъект();
          контр1.ДоговорПоУмолчанию = договор1.Ссылка;
          контр1.Записать();
Показать

Тип СправочникОбъект это не то же самое, что СправочникСсылка.
10. FatPanzer 10.12.20 13:54 Сейчас в теме
(9) Я уже два раза и код написал, и про Объект написал... Человек просто не хочет потрудиться прочитать ответы.
11. fugu 23 10.12.20 15:02 Сейчас в теме
(9) я уже так написал, со ссылкой.
Не отрабатывает.
12. ab_initio 95 10.12.20 15:06 Сейчас в теме
Как выглядит в конфигураторе справочник "Контрагенты" ? Какие в нем есть реквизиты и табличные части?
13. FatPanzer 10.12.20 15:12 Сейчас в теме
Ну что ж. Начнем по порядку.
1. Из какого модуля код?
2. В какой момент и по какому событию происходит его исполнение?
3. В какой момент хочется увидеть результат?

Вангую:
1. Это модуль формы непонятного субъекта, у которого имеется реквизит "Организация". На форме расположены реквизиты формы "Контрагент" и "Договор".
2. Наверняка это какая-то кнопка с командой, которая переписывает объекты Договора и Контрагента.
3. Результат хочется видеть сразу на форме, но понятное дело, что так не получится. Необходимо после выполнения переименования перечитать данные формы, чтобы на нее подтянулись новые значения, записанные в БД.

PS. Обожаю работать с новичками с их самописками - они такие смешные: че попало понапишут, а потом нормально объяснить не могут своих целей и ожиданий от своих чудес.
14. fugu 23 10.12.20 15:20 Сейчас в теме
1. Код - внешняя обработка
2. запускается вручную.
3. после того, как код Выше отработал, я открываю, справочник.Контрагента и справочник.ДоговорКонтрагента.
15. fugu 23 10.12.20 16:14 Сейчас в теме
Сработал код в форме обработки:

ОповеститьОбИзменении(Договор);
16. ab_initio 95 10.12.20 17:03 Сейчас в теме
(15) несколько странно, но тоже хорошо ))
17. FatPanzer 10.12.20 17:14 Сейчас в теме
(16) Ну так он для ранее открытых форм и срабатывает. Как я и предполагал - чувак ждет обновления в уже открытых формах, и поэтому идет в них же и "перевыбирает" новые значения. Но написать этого своего желания буквами он не умеет.
Оставьте свое сообщение

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