Как изменять ответственного в документе на того, кто последний меняет данные на форме.

1. Airat116 09.11.20 08:53 Сейчас в теме
Здравствуйте. Прошу помочь с кодом, задача состоит в том, что бы в документе "Банковские выписки" в поле ответственный ставилось имя пользователя, который изменил реквизит и записал-провёл документ (точнее даже кто последний изменил документ)
Бухгалтерия предприятия, редакция 2.0
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. 1ctalik 09.11.20 08:57 Сейчас в теме
Создай Подписку на событие ПередЗаписью.
Там
Если Источник.ОбменДанными.Загрузка=Истина Тогда
Возврат;
КонецЕсли;
Если Отказ=Истина Тогда
Возврат;
КонецЕсли;
Если Не РежимЗаписи=РежимЗаписиДокумента.ОтменаПроведения Тогда
Источник.Ответственный=ПараметрыСеанса.ТекущийПользователь;
КонецЕсли;

Если и при отмене проведения нужно менять, то убери лишнее условие
8. user633533_encantado 11 09.11.20 10:07 Сейчас в теме
(7) Да просто включите версионирование объекта при записи и не надо ничего дорабатывать.
11. 1ctalik 09.11.20 10:16 Сейчас в теме
(10) Простой пример, дальше сам

Метаданное = Источник.Ссылка.Метаданные();
Для каждого Реквизит из Метаданное.Реквизиты Цикл
        Если Не Источник[Реквизит.Имя] = Источник.Ссылка[Реквизит.Имя] Тогда
          УраРеквизитИзменился=Истина;
        КонецЕсли;
    КонецЦикла;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. 1ctalik 09.11.20 08:57 Сейчас в теме
Создай Подписку на событие ПередЗаписью.
Там
Если Источник.ОбменДанными.Загрузка=Истина Тогда
Возврат;
КонецЕсли;
Если Отказ=Истина Тогда
Возврат;
КонецЕсли;
Если Не РежимЗаписи=РежимЗаписиДокумента.ОтменаПроведения Тогда
Источник.Ответственный=ПараметрыСеанса.ТекущийПользователь;
КонецЕсли;

Если и при отмене проведения нужно менять, то убери лишнее условие
3. Airat116 09.11.20 09:03 Сейчас в теме
(2) Хорошо, сейчас попробую сделать
4. starjevschik 09.11.20 09:45 Сейчас в теме
Тут нужен еще анализ на изменение документа, если задание сформулировано верно. Не просто записал документ, а
кто последний изменил документ

И почему здесь речь об одном реквизите?
А как именно это сделать, подпиской, не подпиской, это вопрос следующий, не такой важный.
5. 1ctalik 09.11.20 09:49 Сейчас в теме
(4) В подписке Перед записью нет проблемы посмотреть есть ли изменение реквизита (конкретного или всех)
6. FatPanzer 09.11.20 09:55 Сейчас в теме
(4) "- Вы что же, и жевать за меня будете? - Конечно!" (С)
Я думаю, автор знает как сравнить реквизиты. Ну по-крайней мере он интересовался только полем "Ответственный" (будет смешно, если это и останется единственным измененным реквизитом).
То есть для него важен именно этот вопрос. Вопросы целесообразности и логических подходов предлагаю пропустить. Пусть с инструментарием разберется сначала )))
7. Airat116 09.11.20 10:01 Сейчас в теме
(6) Задача была такая, если в документе что то меняют и записывают-проводят
Тогда ставить ответственного того кто изменил документ.
"Пусть с инструментарием разберется сначала" - что за инструментарий?
По идее ответственный должен заполняться при создании документа, в справочнике пользователи там должен стоять ответственный, но тут просят сделать так как они хотят
8. user633533_encantado 11 09.11.20 10:07 Сейчас в теме
(7) Да просто включите версионирование объекта при записи и не надо ничего дорабатывать.
9. FatPanzer 09.11.20 10:08 Сейчас в теме
(7) Ответы выше даны. Твой вопрос был не "если изменяют", а "который изменяет".
10. Airat116 09.11.20 10:14 Сейчас в теме
11. 1ctalik 09.11.20 10:16 Сейчас в теме
(10) Простой пример, дальше сам

Метаданное = Источник.Ссылка.Метаданные();
Для каждого Реквизит из Метаданное.Реквизиты Цикл
        Если Не Источник[Реквизит.Имя] = Источник.Ссылка[Реквизит.Имя] Тогда
          УраРеквизитИзменился=Истина;
        КонецЕсли;
    КонецЦикла;
12. Airat116 09.11.20 10:17 Сейчас в теме
13. 1ctalik 09.11.20 10:28 Сейчас в теме
(12) Поставь 2 и 11 ответ как найденное решение, чтоб тем, у кого такой же вопрос, было легче.
14. Airat116 09.11.20 10:34 Сейчас в теме
Оставьте свое сообщение

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