Имя: Пароль:
1C
 
Автор проведения
0 loginbox
 
12.05.10
17:36
Стоит ТиС. В базе сделано так что некоторые документы могут проводить только определенные пользователи.(например перемешения менеджеров только кладовшики и выше стояшее руководство). Возникла потребность знать кто провел тот или иной документ. Пока в голову пришло завести в эти документы реквизит справочники-пользователи и при проведение после того как документ проведен присваивать значение автора который провел этот документ. Может кто сталкивался с такими задачами, может будут другие предложения как это организовать, в будущем скорее всего будут под это дело придуманы какие нибудь отчеты(кто знает что в голову прийдет руководству)  :) И если сделать как выше описано, то новое поле об пользователе кто провел документ лучше внести в общий журнал или создать дополнительный?
1 noxxx
 
12.05.10
17:37
Журнал регистрации не?
2 zak555
 
12.05.10
17:38
(0) хранить историю перепроведения ?
3 КапЛей
 
12.05.10
17:40
дальше захочется чтобы было видно кто из пользователей что менял при перепроведении и всю историю... Есть решение...
4 zak555
 
12.05.10
17:41
(3) всё в БД одной хранить ?
5 Jstunner
 
12.05.10
17:42
(0)Если нужно просто, "кто провел?", то оптимальное решение - регистр оборотов.
Если история - то лучше сразу строить механизм версионирования.
6 КапЛей
 
12.05.10
17:44
(4) внешнее хранение в тхт.
7 zak555
 
12.05.10
17:45
(6) тогда проще не в тхт, а написать мини-конфу !
8 КапЛей
 
12.05.10
17:47
зачем? все работает на не одном десятке клиентов. все довольны аж бегом. И главное при обновлении никак не затрагивается механизм этот... Уже лет пять им пользуюсь.
9 Shaman100M
 
12.05.10
17:51
к вопросу в (0) - ОбщийРеквизитДокумента, "АвторПроведения", тип Справочник.Сотрудники, в процедуру в гл. модуле, которая вызывается из любого модуля проведения, например, в глПриПроведении() добавляешь строчку Конт.АвторПроведения = глПользователь
10 Shaman100M
 
12.05.10
17:52
+ (9) не забыть "узнать" интерактивный способ проведения
11 zak555
 
12.05.10
17:53
(9) это штатный механизм
12 Мулька
 
12.05.10
17:55
(0) Это не автор. Это - РЕДАКТОР
13 loginbox
 
12.05.10
18:05
КапЛей - а просматриваете инфу через отчет. просто хотелось бы оперативно не делая отчеты посмотреть кто провел документ и всё. а если уж что то случиться то там можно и отчеты поднять.
Shaman100M - так и думал сделать только сдуру хотел запихивать этот код в каждый такой документ в модуль документа. :)
14 КапЛей
 
12.05.10
18:07
(13) кнопка в полном журнале. по ней выдается вся история. Последний сохранявший и проводивший документ - колонка "Автор" во всех журналах.
15 loginbox
 
12.05.10
18:16
и еще аопрос пока не пробовал ничего делать. при востановление ГП автор меняется? нужно будет делать какую-то зашиту от перезаписи автора?
16 Pit0n_08
 
12.05.10
18:22
Ну а ЖР таки не подходит?
17 Злой Бобр
 
12.05.10
18:27
(15) "при востановление ГП автор меняется?"
Нет. Автор ставится ПриЗаписи().

"нужно будет делать какую-то зашиту от перезаписи автора?"
А если кто-то будет писать напрямую в таблицы БД, а если ... В общем думаю мысль уловил?
18 loginbox
 
12.05.10
18:28
Ну а ЖР таки не подходит?
На сегодняйшний день нужно оперативно видеть кто провел документ. Для этого как нельзя лучше подходит Общий журнал и ОбщийРеквизитДокумента. плюс мне кажется что так проше присвоить значение. чем обрашаться к журналу регистрации. или я что то не допонимаю как вы предлагаете?
19 loginbox
 
12.05.10
18:30
Злой Бобр ясно про запись. да если захотеть то можно и пароли сбросить и записать под другим автором.
20 v_rtex
 
12.05.10
18:31
(18) если не нужно оперативно смотреть ИСТОРИЮ, кто как проводил документ, то способ с общим реквизитом в журнале будет самым эффективным
21 Pit0n_08
 
12.05.10
19:04
Термин "оперативно видеть" не оспариваю, главное, чтобы к стенке по значению общего реквизита не ставили, а ЖР всё-таки посмотрели :-)
Где-то натыкался на тему как из журнала документов открыть ЖР с отбором событий по текущему документу, но с использованием ВК.
22 Shaman100M
 
13.05.10
10:04
(15) - см. (10) Имелось ввиду вот это:

Если Конт.ГрупповаяОбработка() = 0 Тогда
   Конт.АвторПроведения = глПользователь;
КонецЕсли;
23 Aloex
 
13.05.10
10:13
(0) В комментарий пишите последнего автора.
Комментарий= Комментарий + Автор
24 loginbox
 
25.05.10
15:31
Если Конт.ГрупповаяОбработка() = 0 Тогда
   Конт.АвторПроведения = глПользователь;
КонецЕсли;

Если поставить такое условие, то при групповой обработке не изменяется автор, а если нажать восстановить последовательность документов то автор меняется.
как правильно в этом случае написать условие
стоит тис
25 NoMoreDrugs
 
25.05.10
15:41
Может всетаки отдельный справочник..в котором можно и автора и кто напечатал и провел и сколько раз и т.д. хранить.. и отбирать из него можно даже при больших объемах быстро, теми же прямыми запросами.
26 loginbox
 
25.05.10
15:50
NoMoreDrugs Может все таки отдельный справочник.
решили уже через ОбщийРеквизитДокумента. подскажите как програмно определить что документ перепроводиться через восстановление ГП
27 Ёпрст
 
гуру
25.05.10
15:57
(26) смотреть на ГрупповаяОбработка
28 loginbox
 
25.05.10
16:00
Если Конт.ГрупповаяОбработка() = 0 Тогда
   Конт.АвторПроведения = глПользователь;
КонецЕсли;
Если поставить такое условие, то при групповой обработке не изменяется автор, а если нажать восстановить последовательность документов то автор меняется.
как правильно в этом случае написать условие
Похоже что то делаю не так?
29 Ёпрст
 
гуру
25.05.10
16:12
(28)
ГрупповаяОбработка()
IsGroupProcessing()
Синтаксис:
ГрупповаяОбработка()
Назначение:
Возвращает флаг групповой обработки: 1 - групповое обработка, 0 - иначе.
Замечание:
Метод доступен только в Модуле документа в предопределенной процедуре ОбработкаПроведения.
Подробнее см. в документации, глава 'Работа с Документами'
30 loginbox
 
25.05.10
18:38
Метод доступен только в Модуле документа в предопределенной процедуре ОбработкаПроведения.
Засунул условие в м иодуль документа, но все равно если делать востановление ГП  в отладчике вижу что ГрупповаяОбработка()=0 как если проводит документ менджер.
31 1Сергей
 
26.05.10
08:28
(0) >> ...например перемешения менеджеров...
Грузовиками их возите? Умно. У нас с менеджерами цацкаются
32 Ёпрст
 
гуру
26.05.10
09:03
(30) ВостановлениеГП чем делаешь то хоть?
Если своей поделкой - то не удивительно, что 0 возвращает.
Этот метод только, если проводишь из встроенной обработки восстановления последовательности - имз Меню-Операции -Проведение доков
33 loginbox
 
26.05.10
10:51
ВостановлениеГП чем делаешь то хоть?
когда заходишь в отчеты-отчет по продажам
жмем сформировать он пишет
"Дата конца отчета установлена после ГП документов
отчет может быть не актуальным. для этого можно воспользоваться проведением документов(пункт меню "операции" либо груповой обработкой документов. востановить послед. сейчас (это займет ... время)"
и предлагается нажать Да НЕТ Отмена и если нажать Да то начинается востанавливаться ГП.
Отчет по продажам ТМЦ - это не типовой отчет что ли?
34 MaxxiMiliSanM
 
26.05.10
10:53
хранить информацию кто провел в регистресведений, в который записывать информацию при проведении документа
35 PaulBC
 
26.05.10
10:56
(0) А не проще права настроить таким образом, чтобы тот, кому не надо, просто не мог провести документ?
36 MaxxiMiliSanM
 
26.05.10
10:59
в регистре сведений можно хранить различную информацию.Можно воспользоваться сторонней надстройкой на любую платформу (платная), которая ведет полный лог всех изменений, с возможностью отката.
37 MaxxiMiliSanM
 
26.05.10
11:02
или бесплатный вариант http://www.infostart.ru/public/22167/
38 Ёпрст
 
гуру
26.05.10
11:03
(33) ппц.. вырежи это в глобальнике, чтоб этого вопроса НИКОГДА не было.. запоришь базу себе когда-нить этим, или нерадивый менеджер "да" всегда нажимать будет.
И там - запускается обычная поделака по проведению документов, а не встроенная в платформу, вот ГрупповаяОбработка всегда 0 и возвращает.
39 Ёпрст
 
гуру
26.05.10
11:15
(34,36,37) у автора не снеговик, если что.
40 loginbox
 
26.05.10
12:05
Ёпрст3 спасибо уберу, думал что это нормальная встроенная функция всегда ей пользовались
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.