1с автор изменений не указан
Что конкретно удалил либо поменял пользователь в конкретном документе в 1С? Для решения этого вопроса разработчики внедрили специальный механизм хранения версий объектов — так называемое версионирование, с помощью которого вы как раз можете увидеть всю конкретику измененных документов.
В этой статье мы расскажем обо всех плюсах и минусах версионирования, а также покажем на конкретном примере в 1С: Зарплата и управление персоналом ред. 3.1, как работает механизм.
Начиная с платформы 8.3.11, механизм версионирования встроен в систему и называется «История данных». Он имеется во всех конфигурациях, работающих на основе библиотеки стандартных подсистем (БСП). Например, в 1С: Бухгалтерия предприятия он реализован, начиная с версии 3.0.35.
Использование этого механизма актуально как на этапах начала работы с программой, так и при дальнейшем ее использовании, когда имеются пользователи «новички», которые могут что-то «подпортить» в учете.
Версионирование — это механизм хранения истории изменения объектов в 1С, который позволяет:
- просматривать, какие изменения внес пользователь в объект (справочник, документ);
- анализировать версии объектов;
- сравнивать эти версии между собой;
- восстанавливать любую из версий объекта.
Механизм версионирования позволяет пользователю выполнять гибкую настройку хранения данных, выборочно применять к объектам или табличным частям, сохранять данные лишь в определенный пользователем момент, например — при проведении документов.
Плюсов у этого функционала, конечно много.
Но есть и минусы, их тоже нужно учитывать. Важно грамотно подходить к настройке версионирования, т.к. использование данного функционала однозначно приводит к замедлению работы 1С. Это связано с тем, что история данных занимает какое-то место и при неправильной, беспорядочной настройке она может занимать больше места, нежели чем сам объект.
Центр обучения «Клерка» приглашает разобрать не менее важный аспект бухгалтерского учета — ведение учета запасов по новому ФСБУ 5/2019. Бесплатный вебинар уже совсем скоро — 20 августа.
Как включить версионирование в 1С?
Этот механизм может включить как разработчик в конфигураторе, так и сам пользователь в пользовательском режиме.
Для включения версионирования объектов выполните следующие пункты.
Шаг 1. Перейдите в раздел «Администрирование» — «Общие настройки».
Пример раздела в 1С: Зарплата и управление персоналом, ред. 3.1:
Пример раздела в 1С: Бухгалтерия предприятия ред. 3.0.
Шаг 2. Разверните подраздел «История изменений» и установите галочку «Хранить историю изменений». Для перехода к настройкам нажмите гиперссылку «Настроить».
Как видите, в 1С: ЗУП и 1С: Бухгалтерии предприятия эти пункты выглядят совершенно одинаково.
Соответственно, и настройка версионирования во всех конфигурациях 1С выполняется аналогично, т.к. это одна подсистема.
Настройки истории хранения изменений
Рассмотрим основные настройки подсистемы «Версионирование» и механизма «Хранение данных» на примере программы 1С: Зарплата и управление персоналом ред. 3.1.
В составе объектов настройки два пункта: справочники и документы.
Настройку можно выполнить для каждого справочника отдельно, задав срок хранения и указав, когда сохранять версии.
В разделе «Документы» перечислены все имеющиеся в конфигурации документы, для которых также отдельно выполняется настройка хранения данных.
Параметр «Когда сохранять версии»
Для изменения параметра выделите ячейку и нажмите стрелочку. В выпадающем списке выберите нужное значение.
Значение параметра «Когда сохранять версии» может принимать значение:
- «При записи» — версия сохраняется при создании или изменении справочника либо документа;
- «При проведении» — применима для документов, для которых предусмотрено проведение. Запись производится при их проведении;
- «Никогда» — запись истории изменения объекта не ведется.
Применить настройки можно и к группе объектов.
Выберите несколько объектов с помощью кнопки Shift (в указанном диапазоне «с какого по какой») или Ctrl (выборочное выделение) и, нажав кнопку «Установить когда сохранять версии», выберите нужное значение для указанных объектов.
В этом пункте, кроме описанных выше вариантов, доступна настройка «По умолчанию». В данном случае устанавливаются рекомендуемые настройки. Для справочников это — «Никогда», для документов — «При проведении».
Для справочников варианты значений параметров отличаются от значений параметров для документов.
Параметр «Срок хранения версий»
Аналогично задается параметр «Срок хранения версий».
Выделите ячейку и выберите вариант срока хранения заданного элемента.
Он может принимать значение:
- «За последнюю неделю»;
- «За последний месяц»;
- За последние три месяца«;
- «За последний год»;
- «Бессрочно».
Для выбранной группы объектов изменить этот параметр также можно с помощью кнопки «Установить срок хранения версий».
Выделите объекты, нажмите вышеуказанную кнопку и выберите нужное значение.
Рассмотрим настройку на примере.
Пример настройки версионирования в 1С: ЗУП ред. 3.1
Установите настройки хранения истории изменений для документа «Начисление зарплаты и взносов». Значение параметра «Когда сохранять версии» — При проведении«, «Срок хранения» — «За последнюю неделю» (для примера).
После того, как активировано версионирование, в объектах 1С станут доступны кнопки в виде карандаша с часиками — «Перейти к истории изменений».
В нашем примере она расположена в журнале документов на панели инструментов, а также по нажатию кнопки «Еще».
Во втором варианте она выглядит как строка — «История изменений».
При открытии документа, в нем также присутствует такая кнопка и команда по нажатию кнопки «Еще».
Рассмотрим пример, когда бухгалтер вносила изменения в документ «Начисление зарплаты и взносов».
Для иллюстрации примера изменим заработную плату Булочкиной О.И. с 67000 руб. на 75000 руб. и посмотрим, как программа сохранит версии документов и сможем ли мы, используя механизм хранения данных, вернуться к прежней версии.
Нажмите «кнопку-карандашик» — «Перейти к истории изменений».
Становится видно информацию о версиях документа «Начисление зарплаты и взносов»: кто изменил данный объект, а также дату и время изменения.
Для просмотра версии выделите строку и нажмите кнопку «Открыть версию».
В отчете представлены вся информация, показатели и данные документа выделенной версии. Кнопками " " и «-» можно свернуть и развернуть блоки для удобства чтения.
В нашем примере мы знаем, что пользователь изменил зарплату по окладу Булочкиной О.И. на 75000 руб.
Но как же пользователь проанализирует такой объем информации и определит, какие изменения произведены в какой версии?
Для этого есть функция сравнения с помощью одноименной кнопки «Сравнить».
Для сравнения версий выделите нужные строки (с помощью Shift или Ctrl) и нажмите кнопку «Сравнить».
Обратите внимание, при выделении нескольких версий другие команды неактивны, т.к. предназначены для работы с одной строкой-версией.
В отчете отобразится таблица по выделенным версиям объекта. Голубым цветом выделены измененные данные, пролистав и проанализировав которые, пользователь может сопоставить произведенные изменения и при необходимости вернуться к той версии, которая его более устроит
Пролистав таблицу, мы видим, что пользователем Кругловой О. были изменены данные по Булочкиной О.И. Сохраненные версии № 1 и № 2 идентичные, а в версии № 3 прослеживаются изменения.
Обратите внимание на значение поля «Изменения в реквизитах». По умолчанию установлено — «Все». Поэтому отчет получился объемным. Нажав кнопку выбора с тремя точками, пользователь может задать выводимые реквизиты, отметив нужные галочками.
Главный бухгалтер, проанализировав ситуацию, приняла решение восстановить данные документа «Начисления зарплаты и взносов» до внесения изменений зарплаты.
Как это сделать?
Выделите версию объекта, на который хотите перейти и нажмите кнопку «Перейти на версию».
В моделируемом примере нас устроит версия № 2 (до внесения изменений). На нее и перейдем.
В результате проведенных манипуляций в таблице «История изменений: Начисление зарплаты и взносов от 31.08.2021» появилась четвертая версия документа с пометкой — «Выполнен переход к версии № 2 от 10.08.2021 18:32:49» (пример моделировался 10.08.2021).
Откройте документ и проверьте, что в нем изменилось.
Документ перешел к варианту до внесения в него изменений. В нашем примере зарплата сотрудника Булочкиной О.И. автоматически изменилась на 67000 руб. (напомним, она была изменена ранее на 75000 руб.). Начисление НДФЛ и страховых взносов также приняло прежние значения. Т.е. документ полностью принял первоначальный вид.
Этот способ очень удобен. Он позволяет не только отслеживать, когда и кем были произведены изменения, но и «откатывать» состояние объекта в предшествующее состояние. Перейдя на версию объекта и не получив результата, пользователь может повторить операцию снова. Переходы от версии к версии не ограничены и их можно выполнять в пределах хранящихся версий.
Напоминаем, единственный минус версионирования — это то, что хранящиеся данные занимают место и при больших объемах накопленной информации программа может начать притормаживать и подвисать, особенно при работе на слабых компьютерах. Поэтому возможно имеет смысл устанавливать версионирование только для конкретных документов в программе, по которым могут быть спорные моменты.
Объем хранимых версий объектов и их удаление в 1С
Вернемся к разделу «Настройка и хранение истории изменений».
Нажмите гиперссылку «Количество и объем хранения версий объектов».
В отчете представлена информация в графическом и в табличном варианте, где пользователь видит структуру данных версий хранения объектов.
В нашем примере видно, что объект — документ «Начисление зарплаты и взносов» имеет четыре версии и этот объем данных занимает 0,01Мб.
Но это всего лишь один документ. Поэтому, если вы настраиваете версионирование и активно им пользуетесь, смотрите какой объем занимают данные.
Обратите внимание на строку «Очистка устаревших версий». У нас пока таковых не имеется, но при их появлении появится кнопка «Очистить». Здесь также выводится информация об их количестве и объеме. Нажав на эту кнопку старые, неактуальные версии удаляются.
Для автоматизации процесса удаления устаревших версий, установите одноименную галочку «Автоматически удалять устаревшие версии» и вам не придется постоянно отвлекаться на контроль этого процесса.
Теперь вы знаете что такое версионирование и как настроить хранение истории изменения справочников и документов в программах 1С.
Как говорится: «Все гениальное — просто!». Экспериментируйте, используйте этот функционал программы и, главное, не бойтесь что-то испортить, ведь всегда можно вернуть версию объекта. Если вы сочтете это ненужным, то в любой момент вы сможете отключить эту настройку.
Есть шаблон комплексного БП, у данного шаблона настроена рабочая группа, пользователь который находится в рабочей группе данного БП (у пользователя установлена роль «Управление БП»)пытается создать комплексный БП, запустить он его может, но при изменениии автора и попытки сохранения программа выдает ошибку:"Недостаточно прав для выполнения операции.Обратитесь к Администратору".
В чем может быть проблема?
Платформа: 8.2 (8.2.17.153)
Конфигурация: Документооборот 8 КОРП, редакция 1.2 (1.2.6.1)
Что значит при изменении автора? Указывается другой пользователь? он входит в рабочую группу? Меняете автора после старта БП или до?
Добрый день, пользователь создает БП и пытается изменить автора(указывает другого пользователя)до старта БП.
В рабочую группу шаблона пользователь (создающий БП по шаблону) входит, пользователь которого подставляют в качестве нового автора не входит(я пробывал добавлять пользователя, которого устанавливают в качестве нового автора в рабочую группу шаблона, не помогло).
Просто не понимаю в чем еще может быть причина, в коде отловить пока не смог.
В любом случае пользователя надо добавить в рабочую группу. А почему сам пользователь не запускает от себя БП? тогда и автора не надо будет менять, и все нормально запишется. я пока тоже в коде найти не могу. но скорее всего связано с ограничениями прав, рлс
Добрый день.
Изменение автора в нашем случае-это необходимость, некоторые пользователи не имеют прав на редактирование стадий согласования и согласующих перед запуском комплексного БП (по шаблону), иногда эта информация меняется и специалист по документообороту заводит бизнес процесс сам, корректирует его и указывает автора от которого должен был быть запущен этот процесс, к нему в последствии приходяит уведомления на ознакомление с результатом.
Тогда как вариант можно назначить этому шаблону вид документа, там можно ограничить редактирование БП
Спасибо за вариант, но он не подходит, потому что у нас очень много видов внутренних документов и однозначно определить что этот шаблон для этого вида внутренних документов нельзя, а забивать для каждого вида это долго.
+ галочка "Запретить изменение процессов созданных поэтому шаблону для этого вида документов" в нашем случае не подходит.Потому пользователь может и так изменять все, все кроме автора(((
Процедура ДокументооборотПраваДоступаПриЗаписиОбъектаДоступа(Источник, Отказ) Экспорт, в модуле ДокументооборотПраваДоступа - через подписку на событие ДокументооборотПраваДоступаПриЗаписиОбъектаДоступа
а у вашего специалиста по документообороту нет полных прав? потому что если бы были, это бы ему дало возможность поменять автора
Да, Вы правы полных прав нет, потому что на мой взгляд полные права должны бать только у администратора.Все должно ограничиваться только необходимым функционалом.
т.е. правильно ли я понимаю что при записи объекта пользователю не хватает прав записать права доступа на дескриптор доступа объекта?
Получается у моего пользователя права только на Чтение по праввам по дескрипотрам доступа, а каким образом тогда их расширеть, ведь каким то образом право на чтение записалось в данный регистр?
не совсем. при создании нового объекта (т.е. БП) записывается новый дескриптор доступа, где прописываются права на этот БП: права на добавление изменение и прочее имеет автор, а на чтение - участники рабочей группы, а автор уже указан как другой пользователь, и поэтому для текущего пользователя таких прав нет, и соотв-но БП не может записаться
можно попробовать внести изменения в модуль менеджера комплексного процесса (Процедура ЗаполнитьПраваДоступа(ДескрипторДоступа, НаборЗаписей, ПротоколРасчетаПрав) Экспорт), где указать, что для текущего пользователя есть права на добавление и т.д. (как для автора). только надо проверить что БП новый, а не уже существующий. правда не уверен что надо именно там менять. можете проверить
ура получилось.
1.(Процедура ЗаполнитьПраваДоступа(ДескрипторДоступа, НаборЗаписей, ПротоколРасчетаПрав) Экспорт)-данная процедура при смене автора устанавливает новые права автора БП корректно.
2.Процедура ДокументооборотПраваДоступаПриЗаписиОбъектаДоступа(Источник, Отказ) Экспорт- анализирует права по текущему пользователю(прав у текущего пользователчя при смена автора уже нет, поэтому нужно анализировать права автора БП).
Конкретно вот этот кусок кода:
Права = РегистрыСведений.ПраваПоДескрипторамДоступа.ПолучитьПраваПоДескриптору(Дескриптор);
Необходимо дописать только пару проверок:
-проверка на тип значения Бизнес процесс комплексный.
-проверка автор не равен текущему пользователю.
И передавать автора для проверки прав:
Права = РегистрыСведений.ПраваПоДескрипторамДоступа.ПолучитьПраваПоДескриптору(Дескриптор, Источник.Автор );
При работе в 1С бывает полезно видеть, кто и когда изменил документ. Пригодится для исправления ошибок, сравнения вариантов “до” и “после”, обучения сотрудников. Рассмотрим, как настроить хранение истории в программе 1С:Бухгалтерия предприятия 3.0.
Где найти и как настроить историю изменений
Зайдем в меню “Администрирование — Общие настройки”.
В разделе “История изменения” установим флажок “Хранить историю изменений” и перейдем по ссылке.
В открывшемся окне выполняем настройки.
- Выбираем справочники, документы, по которым нужно хранить историю. Можем выбрать сразу все объекты, либо раскрыть плюсы и найти только некоторые.
- Выбираем момент сохранения версий.
- Выбираем срок хранения версий.
Получите понятные самоучители по 1С бесплатно:
В итоге для выбранных объектов установятся настройки.
- С помощью флажка “Автоматически удалять устаревшие версии” задаем расписание удаления файлов для экономии места.
- Ссылка “Количество и объем хранимых версий объектов” откроет отчет по версиям.
Как посмотреть историю изменений
Для просмотра истории выделяем нужный объект и нажимаем кнопку “Перейти к истории изменений” (значок карандаша).
Откроется окно по изменениям.
Показывается, кто и когда вносил изменения. Отсюда можем открыть версию для просмотра.
Чтобы сравнить версии выделим их в списке и нажмем кнопку “Сравнить”.
Определив, какая версия верная, перейдем на нее по кнопке “Перейти на версию”.
Просмотр истории в Журнале регистрации
Историю ещё можно посмотреть в Журнале регистрации — это более технический функционал.
Доступен в меню “Администрирование — Настройки программы — Обслуживание”.
В Журнале ведется лог действий всех пользователей. Доступны отборы по различным событиям.
Версионирование представляет собой опцию, с помощью которой пользователь может легко установить, кто и когда изменил находящийся в базе документ, а также какие именно изменения имели место. Платформа 1С:Предприятие 8 имеет сходную опцию – журнал регистрации, однако эта опция не позволяет выяснить характер изменений, журнал регистраций позволяет только узнать, когда был изменен документ и какой пользователь внес изменения. В платформе 8.3.11 данный механизм встроен "ИсторияДанных" и позволяет работать с версионированием через встроенные механизмы платформы, что является несомненным плюсом. Данная конфигурация предназначена для более ранних версий.
Механизм версионирования позволяет хранить не только даты и автора изменений, но и историю изменений документа (реквизиты. параметры данных и т.д.), опция позволяет просматривать различные версии состояния одного и того же документа. Чтобы использовать данную опцию, необходимо предварительно провести настройку версионирования объектов. Как настройку, так и просмотр всех состояний документа может проводить администратор системы.
Как настроить версионирование объектов?
Выполнение настройки версионирования проводится в учетной записи Администратора, в которой открыты все права.
1. Открыть конфигурацию в режиме конфигуратора
2. Выбрать Конфигурация → Поддержка → Настройка поддержки
3. Снять запрет на редактирование у корневого узла конфигурации (при необходимости включив возможность изменения), затем закрыть
4. Выбрать Конфигурация → Сравнить, объединить с конфигурацией из файла, выбрать загруженный файл
5. В открывшемся окне снять галку у вкладки Свойства в основной конфигурации (слева), затем нажать Выполнить
6. Для настройки необходимо открыть программу, на панели навигации перейти к пункту Операции/Константы:
7. В закладках нужно выбрать «Версионирование», установить галочку перед надписью «Использовать версионирование объектов»:
8. Далее следует открыть блок настройки, для чего нужно нажать на кнопку Настройка версионирования объектов…»
В параметрах настройки есть возможность указать значение всех типов документов, справочников:
Не версионировать — параметр установлен для всех типов объектов по умолчанию;
Версионировать — параметр применяется для настройки справочников и документов;
Версионировать при проведении —используется только для документов.
В том случае, если для какого-либо типа документа или справочника выбран параметр Версионировать, в историю версий этого объекта будет выполняться запись при каждом изменении этого объекта.
Режим «Версионировать при проведении» предполагает выполнение первой записи только после того, как документ впервые был проведен. Все последующие версии этого документа будут записываться после каждого изменения. Рекомендуется применить эту настройку для всех используемых объектов, поскольку данный режим не позволяет создавать пустых или неполных документов, за счет чего экономится свободное пространство информационной базы.
Если версионирование будет применяться ко всем без исключения объектам, это приведет к накоплению большого количества версий в базе, поэтому желательно ограничивать количество объектов, к которым применяется эта функция.
9. Для просмотра истории версий необходимо в панели навигации перейти к пункту Сервис/История. Эта опция доступна исключительно для использования из-под учетной записи Администратора. Просматривать можно лишь те объекты, к которым была применена настройка версионирования. После того, как форма откроется, следует выбрать объект, изменения которого необходимо отследить, затем нужно выделить несколько версий для сравнения и нажать «Сравнить версии».
Для удобства можно ввести кнопку на отчет прям из документа, которая будет формировать отчет сразу по изменениям версий данного документа:
Как известно, если конфигурация находится на поддержке без возможности внесения изменений, то обновление представляет собой полностью автоматизированный процесс. В противном случае обновление конфигурации производится с использованием стандартного механизма сравнения и объединения.
Но как быть, если, по заверению слушателя, в конфигурацию изменения не вносились, а при обновлении в дереве объединения появляются дважды измененные объекты?
Вопрос
Подскажите, почему при обновлении типовой конфигурации (под замком) на ближайший релиз появляются дважды измененные объекты?
(нажмите, чтобы увеличить картинку)
Ответ
Да, такое может быть. Значит, для базы включена возможность изменения (в меню Конфигурация – Поддержка – Настройка поддержки), но корневой объект не редактируется, находится “под замком”:
(нажмите, чтобы увеличить картинку)
При этом для других объектов “замок” может быть снят, в них могут вноситься изменения.
Комментарий слушателя
Вы правы. Конфигурация находится на поддержке с возможностью изменения, но изменений никаких в конфигурации нет, то есть это типовая конфигурация. Изменения я вносил ранее в один из общих модулей, но потом все вернул обратно. И этот модуль не присутствует в данном списке измененных дважды объектов, а те, что присутствуют, никаким образом не изменялись.
Комментарий тренера
А если в форме со сравнением развернуть эти проблемные объекты, какие изменения в них будут отображаться? Чаще всего туда попадают различия в справочной информации. Эта проблема давно уже присутствует в платформе.
На партнерском форуме находил, что на 8.3.14 должны быть убраны недостатки технологии, которые приводили к проблемам при сравнении конфигураций. Однако и на свежих версиях платформы все еще встречаются различия в справочной информации.
Можно попробовать вернуть конфигурацию на поддержку, если никакие изменения в конфигурации больше не нужны. Для этого нужно загрузить типовой cf-файл этого же релиза (можно взять из дистрибутива конфигурации). Конечно, обязательно нужно сделать копию базы. Тогда конфигурация станет полностью типовой, без возможности редактирования. И окно сравнения не будет отображаться при обновлении.
Комментарий слушателя
Вот самый простой пример. А объединение с конфигурацией поставщика можно делать бесконечно, никакого результата. Полностью поставить конфигурацию под замок – это, конечно, решение только для типовой конфигурации, в остальных случаях приходится время терять.
(нажмите, чтобы увеличить картинку)
Комментарий тренера
Да, конечно, поставить “под замок” можно только конфигурацию без доработок. Либо вынести в расширение все доработки.
На скриншоте видно, что разница появилась в теге color.
Предполагаю, что здесь те же причины, что и для справочной информации. Это работа с HTML-документами (справочная информация и форматированные строки базируются на HTML). Похоже, что разные версии платформы по-разному работают с этими данными.
Также ранее платформа работала с HTML через Internet Explorer, в справочной информации появлялись разные теги, если работать с ней на компьютерах с разными операционными системами. Сейчас в платформе перешли на библиотеку WebKit. Возможно, из-за этого появились еще какие-то нюансы.
Читайте также: