Изменение реквизита тч документа

1. SnakePlisskin 3 29.07.22 16:30 Сейчас в теме
Доброго дня! Пытаюсь из модуля проведения, одного документа, изменить в ТЧ другого документа один реквизит (может как раз в этом и косяк, так как проведение выполняется в транзакции записи). Но попытки безуспешны, ошибок нет, но ничего не меняется.
Вот собственно код, в чем ошибка ?
				Отбор = Новый Структура();
				Отбор.Вставить("Номенклатура", ТекСтрокаМатериалы.Номенклатура);
				НайденноеЗначение = ТекСтрокаМатериалы.ЗаявкаНаМатериалы.ЗаказНаПроизводство["Резервы"].НайтиСтроки(Отбор);
				Если НайденноеЗначение.Количество() > 0 Тогда		// нашли
					НомерСтроки = НайденноеЗначение[0].НомерСтроки;
					//****
					СсылкаНаСклад = Справочники.Склады.НайтиПоНаименованию(Склад.Наименование);
					СсылкаОбъект = СсылкаНаСклад.ПолучитьОбъект();
					//****
					МенеджерСсылка = ТекСтрокаМатериалы.ЗаявкаНаМатериалы.ЗаказНаПроизводство;
					МенеджерОбъект = МенеджерСсылка.ПолучитьОбъект();
					СтрокаДляИзменения = МенеджерОбъект.Резервы[НомерСтроки-1];
					СтрокаДляИзменения.BS_Склад = СсылкаОбъект;
					Попытка
					МенеджерОбъект.Записать();
					Исключение
					КонецПопытки;					
				КонецЕсли;

Показать
По теме из базы знаний
Найденные решения
2. Prikum 3 29.07.22 16:38 Сейчас в теме
(1)
в чем ошибка ?

 СтрокаДляИзменения.BS_Склад = СсылкаОбъект;
Мне кажется надо ссылку здесь ставить, а не объект.
ryutao; user1278383; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Prikum 3 29.07.22 16:38 Сейчас в теме
(1)
в чем ошибка ?

 СтрокаДляИзменения.BS_Склад = СсылкаОбъект;
Мне кажется надо ссылку здесь ставить, а не объект.
ryutao; user1278383; +2 Ответить
3. SnakePlisskin 3 29.07.22 16:43 Сейчас в теме
4. FatPanzer 29.07.22 17:02 Сейчас в теме
За одно только наименование переменной "СсылкаОбъект" надо бить по рукам...
aka Любитель XML; +1 Ответить
5. SnakePlisskin 3 29.07.22 17:06 Сейчас в теме
(4) дело не в названии, лепилось быстро, после взлета все будет как надо )
6. FatPanzer 29.07.22 17:07 Сейчас в теме
(5)
после взлета все будет как надо )
Это если только сумеете приземлиться...
7. SnakePlisskin 3 29.07.22 17:10 Сейчас в теме
(6) уже все поправил, не переживайте!
8. FatPanzer 29.07.22 17:16 Сейчас в теме
(7) Я? Переживать за вас??? Не берите на себя так много...
Это я еще про остальной код не высказывался. В частности про использование НомерСтроки. Скоро приземлитесь очень жестко. Может даже и не взлетая.
9. SnakePlisskin 3 29.07.22 17:17 Сейчас в теме
(8) что не так с номеромстроки ?
10. FatPanzer 29.07.22 17:20 Сейчас в теме
(9) Он может изменяться...
15. FatPanzer 29.07.22 17:25 Сейчас в теме
(8) Вот тебе уже и про ссылку Склада навтыкали...
12. Prikum 3 29.07.22 17:24 Сейчас в теме
(7)
 СсылкаНаСклад = Справочники.Склады.НайтиПоНаименованию(Склад.Наименование);

Непонятная конструкция, Склад содержит ссылку на справочник, в нем же ищем по наименованию, почему бы сразу не взять ссылку? Если в справочнике дохрена элементов с одинаковым названием, то не факт что будет возвращать все время одно и тоже. Причем некомильфо вообще использовать найтиПоНаименанию
FatPanzer; +1 Ответить
11. aka Любитель XML 29.07.22 17:23 Сейчас в теме
(1) это для чего сделано?:
СсылкаНаСклад = Справочники.Склады.НайтиПоНаименованию(Склад.Наименование);
СсылкаОбъект = СсылкаНаСклад.ПолучитьОбъект();

Почему не сделать так:

СсылкаОбъект = Склад.ПолучитьОбъект()?

Или у тебя в "Склад" по факту не склад?
13. FatPanzer 29.07.22 17:24 Сейчас в теме
(11) Тссс! Это чтобы враги не догадались!!!
14. Prikum 3 29.07.22 17:25 Сейчас в теме
(11)
СсылкаОбъект = Склад.ПолучитьОбъект()?
и главное что потом этот объект не нужен.
16. FatPanzer 29.07.22 17:26 Сейчас в теме
(14) Главное - засрать память и производительность сервера!!!
18. Prikum 3 29.07.22 17:27 Сейчас в теме
(16)
Главное - засрать память и производительность сервера!!!

не думаю, что это работает на высоконагруженных системах. Хотя конечно лучше сразу учится писать правильно.
19. FatPanzer 29.07.22 17:29 Сейчас в теме
(18) Зачем сразу писать правильно? Главное взлететь!
лепилось быстро, после взлета все будет как надо )
Сразу видно опытного летчика, да ещё и в форме...
17. aka Любитель XML 29.07.22 17:27 Сейчас в теме
(14) хз зачем он получает объект, чтобы потом его засунуть сюда ))
СтрокаДляИзменения.BS_Склад = СсылкаОбъект;
20. Prikum 3 29.07.22 17:29 Сейчас в теме
(17)
чтобы потом его засунуть сюда

Это автор поспешил просто.

Интересно а кто из нас не писал гавнокодом?
21. aka Любитель XML 29.07.22 17:32 Сейчас в теме
(20)
Интересно а кто из нас не писал гавнокодом?


Не ошибается только тот, кто ничего не делает (С).
23. FatPanzer 29.07.22 17:52 Сейчас в теме
(21) Обычно ошибается тот, кто даже не пытается что-то сделать.
22. FatPanzer 29.07.22 17:50 Сейчас в теме
(20) Писать и хвастаться публике - разные вещи. Чел 14 лет на форуме. Или он предыдущие 13,5 лет был консультантом-методологом?
Оставьте свое сообщение

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