Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:30

Автор - редактирания документа

Автор EritikWoW, 19 мар 2012, 04:13

0 Пользователей и 1 гость просматривают эту тему.

EritikWoW

Покапался в базе нашел одну замечательную вещь как "Журнал регистрации"
Так вот моя мысль все таже но более понятно донесу ее до вас...
Нужно следующие:

Есть документ:



В нем есть и ответственный и все... щас суть не в этом...
Как вы видите я уже добавил графу "Автор" но теперь дальше...
Журнал регистрации я затронул потому что наткнлся на обработчики "Приходно кассового ордера"
Хотелось бы узнат возможно ли зделать подобный обработчик что бы после "Автор:" было выподающие меню с пользователями...



И на основании выбранного пользователя выставлялась дата о последнем изменении данного документ данным пользователем...



Если кого то это заинтересует и займеться этим или просто кто то знает как это реализовать подскажите плз...

p.s. Нужно для того что бы не было неразберихи... в том кто редактировал документ ибо есть любители накасячить в нем а кто именно не известно а ответственный ну как понятно из названия несет за это ответственость... но к сожелению ограничиь рава на доступ не моу по причине того что доступ нужен всем...
Или же проще не выпадающие меню... а хотя бы инфо о том кто последним из пользователей его редактировал(проводил) и т.д......

sadovod

Совсем необязательно вручную выбирать автора документа. В глобальном контексте есть функции ИмяПользователя(), возвращающая имя пользователя, указанного при запуске программы, и  ТекущаяДата(). Можете использовать их, например, в ОбработкеПроеведения() для записи нужных Вам данных.
И что касается Журнала Регистрации... По умолчанию системой записывается в него минимально необходимый набор данных. Но, его можно существенно расширить программным путём. В синтакс-помощнике есть раздел "Процедуры и функции работы с журналом регистрации", там можно найти способы программной работы с Журналом. Та, например, в Журнал можно записывать, кто и когда изменял, удалял или добавлял данные...


Dethmontt

Желательно писать в посте что за конфигурация...
Пользователь = ОбщегоНазначения.глЗначениеПеременной("глТекущийПользователь")// КА, УПП
Или
Пользователь = ТекущийПользователь();
ЗаписьЖурналаРегистрации();

ЗаписьЖурналаРегистрации (WriteLogEvent)
Синтаксис:

ЗаписьЖурналаРегистрации(<ИмяСобытия>, <Уровень>, <ОбъектМетаданных>, <Данные>, <Комментарий>, <РежимТранзакции>)
Параметры:

<ИмяСобытия> (обязательный)

Тип: Строка.
Событие указывается строкой. Может содержать точки для обозначение иерархии событий.
Запрещена запись событий использующих сочетания символов "_$" и "$_", зарезервированные для системных событий. Например: _$МоеСобытие$_ или _$МояГруппаСобытий$_.МоеСобытие.
<Уровень> (необязательный)

Тип: УровеньЖурналаРегистрации.
Уровень важности события.
Значение по умолчанию: Примечание
<ОбъектМетаданных> (необязательный)
Объект метаданных, к которому относится событие.
<Данные> (необязательный)

Тип: Произвольный.
Данные, с которыми связано событие.
Рекомендуется указывать ссылки на объекты данных (элементы справочников, документы, к которым относится событие).
<Комментарий> (необязательный)

Тип: Строка.
Произвольная строка комментария к событию.
Значение по умолчанию: Пустая строка
<РежимТранзакции> (необязательный)

Тип: РежимТранзакцииЗаписиЖурналаРегистрации.
Указывает отношение записи к текущей транзакции.
Значение по умолчанию: Независимая
Описание:

Записывает событие в журнал регистрации.
Предназначен для записи дополнительных событий, которые не записываются системой.
Средствами встроенного языка не могут записываться системные события, записываемые при записи объектов, удалении и т.д.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

ЗаписьЖурналаРегистрации("ИнформационнаяБаза.ОбновлениеИБ",
        УровеньЖурналаРегистрации.Информация, , ,
        "Выполнено " + СтрСообщения);

ПРОДАМ СИНТАКСИС ПОМОЩНИК ДЕШЕВО!!!!!!!!!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

unanted

а как сделать чтобы автор созданного  документа выходил?

cska-fanat-kz

выходил... куда?

1. на печать
2. на форму
3. из себя
4. из кабинета
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

unanted

отображался в документе, то бишь чтобы было видно кто создал документ, изменил его и дата последнего изменения документа

sadovod

Есть несколько вариантов решения этой задачи.
Например, добавить в документ реквизиты 'Автор', 'Редактор', 'ДатаИзменения' и заполнять их в соответствующих обработчиках событий модуля объекта (ОбработкаЗаполнения(), ПередЗаписью() ). Мне такой вариант категорически не нравится, потому как избыточно дублирует то, что система делает сама в журнале регистрации, его нужно лишь соответствующим образом настроить. Но зато капризный начальник может сразу видеть, кто и как накосячил :)
И ещё есть такой вариант решения - указать в параметре запуска ключ /LogUI - все действия пользователя будут логироваться в текстовом файле. Только сейчас не помню, в каком каталоге это пишется, при желании легко гуглится...

cska-fanat-kz

Вариантов - километр!

К примеру...
Завести регистр сведений МойЖурналРегистрации с измерениями - Документ и Пользователь и ресурсом Действие.
Периодичность - ПоПозицииРегистратора.
И в событии ПередЗаписью() его заполнять...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

unanted

ого, я думал есть вариант попроще, типа включить *параметр в конфигураторе

Цитата: cska-fanat-kz от 05 июн 2012, 08:45
Вариантов - километр!

К примеру...
Завести регистр сведений МойЖурналРегистрации с измерениями - Документ и Пользователь и ресурсом Действие.
Периодичность - ПоПозицииРегистратора.
И в событии ПередЗаписью() его заполнять...

а можно подробнее?

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск