Имя: Пароль:
1C
 
Установка ответственного при копировании документа
0 NIGHTHUNTER
 
13.10.22
12:52
Подскажите пожалуйста где устанавливается ответственный при копировании документа?

Задача в том, что бы при копировании документа, не перетаскивался его создаваемый. я прописывался текущий пользователь.

Подскажите пожалуйста в какой процедуре это делается. ERP.
1 mistеr
 
13.10.22
12:55
ОбработкаЗаполнения, скорее всего
2 Kassern
 
13.10.22
12:55
(0) Модуль объекта, ПриКопировании(ОбъектКопирования)
3 AlexYAT
 
13.10.22
12:56
В модуле объекта
<code>
Процедура ПриКопировании(ОбъектКопирования)
    
    Ответственный = Пользователи.ТекущийПользователь();
</code>
4 Kassern
 
13.10.22
12:56
Процедура ПриКопировании(ОбъектКопирования)
    
    Ответственный    = Пользователи.ТекущийПользователь();
    Автор            = Пользователи.ТекущийПользователь();

КонецПроцедуры
5 mistеr
 
13.10.22
12:56
(1) Да, это было мимо :)
6 NIGHTHUNTER
 
13.10.22
12:58
Ясно, значит это менять в процедуре при копировании. Есть такие в модуле документа.
7 Мультук
 
гуру
13.10.22
13:18
(2) Хех была у меня одна задачка.
УТ 11.5 Документ "Заказ клиента", поле "Автор" заполняется


1) В модуле документа "Обработка заполнения"
Автор = Пользователи.АвторизованныйПользователь();

2) в модуле документа событие "ПередЗаписью"

   Если ЭтоНовый() И Не ЗначениеЗаполнено(Автор) Тогда
       Автор = Пользователи.АвторизованныйПользователь();
   КонецЕсли;


3) Подписка "УстановитьАвтораОбъекта" на событие "ПередЗаписью"

   Если Не ЗначениеЗаполнено(Источник.Ссылка) Тогда
       Источник.Автор = Пользователи.АвторизованныйПользователь();
   КонецЕсли;

P.S.
Подписка, я так понимаю, "контрольный выстрел" ? :-)
Код типовой
8 Dmitrii
 
гуру
13.10.22
15:28
(7) >> Подписка, я так понимаю, "контрольный выстрел"?

И да, и нет.
Не у каждого документа в модуле объекта в обработчике ПередЗаписью есть (может быть, а может и не быть) код для заполнения реквизита Автор.
А подписка УстановитьАвтораОбъекта в качестве источника имеет все документы с этим реквизитом.

И кстати решение с подпиской УстановитьАвтораОбъекта не самое лучшее.
Иногда может быть необходимость указать автором документа вовсе не авторизованного пользователя, а какого-либо другого. При массовых загрузках данных, например.
А тут даже проверки нет ЗначениеЗаполнено(Источник.Автор), и реквизит заполняется принудительно.

С этими реквизитами типа Автор/Ответственный/Менеджер в документах часто не всегда очевидная логика применения.
Пользователям иногда хочется указать ответственным или автором документа не текущего пользователя. И на это навешивается какая-то бизнес-логика процессов.
9 Мультук
 
гуру
13.10.22
16:01
(8)

Как-то раз? я встретил в дописанной УТ, некую проверку на подразделение и комментарий 1c-ника:

- "Да, это очередная проверка. Чуть выше, есть еще две точно такие же, но у меня есть тех.задание и мне за это заплатят."
10 Dmitrii
 
гуру
13.10.22
16:33
(9) Чтобы осуждать или оправдать автора этих комментариев нужно знать подробности.

С установкой реквизита Автор в документах через подписку, не смотря на наличие аналогичного кода в модуле объекта, всё таки определенная логика есть. Подписка делалась на все документы, где есть реквизит Автор, без оглядки на наличие кода в модулях этих документов. Или автор кода обработчика ПередЗаписью в модуле документа не был в курсе существования подписки, которая устанавливает значение реквизита. А аудиторы прошляпили и пропустили.

А есть какая-то логика в проверке на подразделение или её нет совсем - надо смотреть.