Не могу изменить наименование договора

1. Bagrick 05.05.15 09:59 Сейчас в теме
Добрый день! У контрагента есть договор, необходимо изменить наименование договора. В форме договора наименование доступно для редактирования, меняю его, нажимаю кнопку "Записать и закрыть" или просто "Записать", а в договоре остается старое наименование. Для других договоров этого же контрагента - все меняется, для других контрагентов - тоже все хорошо. Не знаю в какую сторону копать, подскажите, пожалуйста, с чем это может быть связано, куда посмотреть. Заранее спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. anterehin 15 05.05.15 10:03 Сейчас в теме
(1) Bagrick, Может он стоит Основным и это мешает? либо по договору есть движения и не дает менять. А лучше отладчиком глянуть просто при записи и все. С конфигурацией не работал поэтому точно не скажу. Но если в коде разбираетесь, то проще самому посмотреть.
10. Bagrick 05.05.15 12:55 Сейчас в теме
(2) anterehin, Флаг "Основной" не влияет на изменение наименования, наличие документов - тоже.
(3) cheiser1982, Элемент не является предопределенным, поэтому должен отрабатывать как любой другой договор.

Сижу в отладчике, но никак не могу выловить ошибку. Процедуры "ПриЗаписи" нет. В процедуре "ПослеЗаписи" в форме договора объект.наименование в поле значение стоит новое название, а если посмотреть объект.ссылка, то значение выдает старое наименование. Для других договоров объект.наименование и объект.ссылка в поле значение совпадают.
11. cheiser1982 237 05.05.15 13:10 Сейчас в теме
(10) Bagrick, попробуй выполнить тестирование и исправление информационной базы.
13. Bagrick 05.05.15 13:28 Сейчас в теме
(11) cheiser1982, ТиС сделала, все тоже самое.
(12) anterehin, в модуле объекта смотрела, есть только процедура "ПередЗаписью". Полезла в модуль формы, чтобы посмотреть, может там есть процедура "ПриЗаписи"
14. anterehin 15 05.05.15 13:30 Сейчас в теме
(13) Bagrick, Так и смотрите что у вас в модуле объекта "ПередЗаписью" , если что то и есть то 90% что там.
15. Bagrick 05.05.15 13:31 Сейчас в теме
(14) anterehin, на выходе из этой процедуры ссылка на объект все еще старая, все измененные реквизиты - новые
16. anterehin 15 05.05.15 13:33 Сейчас в теме
(15) Bagrick, Кстати посмотрите нет ли каких подписок на событие.
17. cheiser1982 237 05.05.15 13:39 Сейчас в теме
(13) Bagrick, может вообще забить на поиск этого глюка и внести изменения с помощью обработки?
Что нибудь типо этого:

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

Показать
18. anterehin 15 05.05.15 13:41 Сейчас в теме
(17) cheiser1982, А разве если проверка в модуле объекта этот код прокатит?
19. cheiser1982 237 05.05.15 13:45 Сейчас в теме
(18) anterehin, я со своей внешней обработки этот код взял. И он находится в модуле формы а не объекта. Да и зачем вообще его в конфиг запихивать.
20. anterehin 15 05.05.15 13:46 Сейчас в теме
(19) cheiser1982, нет я про то что вы меняете объект, и если стоит проверка в модуле объекта то ваш код не даст поменять.
21. Bagrick 05.05.15 13:46 Сейчас в теме
(17) cheiser1982, (18) anterehin, обработка такая не работает, я ее попробовала еще до того, как искать проблему. Так что вероятно ошибка действительно где-то в модуле притаилась. Ищу дальше(
22. cheiser1982 237 05.05.15 13:51 Сейчас в теме
(21) Bagrick, что вообще за конфигурация у вас тогда. Этот код без проблем работает на последнем релизе БП 3.0. На форме обработки создайте реквизит с выбором нужного договора и кнопку выполняющую команду (к примеру "ВыполнитьОбработку"), и из этой команды вызовите написанную мной функцию.
23. Bagrick 05.05.15 13:52 Сейчас в теме
(22) cheiser1982, под фразой "обработка такая не работает" я имела ввиду, что в итоге наименование у договора не меняется. А конфа у меня БП 3.0.39.62
24. Alex_E 2384 05.05.15 13:58 Сейчас в теме
(21) Bagrick, Прям интересно было посмотреть на базу, а из обработки исключить всяческие проверки в модуле легко, в том же тексте из (17) перед строкой добавить ДоговорОбъект.Записать(); строчку:
&НаСервереБезКонтекста
Функция РедактироватьДоговор(Договор);
    ДоговорОбъект = Договор.ПолучитьОбъект();
    ДоговорОбъект.Наименование    = "Новое наименование";

    ДоговорОбъект.ОбменДанными.Загрузка = Истина; // добавить для исключения всяческих проверок :-)

    ДоговорОбъект.Записать();
    Возврат ДоговорОбъект.Ссылка;
КонецФункции
Показать
25. cheiser1982 237 05.05.15 14:01 Сейчас в теме
26. Bagrick 06.05.15 07:42 Сейчас в теме
(24) Alex_E, спасибо! Действительно, именно эта строчка в коде и помогла. С удовольствием бы поделилась базой, т.к. самой очень интересно, но, увы
12. anterehin 15 05.05.15 13:13 Сейчас в теме
(10) Bagrick, такие проверки делаются не в модуле формы , а в модуле объекта.
3. cheiser1982 237 05.05.15 11:05 Сейчас в теме
(1) Bagrick, возможно данный элемент является предопределенным. Тогда сможешь изменить только из конфигуратора.
4. anterehin 15 05.05.15 11:07 Сейчас в теме
(3) cheiser1982, Это как? купил конфигурацию, а там уже контрагенты с договорами занесены?
5. cheiser1982 237 05.05.15 11:32 Сейчас в теме
(4) anterehin, я не вижу в его вопросе фразы "купил конфигурацию". Если она дорабатывалась, то такое вполне возможно.
6. anterehin 15 05.05.15 11:38 Сейчас в теме
(4) anterehin, Спорить не буду.. но топик создан в ветке Бухгалтерия 3.0.

Я все же склоняюсь к тому что нужно смотреть код.
7. cheiser1982 237 05.05.15 11:54 Сейчас в теме
(6) anterehin, у нас тоже стоит БП 3.0, но я ее дорабатывал под работу с отделом водосбыта нашей организации. Причем таким образом, чтобы изменения как можно меньше затрагивали штатные средства и т.о. не возникало слишком большого "гемороя" при обновлении.
8. cheiser1982 237 05.05.15 11:56 Сейчас в теме
(6) anterehin, а что касается флага "основной", то это абсолютно не влияет на редактирование.
9. Chameleon1980 05.05.15 12:01 Сейчас в теме
да отладчик самое верное средство
Оставьте свое сообщение

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