|
Запись реквизита документа. | ☑ | ||
---|---|---|---|---|
0
Vasya1c
12.10.19
✎
10:59
|
Здравствуйте, есть простенький вопрос.
Необходимо через доп реквизит документа, записать в реквизит Расш1_ПоследнийРедактор_(СправочникСсылка.Пользователи) пользователя который записывает документ, реквизит выведен на форму. В модуле формы док-та пишу &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ИмяПользователь=ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя; КонтрагентДляПоиска = Справочники.Пользователи; ЭтотОбъект.Расш1_ПоследнийРедактор_=КонтрагентДляПоиска.НайтиПоНаименованию(ИмяПользователь); Сообщить(ЭтотОбъект.Расш1_ПоследнийРедактор_); В отладчике ЭтотОбъект.Расш1_ПоследнийРедактор_ , все прекрасно то что нужно и сообщить тоже правильно выводит, но при открытии документа остается в этом реквизите старое значение. |
|||
1
ads55
12.10.19
✎
11:56
|
ЭтотОбъект.Записать();
|
|||
2
Фрэнки
12.10.19
✎
12:11
|
Э... В модуле формы ЭтотОбъект ?!
Если обращаешься в контексте "на сервере" в модуль формы, т.е. это все-таки Форма - у формы есть реквизиты Формы, а значение из реквизита получается вызовом соотв. функции. |
|||
3
Vasya1c
12.10.19
✎
12:12
|
Добавил в конце
ЭтотОбъект.Записать(); При попытке записать документ программа крашится, нажимаю записать она думает и закрывается без всяких окон. а так, все работает )) //ЭтотОбъект.Записать(); |
|||
4
Фрэнки
12.10.19
✎
12:19
|
Какой тип у этого ЭтотОбъект ? - глянь, не поленись, пжл
|
|||
5
Vasya1c
12.10.19
✎
12:25
|
ЭтотОбъект ФормаКлиентскогоПриложения
|
|||
6
Фрэнки
12.10.19
✎
12:33
|
и? извиняюсь за мой французский - какой смысл в записи Формы? Она же не доступна для записи, т.к. пишется из режима конфигурировании.
|
|||
7
Фрэнки
12.10.19
✎
12:36
|
Тебе же Объект в виде документа нужен или что?
|
|||
8
Vasya1c
12.10.19
✎
12:38
|
Фрэнки, я туплю
переделал так, но не записывается. Объект.Расш1_ПоследнийРедактор_=КонтрагентДляПоиска.НайтиПоНаименованию(ИмяПользователь); Объект тип значения ДанныеФормыСтруктура |
|||
9
Vasya1c
12.10.19
✎
12:38
|
Мне нужно записать в реквизит значение и я пытаюсь это сделать.
|
|||
10
Vasya1c
12.10.19
✎
13:00
|
Ребята спасибо, раньше работал с 7.7 пока много непонятного , прочитал https://helpf.pro/faq82/view/1283.html и понял.
Мне нужен был модуль объекта, ПередЗаписью Все ок |
|||
11
Фрэнки
12.10.19
✎
13:03
|
Не совсем понимаю логику установки некоего значения в форме в событии ПередЗаписью - может это не совсем логично? Не знаю.
Но допустим, что у твоей Формы есть реквизит Объект --- ОбъектЗначение = РеквизитФормыВЗначение("Объект"); // можно еще вторым параметром Тип этого объекта указать явно. ОбъектЗначение.Расш1_ПоследнийРедактор_ = КонтрагентДляПоиска.НайтиПоНаименованию(ИмяПользователь); ЗначениеВРеквизитФормы(ОбъектЗначение, "Объект"); --- С другой стороны, как ты сам уже написал, что тоже самое в модуле Объекта и в ПередЗаписью сделать намного удобней |
|||
12
Vasya1c
12.10.19
✎
13:32
|
Фрэнки, благодарю за помощь
|
|||
13
RomanYS
12.10.19
✎
13:37
|
(11) Зачем в такой ситуации РеквизитФормыВЗначение-ЗначениеВРеквизитФормы?
Чем это лучше простого Объект.Расш1_ПоследнийРедактор_ = ... ? |
|||
14
Фрэнки
12.10.19
✎
13:48
|
(13) А есть непростые примеры, на которых можно прямо, явно и однозначно увидеть, что пара методов
РеквизитФормыВЗначение - ЗначениеВРеквизитФормы заведомо лучше прямого обращения к полям Реквизита формы через точку? Под руками у меня ничего готового нет, кроме одного пояснения, что в Объект установлен тип значения ДанныеФормыСтруктура |
|||
15
RomanYS
12.10.19
✎
13:55
|
(14) Ну я только одну причину для таких преобразований вижу: вызов методов объекта. По самим полям ДанныеФормыСтруктура вполне соответствует объекту, а те свойства, которых нет в ДФС (например, ДополнительныеСвойства) всё равно потеряются при ЗначениеВРеквизитФормы.
|
|||
16
Rovan
гуру
12.10.19
✎
14:36
|
может лучше
ТекущийОбъект.Реквизит = ... |
|||
17
Фрэнки
12.10.19
✎
15:09
|
(16) может и лучше...
Как думаешь, вот эта запись ниже произвольная или жестко предопределенная? --- В модуле формы док-та пишу &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) |
|||
18
RomanYS
12.10.19
✎
15:18
|
(16) Если реквизит не выведен на форму, то лучше. Если выведен то лучше
&НаСервере Процедура ПередЗаписью(...) Объект.Реквизит = ... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |