Запрет изменения списка баз 1с

Обновлено: 08.07.2024

В типовых конфигурациях 1С есть замечательный инструмент, позволяющий запретить изменения документов в закрытых периодах. Обзор и инструкцию по нему вы можете прочитать по ссылке . Но иногда все таки возникает необходимость проведения операций задним числом или исправления уже введенных данных. Поэтому, какой-то период всегда держат открытым для редактирования. Как правило, это текущий месяц или квартал.

При работе вы или другие пользователи часто открываете старые документы, для того, чтобы что-то посмотреть или проверить. Иногда, особенно в конце периода, при подготовке отчетности случайно можно поменять данные. Так же можно просто « случайно » перепровести старый документ. Напомню, что дата запрета у нас на текущий период еще не установлена. Изменения документов, включая даже простое перепроведение документа, могут привести к изменениям, которые сложно отловить, особенно если сразу не обратили на это внимание.

Рассмотрим несколько способов решения данной проблемы.

Использование даты запрета

В программе можно настроить автоматическое изменение даты запрета. Минусы данного способа очевидны — пользоваться таким строгим ограничением не очень удобно, так как при необходимости внесения изменений в текущем периоде — придется отключать контроль, а потом включать заново.

Правильное закрытие документов

Можно развить в себе и в сотрудниках привычку закрывать документы не кнопкой «Провести и закрыть», а как это принято говорить «крестиком». Т.е. пиктограммой в правом верхнем углу формы. Предположим, что за себя вы можете поручиться, то за других сотрудников, работающих в базе, сделать это будет сложно.

Использование расширения

Я подготовил специальное расширение для типовых конфигурации, которое позволяет решать данную проблему альтернативным способом.

Расширение предоставляет возможность включить режим «Только просмотр» для проведенных документов. Другими словами, когда вы открываете проведенный документ, вы не можете изменять данные на форме. Для того чтобы внести изменения, необходимо будет найти этот документ в списке и вызвав правой клавишей мыши контекстное меню, отменить его проведение. Таком образом, случайная ошибка при этом практически исключается.

Чтобы быстро найти нужный документ в списке можно использовать следующий метод: В открытой форме необходимого документа выбрать команду Еще. В открывшемся меню выбрать команду Показать в списке . Далее откроется список, текущей строкой в котором будет искомый документ. И уже здесь можно отменить проведение указанным выше способом

Расширение добавляет на главную страницу программы в раздел сервис отдельную команду для вызова формы настройки. Доступ к настройкам имеют только пользователи с полными правами.

Есть несколько режимов работы. Самый первый режим отключает контроль для всех документов. Т.е. расширение ничего не делает и система работает в штатном режиме . Он может пригодится для временного отключения расширения.

Второй режим, включает контроль для всех документов. Любые проведенные документы будут открываться в режиме «Только просмотр»

Третий режим позволяет указать виды документов, для которых будет производиться контроль. Например, вы можете выбрать только банковские документы. Здесь все зависит от особенностей учета в Вашей организации. Этот вариант является наиболее предпочтительным.

В заключение рассмотрим плюсы и минусы расширения.

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

Ознакомится с возможностями данного продукта вы также можете на странице расширения.

Напоминаю, что Вы всегда можете обратиться ко мне по любым вопросам связанными с доработкой и настройкой 1С

Подписывайтесь на канал и наши группы в социальных сетях, чтобы не пропустить новые публикации.

Видео инструкцию к данному материалу можно посмотреть в моем инстаграме

1C:EDT позволяет вам настраивать внешний вид списка баз в панели Информационные базы .

Переименование групп

Чтобы переименовать любую группу списка, кроме корня, нажмите Переименование в контекстном меню. Ловкий прием: Эти же действия вы можете выполнить клавишей F2 .

Обновление списка


Если вы открыли панель Информационные базы и после этого список информационных баз был изменен средствами «1С:Предприятия 8», вы можете обновить его в 1C:EDT . Для этого нажмите в командной панели.

Примечание: Эти же действия вы можете выполнить, нажав Обновить в контекстном меню, или клавишей F5 .

Добавление группы


Чтобы добавить в список группу, установите курсор в ту иерархию, в которую вы хотите добавить новую запись, и нажмите в командной панели. Будет запущен мастер Добавить информационную базу / группу . Выберите пункт Создание новой группы .

Примечание: Эти же действия вы можете выполнить, нажав Добавить в контекстном меню, или клавишей Ins .

Удаление записи об информационной базе или группы

Чтобы удалить из списка информационную базу или группу, выделите ее в списке и нажмите Удалить в контекстном меню. Вы можете выделить в списке сразу несколько элементов, удерживая клавишу Ctrl . Количество выбранных элементов будет показано в левой нижней части основного окна.

1C:EDT удалит только записи из списка информационных баз. Сами базы данных, расположенные в локальной файловой системе или на серверах, удалены не будут.

Записи об информационных базах, импортированные из списка общих информационных баз, удалить нельзя.

Ловкий прием: Также удалить информационную базу или группу вы можете клавишей Del .

Перемещение базы в другую группу

Вы можете перетащить базу из одной группы в другую. Чтобы переместить базу в корень дерева, перетащите ее на одну из информационных баз, расположенных в корне.

Порядок сортировки


Информационные базы могут быть расположены в дереве в порядке возрастания наименования (стандартное значение) или в том порядке, в котором они были добавлены в файл списка информационных баз ibases.v8i . Чтобы изменить порядок сортировки, нажмите > Параметры. > V8 > Информационные базы > Сортировть по наименованию в командной панели.

Примечание: Эти же действия вы можете выполнить, нажав Окно > Параметры. > V8 > Информационные базы > Сортировать по наименованию в главном меню основного окна.

Количество последних выбранных информационных баз


Чтобы изменить количество последних выбранных информационных баз, показываемых в списке, нажмите > Параметры. > V8 > Информационные базы > Запоминать последние выбранные в командной панели. Здесь же флажком Показывать последние выбранные информационные базы вы можете отключить показ последних выбранных информационных баз в списке.

Примечание: Эти же действия вы можете выполнить, нажав Окно > Параметры. > V8 > Информационные базы > Запоминать последние выбранные в главном меню основного окна.

Расположение шаблонов конфигураций и обновлений


Чтобы задать или изменить каталоги, в которых расположены шаблоны конфигураций и обновлений, нажмите > Параметры. > V8 > Информационные базы > Шаблоны в командной панели.

Дата запрета редактирования данных — стандартная функция конфигураций 1С 8.3. Данный механизм позволяет задавать ограничения для редактирования, добавления, удаления и проведения документов ранее определенной даты. Иначе говоря, позволяет закрыть период для редактирования . Запрет можно устанавливать как в целом во всей программе. Так и по отдельным объектам, например, по организациям. Так же его можно установить для определенных пользователей.

На что влияет дата запрета

После установки запрета редактирования будет запрещено изменение, проведение и удаление документов. Таким образом, дата запрета

не позволяет записать существующий документ с датой, входящей в период запрета
запрещает сохранить новый документ с датой, входящей в период ограничений
не позволяет удалить документы, помеченные на удаление, с датой, входящей в запрещенный период

Простая настройка даты запрета

Для включения функции запрета редактирования необходимо перейти в раздел Администрирование (Администрирование и НСИ) – Настройки пользователей и прав . На открывшейся форме необходимо включить флажок Даты запрета изменения и перейти по ссылке Настроить .

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

Общие ограничения по пользователям

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

Ограничения по разделам и объектам

Важной настройкой ограничений является возможность установки запрета на определенные разделы и объекты учета. В поле Указывать дату запрета доступны следующие значения:

  • Общая дата – дата запрета задается для всех данных.
  • По разделам – для каждого раздела программы устанавливается своя дата запрета. При этом становится доступным список, в который можно добавлять Разделы и указывать для каждого раздела свое значение даты запрета.
  • По разделам и объектам – даты запрета задаются и в разрезе разделов, и в разрезе объектов. Для каждого объекта устанавливается своя дата запрета. Если выбрано это значение, то становится доступным список, в который можно добавлять объекты и указывать для каждого объекта свое значение даты запрета.

Например, способ указания по разделам и объектам , можно использовать, когда в системе ведется учет по нескольким организациям.


На «Хабре» есть три отличных поста про управление списками баз в 8.х:

Каждый из них содержит свой кусок паззла от полноценной картины: Легкое управление списками баз 1С.

Пролог

Приведенная идеология построения позволяет легко масштабировать настройки, как для простых офисов с одним доменом, так и для мультидоменной структуры в составе леса. Конкретную реализацию решения каждый выбирает под себя сам, но здесь заложена основа чтобы без лишних усилий получить необходимую гибкость. Решение легко передается по наследству. Там нет скриптов. Совсем нет. Вообще.

Итак, с чем же мы боремся:

Пользователей стало много! – обойти 40+ пользователей с единой целью прописать новую базу или изменить настройки подключения у старой займёт приличное время. Хорошо, тем у кого есть бойцы техподдержки.
Баз стало много! – зоопарк баз, тестовые базы с легкой подачи 1Сников оказывающиеся в продакшне все еще находясь на серверах для тестирования. Умножаем на количество пользователей и ужасаемся.
Невнятные названия баз! — в этом месте, я каждый раз представляю, как своими руками душу очередного 1Сника за базу с именем «new2_baza2_copy» к которой привязана куча обработок, отчетов и СОМ соединений. Потому что ему показалось логичным ТАК назвать новую базу. Организация же одна и она внезапно не вырастет. И он один и все помнит. И никогда не уволится. А документацию ведут слабаки. Да это же всегда можно по быстрому переделать!
Частая ротация пользователей! – каждый новый пользователь не знает какие базы ему нужны (Часто звучит: «Мне нужны ВСЕ»), сотрудники часто меняют должности, подразделения, организации и как следствие свои обязанности.
Нагрузка! Скрипты! – сладостные скрипты сканящие весь AD леса в поисках определённых имен групп, чтобы подключить одну базу. А кто его написал? На чем? Когда? Где комменты?
Где мои базы?! – упс. Многие решения не позволяют сохранить индивидуальный список баз 1С пользователя и при этом использовать предопределенный набор баз.
Кластеры 1С? Сервера БД? – а есть разница? Их может быть больше одного. Разных версий 1С, разных баз данных. Техподдержка пытается найти концы, что бы точно понять что конкретно прописывать у пользователя на ПК.

Основную боль я описал.

1. Вся представленная инфраструктура является тестовой и виртуальной. Любые совпадения с названиями юридических лиц являются случайными.
2. Простите меня за английский интерфейс на скриншотах с серверов. Я не мог иначе.
3. Поверьте мне, я руководитель группы системных администраторов, я знаю что я делаю! (с)

Шесть этапов до счастья:

Этап 1 — Инвентаризация

Берем табличный редактор и 1Сников. И подробно инвентаризируем, возможно, даже руками:

Рождается примерно такая таблица:


Наша задача понять, что где. Структурировать. Подробно расписать.

Этап 2 — Группы AD для баз 1С

Создание групп для баз в Active Directory, сразу пишем в описании используемый кластер и сервер баз данных:


На выходе получаем подробную информацию о каждой базе в структуре Active Directory. Указание имени базы данных в имени группы AD сильно облегчает поиск группы для определенной базы в больших инфраструктурах. Выделил пользователей, выбрал добавление в группу и указал нужное имя базы. Оп и все там. В то же время вашим коллегам (или наследникам) сразу будет видно какая группа AD за какую базу отвечает и где база находится.

Важно:
Помимо создания групп AD для каждой базы необходимо создать дополнительную группу AD «_Базы 1С – Доступ к файлу конфигурации 1CBases.cfg» — она поможет нам обеспечить доступ к файловому ресурсу, где хранятся конфигурации v8i всех необходимых нам баз. Включаем в эту группу все группы AD для баз 1С. Новые группы AD для баз 1С так же не забываем добавлять. Еще нам понадобится в её составе группа Domain Computers, чтобы дать возможность учетным записям ПК заходить на файловый ресурс. О нюансах ниже.


Этап 3 — Файлы конфигураций 1С

Инвентаризацию сделали, группы AD для баз создали, теперь файлы конфигурации v8i. Они хранят настройки подключения к базам: кластер 1С и имя базы в этом кластере.
Запускаем 1С. Если есть сформированный список баз, именуем их красиво и понятно.
Организация — Конфигурация — Версия конфигурации
Сохраняем их по правой кнопке в файлы, файлы именуем по имени базы. Заботливо накапливаем эти замечательные v8i файлы в одном каталоге. Если первоначального списка нет, можно создать одну запись в списке, она будет эталоном. С нее плодим новые файлы конфигурации v8i забивая необходимую информацию напрямую текстом в файл.

На выходе имеем файл с таким содержимым:


Избавляем каждый файл от лишних строк:


В итоге получаем определенное количество v8i файлов конфигурации, столько же сколько и баз.

Следующий шаг заключается в редактировании общего файла конфигурации баз для 1С.

По умолчанию в нем содержится совсем не перечень баз:


Проведем небольшие манипуляции, и в нем теперь указываются пути до всех файлов конфигурации v8i баз 1С.


Обращение к файлам v8i работает, как и с простой сетевой папкой на файловом сервере, так и с DFS ресурсом. Балансировка нагрузки, отказоустойчивость? Да! Знаем. Летаем.

В итоге имеем каталог полный файлов конфигурации v8i на каждую базу отдельно, плюс общий файл конфигурации в котором прописаны все пути до всех файлов конфигурации v8i.

Этап 4 — Файловый или DFS ресурс

Создаем каталог, в котором будут лежать файлы конфигурации v8i для подключения к каждой конкретной базе, а также общий список баз — файл 1CEStart.cfg:
именуем каталог Sync-1CBases.
Идеологический подход по доступу, к общим ресурсам, у всех разный. Многие предпочитают ставить на сам общий ресурс доступ Everyone — Full control, а дальше рулить доступом на уровне файловой системы. Так проще. Я предпочитаю отсекать доступ сразу на уровне самого общего ресурса, не создавая дополнительной нагрузки на файловый сервер лишними перепроверками возможности доступа.

На новый сетевой ресурс даем доступ группе «_Базы 1С – Доступ к файлу конфигурации 1CBases.cfg» права на чтение.

Божественные мануалы одной картинкой. Вместо тысячи слов.


Важно:
Дальше настраиваем безопасность на уровне файловой системы.

Самый первый шаг — это сброс настроек по умолчанию на объекты каталога Sync-1CBases. Отключаем наследование разрешений. Оставляем «SYSTEM», локальные Администраторы, Администраторы домена. Там, где есть лес можно добавить администраторов предприятия и/или делегированных администраторов. Получившийся результат применяем с наследованием. Тут же, не отходя далеко от кассы, добавляем группу AD «_Базы 1С – Доступ к файлу конфигурации 1CBases.cfg» с правом Чтение и только на этот каталог без наследования. На этом шаге мы получаем возможность добраться до корня папки и получить список файлов в каталоге.



До сих пор не привыкну к такому интерфейсу настройки прав доступа

Дальше самая соль:

На файл 1CEStart.cfg мы выдаем право на чтение только группе AD «_Базы 1С – Доступ к файлу конфигурации 1CBases.cfg»


Затем на каждый файл конфигурации базы v8i выдается доступ для своей группа доступа Active Directory:


Повторять последний шаг пока файлы конфигураций v8i баз данных не закончатся.

Этап 5 — Групповые политики

Очень многие не используют групповые политики. Многие используют их пренебрежительно мало. Зря-зря-зря. Это очень мощный инструмент облегчающий жизнь на работе даже в малых офисах.

Создаем новую групповую политику, линкуем её на корень домена. Указываем, что работает она только с Domain Computers:


Главное откровение (или нюанс) тут в том, что список баз подключается не по пользователю, а к ПК. К сожалению, пользователь не может с своими правами заменить файл конфигурации, находящийся в C:\ProgramData\1C\1CEStart\ и за него это сделает ПК.


Здесь задача взять файл с общего ресурса и заменить локальный файл.
Что бы это делали только ПК с установленной 1С, задаем условия выполнения групповой политики через Item Level Targeting.

Проверяем наличие установленной 1С:


Это самая элементарная проверка. Проверяет как для х86 так и для х64 редакций операционных систем. Не делает различий между серверными и клиентскими ОС.

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

Файл приводится в соответствие при загрузке ПК, либо раз в 90+- минут.

Этап 6 — Пользователь

Берем пользователя. И добавляем его в группы AD:


После чего производим вход пользователя в систему, запускаем 1С, которая считывает файл конфигурации и подключает все файлы v8i к которым у пользователя есть доступ. Результат:


Чего собственно и добивались.

При это данное решение не затрагивает файл C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i в котором хранятся базы, которые прописал сам пользователь. Впрочем, его всегда можно обнулить, чтобы почистить список баз у пользователя. Групповые политики вам в руки!

Эпилог

Формально я передал одну из множества вариантов реализации. Передал идеологию. Дополнительные решения к этой статье могут быть весьма широкими:
Автоматическое создание файла v8i, добавление его в cfg, создание группы AD для базы 1C.
Доступ для редактирования для специалистов по 1С для этих же файлов.
Проверка актуальности файла конфигурации cfg прежде чем заменять его на ПК.
Для параноиков можно создавать cfg файлы с предопределенными списками, а в v8i прописывать более одной базы. И вообще делать имена v8i файлов без указания на имя базы.
Можно изменить способ доставки cfg файла на ПК, где в конфигурации ПК изменяются права доступа к данному файлу, а пользователь уже с своими правами перезаписывает его.
И многое другое. Все что пожелаете. Каждый волен решать сам.

Итого:
Пользователей стало много! – не имеет никакого значения.
Баз стало много! – внесли базу 1Сники в реестр, пользователи её получили. Не внесли – база даже самоподключенная исчезнет у пользователя при следующем входе в систему, если включено обнуление списка локальных баз.
Невнятные названия баз! – какая разница? У тебя всегда актуальная информация. Нет полной информации о базе – нет базы у пользователей.
Частая ротация пользователей! – была заявка подключить базу? Есть база! Сменил место или подразделение, потерял базу вместе с сбросом прав.
Нагрузка! Скрипты! – где? Зачем? Балансировка, точное нацеливание, только актуальная информация, легкость обслуживания и поддержки.
Где мои базы?! – не положено! Ну или пользуйтесь пожалуйста. Все довольны.
Кластеры 1С? Сервера БД? – никакой путаницы. Все уже задано настройками. Технари заняты полезными делами, а не выяснением кому, куда и чего прописывать, как это обзывать и как не оставить пользователей с утра без учетной системы из-за обновления.

Постскриптум

Я потратил день. Чтобы вы за пять минут долетели. Спасибо!

Update:
Хабражитель — sisaenkov справедливо заметил, что вместо копирования cfg файлы в папку C:\ProgramData\1C\1CEStart\, для клиентских систем на базе Windows XP следует использовать переменную "%ALLUSERSPROFILE%\Application Data\1C\1CEStart\", в то время как для систем на базе Vista и старше можно использовать указанный в статье вариант, либо переменную %ProgramData%\1C\1CEStart\

Читайте также: