![]() |
|
Программное добавление/изменение дополнительных реквизитов | ☑ | ||
---|---|---|---|---|
0
logman
11.10.21
✎
12:04
|
Всем добрый день!
Уже несколько дней мучаюсь с доп. реквизитам в ERP К примеру, вот такой код, по непонятным мне причинам не работает: СкладскаяЯчейка = ЛК_ДоработкиПечатныхФормСервер.ПолучитьЯчейкуПоНомеруПартии(ВыбранноеЗначение.Наименование, Объект.Дата); ДопРеквизитРезервуар = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Резервуар"); ДокументОбъект = РеквизитФормыВЗначение("Объект"); НайденныйДопРеквизит = ДокументОбъект.ДополнительныеРеквизиты.НайтиСтроки(Новый Структура("Свойство", ДопРеквизитРезервуар)); Если НайденныйДопРеквизит.Количество() Тогда СтрокаТЧ = НайденныйДопРеквизит[0]; Иначе СтрокаТЧ = ДокументОбъект.ДополнительныеРеквизиты.Добавить(); СтрокаТЧ.Свойство = ДопРеквизитРезервуар; КонецЕсли; Если СкладскаяЯчейка <> Неопределено Тогда СтрокаТЧ.Значение = СкладскаяЯчейка; Иначе СтрокаТЧ.Значение = Справочники.СкладскиеЯчейки.ПустаяСсылка(); КонецЕсли; ДокументОбъект.Записать(); ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); Смотрю отладчиком, в тч ДополнительныеРеквизиты все нормально добавляется, но на форме поле доп. реквизита остается пустым А после ручной записи документа, добавленная строка в тч вовсе исчезает В чем может быть проблема? (УправлениеСвойствами.ЗаписатьСвойстваУОбъекта не предлагать, ругается на странную блокировку этого документа мной же, в базе кроме меня никого) |
|||
1
sqr4
11.10.21
✎
12:15
|
а зачем ты используешь вот это "ДокументОбъект = РеквизитФормыВЗначение("Объект"); " Когда табличная часть доступна и через Объект. А после того как добавишь, нужно будет инициализировать функцию, с помощью которой, заполнится отображение доп реквизита на форме, записывать тут не зачем.
Или вообще нужно понять, какое поле на Форме связано с твоим доп реквизитом и изменять его и вызывать необходимые обработчики изменения этого поля. Т.е так как ты сейчас пытаешься сделать, не подойдет. Т.к в момент закрытия формы происходит "переброска" значений связанных полей на Форме, в значение ТЧ ДополнительныеРеквизиты. А так как связанные поля у тебя не заполнены, добавленная строка в ТЧ и исчезает. |
|||
2
banco
11.10.21
✎
12:15
|
(0) УправлениеСвойствами.ЗаполнитьДополнительныеРеквизитыВФорме
|
|||
3
logman
11.10.21
✎
13:19
|
(2) У меня этот код выполняется в событии обработки выбора поля табличной части, теперь доп. реквизит заполняется, но поле табличной части остается неизменным, пробовал прежде чем вызывать эту процедуру из общего модуля, записывать документ, но не помогло:(
|
|||
4
Документовед
11.10.21
✎
13:22
|
Это потому что ты работаешь с ОБъектом, а тебе надо с формой.
https://infostart.ru/1c/articles/867282/ |
|||
5
logman
11.10.21
✎
15:22
|
Всем большое спасибо за помощь!
С помощью (4) ссылки получилось, правда муторно это всё |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |