Похайте механиз контроля независимых регистров сведений #657553


#0 by alextom81
Как придлумал: 1. Создаём свой РС (периодический) - период - секунда 2. Измерение - Автор (ТекущийПользователь) (индексируем) 3. Измерение - ИмяРегистра (Имя регистра сведений) (индексируем) 4. Ресурс  - Строка - старые значение регистра (тут парсим измерения и ресурсы старых значений) 5. Ресурс  - Строка - новые значение регистра (тут парсим измерения и ресурсы новых значений) 6. Периодически (раз в месяц) чистим РС, выгружая его в mxl документ, откуда затем получаем данные по предыдущим периодам в отчете (использую вт и добавляя туда текущие данные регистра) Цель - контроль регистра сведений "штатная расстановка орг-й" - и любых других регистров сведений. Чтобы было понятно - что, кто и когда изменил. Допилы суются в модуль набора записей "перед записью"
#1 by KRV
Может проще сделать - запретить шелудивым рукам править сей регистр?
#2 by shuhard
открой версионирование в УПП или БСП и сравни с проектом
#3 by AleksAnt
а чем не угодило версионирование объектов?
#4 by alextom81
Версионирование в УПП, как ни странно - включено. Но оно работает только по документам и по справочникам. Штатное расписание - мимо. Учетная политика - мимо. Может ещё какие есть РС важные - не смотрел ещё.
#5 by alextom81
РС, штатное расписание организаций, ошибся :(
#6 by Cube
"Допилы суются в модуль набора записей "перед записью"" Подписки на событие кошернее.
#7 by shuhard
не учи форум устройству УПП
#8 by alextom81
Форум, видимо, В Ваше лице - подскажите мне доступные значения измерения "Объект" у РС "ВерсииОбъектов" ?
#9 by alextom81
- Да, thx. Забыл про подписки на набор записей. Вопрос скорее - не будет ли оно дико тормозить работу пользователей.
#10 by alextom81
Вместо mxl делаем служебную базу SQL. - В неё изо всех баз делаем выгрузки раз в сутки. В отчете потом к ней обращаемся. Следующим шагом перетаскиваем туда версионирование, чтобы базы не пухли.
#11 by Cube
"Вместо mxl делаем служебную базу SQL" Делай на 1С. Отдельная база 1С для хранения истории. Так православнее)
#12 by alextom81
Зато быстрее :) Похоже, как и в советов нема - только смотри версионирование в БСП
#13 by Фрэнки
Ну если дописывать чего-то в типовую УПП, так зачем ограничивать себя в масштабах дописок, которые в этом частном случае будут крутиться "рядом" с типовым механизмом и не будут его торомозить? Идею могу развить дальше, но то, что уже предложено в топике вижу неоптимальным. Я бы сделал подход с другой стороны.
#14 by alextom81
Подскажите с какой ?
#15 by Фрэнки
Днем отвлекли по работе и не только вечером вспомнил, что остался вопрос. Я бы ввел небольшую подсистему из регистрируемых документами (в качестве регистраторов) записей в регистр накоплений с остатками, по которому можно будет учитывать количество свободных штатных единиц. А затем уже изменять типовые записи по завершению процесса регистрации движений по штату. Возможности прямой работы кадровикам со штатом оставить только в рамках подсистемы. В деталях всю эту идею можно подправлять достаточно долго по специфике конкретной политики, действующей на предприятии.
#16 by Лефмихалыч
проще всяких кого попало с опасно торчащими из жопы в разные стороны руками в регистр не пускать
#17 by Фрэнки
(+15) Конечно, если штат очень большой, либо много структурных подразделений, распределенная база и т.п., то возникает соблазн построить вообще отдельную базу 1С для работы в штатном расписании и передаче в основную (типовую) только результатов плодотворной работы многочисленных департаментов. Да где их взять-то? И зачем лишать себя куска хлеба, решая оргвопросы вместо разработки мегапроектов ;)
#18 by bolder
Если организация занимается только штатным рас писанием- не взлетит!
#19 by Diversus
Я занимался контролем изменения регистров, если интересно можете посмотреть на конфигурацию на демо-сервере на сайте можете найти ссылку:
#20 by Diversus
+ контролирует в том числе и изменение регистров сведений
#21 by alextom81
Ок, спасибо, гляну. Хотя на самом деле уже сдалали стороннюю базу, разработчик один сейчас пишет фоновое задание для переноса туда данных регистрации. - хочется отслеживать все независимые регистры, не только штатку
#22 by alextom81
Написали процедуру, вставили в подписку, но возникает загвоздка - так как запись в РС изменяется два раза, а отбор периода - в пределах секунды, то в момент второй записи может выскочит эксепшн. Текст процедуры:    #Если Клиент Тогда                Если НЕ Отказ И НЕ Источник.ОбменДанными.Загрузка Тогда
#23 by hhhh
так может и просто несколько записей в регистр сведений произойти в пределах секунды. Что вы создали такое?
#24 by alextom81
Всё, реализовали.  Понятно, что включаем только для независимых РС контроль, и только не для "загрузки" и для "клиента". Понятно, что регистры, которые документами формируются могут по несколько в секунду писаться (аналитики УЗ, например). В данный момент включили подписки для Штатки и Учетных политик. Понадобиться ещё - будем смотреть. Код в поправили - во вторую запись вставили обращение к среду последних, а не 0 строку набора записей - работает. Потому версионирование и записывает версии "последовательно".
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С