1с 7 настройки пользователя
В начале далекого уже сегодня 2007 года у меня возник проект, в котором стояла задача разработки системы контроля прав для конфигурации на платформе 1С:Предприятие 7.7. Стоял выбор - полностью перерабатывать конфигурацию заказчика или сделать что-то универсальное.
"Универсальное решение для любой конфигурации 7.7 ? Без подписок на события и т.п.? Не смешите меня - такое невозможно сделать!" - именно эти слова коллеги пробудили во мне спортивный интерес и практически "на спор" была разработана Система управления правами для 1С:Предприятие 7.7
Система построена на базе небезызвестного компонента 1С++, который в то время как раз "обзавелся" функциями перехвата событий. И по сегодняшний день в платформе 1С:Предприятие 8 нет подписок на события формы - а в 1С++ они работали уже тогда!
История разработки
Как и положено универсальному инструменту главным условием при разработке системы стало не трогать саму конфигурацию, в которой предполагалось управлять правами. Нужно было обойтись минимальными изменениями, скажем, одной строкой кода в глобальном модуле. И это получилось!
Конечно же, разработка не была простой. Потребовалось "разобрать на запчасти" все возможные события платформы, побороться с особенностями не только модальных, но и весьма специфических (как оказалось) окон. Таких как, например, выбор периода для журнала.
Желающим ознакомиться с ходом разработки можно заглянуть в файл whatsnew.txt - там описано много нетривиальных проблем, которые пришлось решать прямо по ходу проекта. Был задействован целый ряд инструментов - и DynamicWrapper для вызова WinAPI процедур, и компонента UsersDef.dll для управления пользователями прямо из пользовательского режима.
Возможности Системы
Достоинства этой Системы управления правами по сравнению с типовым механизмом такие.
Помимо "фич" есть и просто полезные инструменты, облегчающие труд по работе с правами.
Порядок установки и запуска
Чтобы попробовать Систему самому, достаточно выполнить лишь несколько несложных действий. Работу можно производить на любой конфигурации. Перед тем, как выкладывать эту Систему сюда я проверял ее на первой попавшейся конфигурации - типовом "Бухучете для Украины" (релиз 281). На всякий случай уточню, что все действия по настройке производятся в Windows от имени администратора - я не проверял, как поведет себя Система при работе с ограниченными правами.
Итак по порядку.
Шаг 1. Подготовка файлов
Берем любую конфигурацию для платформы 7.7. Скачанный архив разворачиваем в папку ИБ с сохранением иерархии архива.
Файл dynwrap.dll из каталога ИБ переносим в папку \Windows\System32 и регистрируем в системе командой
Шаг 3. Доработка конфигурации
Доработка конфигурации выполняется за 1 минуту. Если у вас в конфигурации уже используется FormEx и 1C++, тогда действительно понадобится добавить всего одну строку в глобальный модуль. Если нет, то полный текст "вставки" будет выглядеть так:
Еще одна микродоработка связана с тем, что у некоторых объектов при проверке права открытия формы окно все же "мелькает" на экране. Во избежание этого был доработан механизм "подмены" формы на свою. Ему требуется, чтобы в метаданных была пустая обработка с именем "ОшибкаДоступа_Тихо" и модулем из 3-х строк:
Благодаря подмене "проблемных" форм объектов на эту форму окна даже не мелькают (если нельзя открывать форму объекта).
Вот и все доработки. Теперь можно запускать 1С:Предприятие.
Шаг 4. Загрузка прав из существующих наборов
Вместе с предприятием сразу откроется обработка "Управление доступами". Она откроется только один раз - при первом запуске - и сформирует файл для хранения прав (файл \Security\mdsec.mdb в каталоге ИБ). Если что-то пойдет не так - можно просто удалить этот файл - при следующем запуске Система создаст его снова и откроет форму обработки. Безусловно, открыть обработку можно и вручную.
В форме обработки "Управление доступами" нажмите кнопку [Импорт объектов и прав]. При этом
- будет загружена структура метаданных вплоть до форм и именованных реквизитов на них
- проанализированы права доступа текущего пользователя к объектам и такие же права будут загружены в Систему
- набор прав будет превращен в группу пользователей, а текущий пользователь помещен в эту группу
С этого момента можно уже полноценно работать в системе.
Учтите, что права доступа к новым объектам по умолчанию не выдаются! Для реквизитов формы придется давать права вручную, ведь в классической платформе 7.7 не существует прав на формы и их реквизиты.
Заключение
Если запустить Систему не получится - попробуйте еще раз детально изучая каждый шаг, описанный выше. Если неполучится и после этого - пишите в комментариях, будет разбираться.
Просьба не "бежать" устанавливать Систему сразу на боевой базе. Да, она уже достаточно отлажена, но падения платформы еще возможны.
Чтобы "проникнуться" результатами работы Системы сразу после установки сделайте вот что. Откройте любой документ/элемент справочника, найдите там какое-то поле ввода или кнопку (только обязательно с установленным идентификатором!). В обработке управления правами доступа попробуйте установить право и, не закрывая "подопытную" форму, нажать на объект для которого изменили права. Работает? Таки неправ был коллега - бывает и такое! ;)
Официально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL Server 2008 R2. Ниже представлена пошаговая настройка связки 1С:Предприятие 7.7 + MS SQL Server 2008 R2 + Microsoft Windows Server 2008 R2 (Справедливо и для других операционных систем семейства Windows). Итак:
0. Оглавление
1. Установка Windows Server 2008 R2
В качестве серверной ОС используем Microsoft Windows Server 2008 R2. Об установке этой системы подробно можно прочитать в статье «Установка Windows Server 2008 R2».
2. Установка SQL Server 2008 R2
Далее устанавливаем Microsoft SQL Server 2008 R2. Во время установки выбираем:
Очень подробно об установке SQL Server я писал в статье «Установка Microsoft SQL Server 2008 R2».
3. Создание новой базы данных в SQL Server 2008 R2
Добавляем нового пользователя в SQL Server 2008 R2. Обязательно даем ему роль processadmin, иначе будем натыкаться на ошибку:
Затем создаем новую базу данных, указав:
4. Настройка Windows Server 2008 R2
Теперь необходимо заменить оригинальные фалы odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll (скачать все файлы одним архивом) в каталогах C:\Windows\System32 и в C:\Windows\SysWOW64 файлами из каталога C:\Windows\System32 под управлением Windows Server 2003 (в архиве).
Чтобы сделать это необходимо стать владельцем этих файлов и получить права на их редактирование . Для этого заходим в C:\Windows\System32 находим файл odbcbcp.dll, кликаем по нему правой кнопкой, выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность», нажимаем «Дополнительно».
5. Установка 1С:Предприятие 7.7
Теперь необходимо установить 1С:Предприятие 7.7, ставим версию для SQL. Об особенностях установки читайте в статье «Установка системы 1С:Предприятие 7.7 в Windows x64».
6. Патч и замена файла BkEnd.dll
- «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!»
- «Порядок сортировки, установленный для базы, отличается от системного!»
- «Неправильный синтаксис около ключевого слова «TRANSACTION»
- «База данных не может быть открыта в однопользовательском режиме»
7. Создание представления sksprocesses в MS SQL Server
Теперь в окне слева напишем текст представления:
После того, как код изменится, сохраним представление, назвав его sksprocesses.
Теперь отмечаем разрешения для guest:
- Вставка
- Выборка
- Изменение
- Назначение владельцем
- Обновление
- Просмотр определения
На этом создание представления завершено.
8. Добавление информационной базы в 1С:Предприятие 7.7
После этого этапа уже можно работать в 1С под текущим пользователем Windows.
9. Настройка безопасности для всех пользователей
Смотрите также:
В данной статье я подробно опишу процесс установки Microsoft SQL Server 2008 R2 в Windows Server 2008 R2 (для других ОС семейства Windows процесс аналогичен). Во время установки будут выбраны…
Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…
Если к службе Microsoft SQL Server должны подключаться программы с других компьютеров в сети, то необходимо чтобы правильным образом был настроен Брандмауэр Windows на сервере, где запущена служба. А именно разрешены…
Запись опубликована в рубрике 1С 7 с метками 1Сv7, SQL, Windows Server 2008. Добавьте в закладки постоянную ссылку.215 Responses to Установка 1С:Предприятие 7.7 на Microsoft SQL Server 2008 R2
Попробуйте вообще отключить Брандмауэр Windows и все другие существующие сетевые экраны и антивирусы. Будет ли ошибка в этом случае?
Спасибо за статью все понятно написано! )))
При этом база корректно работает и проблем нет!
Если можно подскажите в чем трабл?, уж очень нужно перейти на SQL 2008
Вообщем создать представление
и все норм
Еще раз спасибо за статью
Но тут выскочила серьезная проблема. Когда я начал тестить на производительность, многие вещи страшно тормозят, например, просто просматриваю справочник номенклатур по группам, с проставленной галочкой показывать остатки, и это причем, что я один работаю и не запускал еще пользователей.
Как-то непонятно расходуется оперативная память.В чем может быть дело, буду благодарен вашим советам.
Да вроде по счетчикам все нармуль.
Память\ обмен стр/с: Старый сервак 5,134, Новый 1,112.
Физ.диск\ средняядлина очереди диска: Старый 0,935. Новый 0,132
Лог.диск\ ср. длина очереди: Старый 0,852. Новый 0,29.
Такое ощущение, что дело в sql server. Может из-за того, что работает в режиме совместимости с 2000, как будто операцию делает два раза, типа сначала преобразует данные из режима sql2000, потом их обрабатывает, а потом выдает опять в данном режиме для 1с.
А вообще есть какие-нибудь тонкие настройки для sql2008 при работе с 1с?
Скорее всего кавычка с браузера неправильно скопировалась. Попробуйте установить кавычки в запросе руками.
Особенность шрифта на сайте, но когда писал коммент, во втором случае были другие кавычки. После вставки кавычки стали одинаковые. Не знаю, как показать разницу тогда.
тогда в обработке адм_списокПользователейКонфигурации.ert станут доступны функции управления непосредственно интерфейсом пользователя(предполагается, что FormEx.dll уже загружена):
- возможность назначения пользователю дополнительных интерфейсов, что даст возможность пользователю не открывая новую сессию 1С переключиться на другой интерфейс;
- изменять свойства пункта меню;
- удалять/добавлять новые пункты меню;
- менять колонки меню и пункты меню местами.
В случае использования динамического меню пользователь может включить изменения интерфейса акселератором Ctrl+Alt+Shift+F5
Специальные предложения
Вот на этом работа и закончилась.
Есть, конечно еще некоторые неприятные мелочи, быстро доработываемые, конечно, типа:
Код |
---|
Показать полностью |
А если конфигураций много? Правильнее, имхо, написать так:
Код |
---|
Показать полностью |
По поводу каталогПрораммы(): конечно же, если конфигураций много - то логичней, но у нас все подсистемы/задачи в одной конфигурации.
Ошибочка!интерфейсыТЗ.получитьСтрокуПоНомеру(интерфейсыТЗ.текущаяСтрока());
: Поле агрегатного объекта не обнаружено (фТП)
интерфейсыТЗ.получитьСтрокуПоНомеру(интерфейсыТЗ.текущаяСтрока());
Просмотры 26577
Загрузки 882
Рейтинг 25
Создание 12.04.08 13:29
Обновление 12.04.08 14:07
№ Публикации 15731
Конфигурация 1С:Бухгалтерия 7.7
Операционная система Не имеет значения
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Не указано
См. также
Мини-класс для непосредственного ввода в элементах диалога V7.7
26.06.2012 23976 168 Ёпрст 88
v77. Блокировка системы
Инструмент администратора. Блокировка системы с целью "горячего" резервного копирования ИБ.
23.03.2012 12190 31 item 22
LockDB - утилита для обеспечения OnLine копирования информационной базы данных "1С:Предприятие 7.7".
25.06.2011 18900 34 hogik 6
Граната для обезьянки или редактор движений регистра (7.7)
Правим движения регистра не отходя от кассы! Универсальная поделка для редактирования движений любого документа, даже если он не проведен или помечен на удаление.
17.12.2010 41371 1330 Ёпрст 189
Инструменты анализа информационной базы 7.7
Инструменты анализа информационной базы 7.7 Включает в себя 3 обработки: 1) ИнвентаризацияИБ - анализ используемости справочников и документов 2) ИсследованиеРегистров - анализ того, какие именно документы (по видам) двигали тот или иной регистр 3) ИсследованиеНабораПрав - анализ текущего набора прав Все очень простое и не претендует на оригинальность и "некривость", написано давным-давно, используется редко, но работает )) Возможно, сэкономит кому-то полчаса времени.
27.09.2010 10663 63 Natalia 1
Проверка выхода новых релизов конфигураций 1С
Конфигурация на 1С: 7.7 для проверки выхода новых релизов
05.11.2009 3870 106 niru 11
Советы дня от Омара Хайяма (для 1Cv7.7)
Пользователи выучили наизусть все "советы дня" от 1С? Предложите им стихи о вечном.
23.09.2009 9409 251 reddy5 15
Журнал документов с индивидуальной настройкой периода для пользователей
Позволяет использовать журналы документов с периодами индивидуальными для текущего пользователя.
02.09.2009 11016 19 try2007 34
Альтернатива стандартному предупреждению(вопросу)
28.08.2009 13610 69 nikakoy 29
Тест группировок в Эксель. Для 1С 7.7
Тестовая выгрузка справочника номенклатуры в Эксель с xls-группировками. (Такие плюсики слева от листа)
12.08.2009 15451 232 dav405 12
Сравнение содержания документов Реализация и Счет-фактура
Сравнение содержания документов Реализация и Счет-фактура
06.08.2009 11054 191 tandy82 10
[PDF Viewer] - Просмотр PDF в 1С
ActiveX-компонента для просмотра PDF. Позволяет сохранить в виде текста, картинки и PostScript. Реализованы механизмы поиска текста и печати.
15.07.2009 39300 936 Душелов 57
Часы в 1С
Пользователям понадобились часы при работе в терминальном доступе.
08.06.2009 16632 554 Vit aka proger 13
Форма дерева любого справочника через FormEx
Форма справочника в виде обработки FormEx
04.06.2009 10961 244 unpased 40
Обработки для просмотра таблиц, списков, справочников, документов, регистров. Групповая обработка справочников и документов.
Для работы мне нужен был ряд возможностей в 1С, которых я не нашёл в обработках в инете, хотя нашёл какие-то обработки. Пришлось написать эти обработки "для себя". Для того, чтобы ими могли пользоваться люди без особых знаний конфигураций 1С, мне пришлось сделать доработки "для людей", что сделало использование гораздо более удобным, в том числе и мне :о). Желаю успехов.
13.05.2009 23393 1173 legcc 16
Монитор пользователей для 7.7
Данная конфигурация является примером использования обработок «История работы пользователей» и «Монитор пользователей», созданных мною для охоты на юзеров-трудоголиков, скрывающихся от администратора и не желающих выходить из 1С, когда это нужно опять-таки администратору.
13.03.2009 14217 576 andrewbc 16
Групповое обновление конфигураций 1С
Программа для группового обновления конфигураций 1С, копирования файлов и т.п.
18.02.2009 19468 1216 zsrg 38
[Tray1C] Сворачивание 1С в системный трей
21.01.2009 40350 844 Душелов 105
Быстрое сохранение в Excel (автор romix)
Помогает быстро сохранить печатные формы в формате Excel. Имеет смысл при сохранении больших отчетов, что обычно занимает немало времени.
25.12.2008 16044 373 kasperok 16
Смотрелка движений документов по регистрам,Реестр документов
Как и написано - показывает, что документ двигает по ресурсам РЕГИСТРОВ. Заодно получился реестр документов с одиночными фильтрами. Теперь банановый, тьфу, теперь и с множественными фильтрами.
14.12.2008 9630 50 dav405 10
"Захват окон" - ActiveX-компонента для 1С
Захватывает открытые окна и помещает их в 1С, так же получает скриншот выбранного окна. Хотите играть в пасьянс в 1С, смотреть кино или просматривать секретные документы ;) и не светить эти окна на рабочем столе, тогда эта компонента для Вас :)
20.11.2008 26485 237 Душелов 64
Пятничная выгонялка пользователей
Вам надоели пользователи которых нужно выгонять из базы, когда их уже нет на работе? Предлагаю выгонять вот так :)
14.11.2008 11453 1387 Tempus 35
"Чат для 1С" - ActiveX-компонента для 1С + Сервер (Консольный) [БЕТА-ВЕРСИЯ]
02.10.2008 28607 599 Душелов 248
Конвертор таблиц MXL в HTML
Преобразует таблицы MXL в HTML с сохранением форматирования.
22.08.2008 16783 712 gorenski 10
Переход в Общий журнал из списка Контрагентов (экономим время бухгалтера)
Представляю две обработки для быстрого отбора в Общем журнале по договору или контрагенту из списка контрагентов.
21.08.2008 14311 437 Свой 11
Вывод картинок в печатную форму
Обработка выводит все картинки (.jpg) из выбранного каталога (и подкаталогов) в печатную форму. Искал по инету и справкам, как это сделать - нигде не нашёл. Сделал методом научного тыка и решил выложить - может кому пригодиться.
14.07.2008 17428 693 PeRom 27
Код цвета
Получить код цвета из 56 цветов, доступных в 7.7.
14.07.2008 17485 651 йцук 9
Генерация шаблонов под любую конфигурацию 77
Программа генерирует шаблон по файлу описания структуры метаданных
16.06.2008 8423 240 SoftLeon 10
"Аналоговые часы" - ActiveX-компонента для 1С
"Аналоговые часы" - ActiveX-компонента для 1С 8.х Небольшое "украшательство" для форм 1С.
20.05.2008 24394 209 Душелов 23
Индикатор выполнения цикла
Простой индикатор для отображения хода выполнения цикла, написан без ВК, исключительно средствами 1С. Бывает полезно знать, не зависла ли обработка, выполняются ли действия внутри цикла. По сути это просто альтернатива строке состояния.
12.04.2008 15103 996 Mart 14
Раскрашивание цветом журналов документов! (Видео инструкция по внедрению)
Видео-Инструкция по реализации возможностей 1Cpp.dll, а именно раскрашивание журналов документов цветами. В файле имеется: Word - файл, текст модуля который необходимо внедрить и Компонента 1Cpp.dll, а так же видеоинструкция по внедрению и использованию.
07.04.2008 16751 729 dmv78 172
[MXL to XLS]
Решаем две существующие проблемы 1С:Предприятия: * медленное сохранение табличных документов в формате Microsoft Excel. * некачественное сохранение табличных документов в формате Microsoft Excel.
10.03.2008 42681 2811 Ужас бухгалтера 28
Внешняя компонента скрытия меню из окна + скрытие кнопки свернуть/закрыть/максимизировать.
Внешняя компонента скрытия меню из окна + скрытие кнопки свернуть/закрыть/максимизировать.
08.02.2008 14804 282 Hadgehogs 7
24.12.2007 6503 449 kserg 15
Конвертер таблиц из 1С (7.7) в MS Office Word
Обработка конвертирует печатную форму 1С в формат Word. Преобразование сложных таблиц проходит медленно. Проверено на Word 2003. Объединение - только горизонтальное. Не идеал, но приемлемо. Если нет параметра - открывается демо таблица.
Для перехода к настройкам пользователя нажмите кнопку «Доп. свойства» во вкладке «Настройки» в главном окне интеграционного модуля (Рис. 1).
Откроется окно просмотра свойств. В данном окне нажмите кнопку «Показать список» (Рис. 2).
Откроется окно со списком пользователей, работающих с модулем. Для настройки определенного пользователя, дважды кликните левой кнопкой мыши по соответствующей строке (Рис. 3).
Откроется окно настройки выбранного пользователя (Рис. 4).
Для пользователя можно указать следующие настройки:
- ДолжностьПодписанта – должность подписанта
- Подписант – фамилия, имя и отчество подписанта
- Фамилия – фамилия подписанта
- Имя – имя подписанта
- Отчество – отчество подписанта
- Сертификат – сертификат, которым будут подписываться электронные документы, отправленные этим пользователем
- Пинкод – пинкод сертификата для обеспечения множественного подписания документов
- Логин – логин для подключения к платформе
- Пароль – пароль для подключения к платформе
- ПодключениеСОАП – полный адрес для подключения к платформе
- АдресСОАП – адрес платформы
- КаталогЗагрузки – каталог входящих документов
- КаталогВыгрузки – каталог исходящих документов
- АрхивЗагрузки – каталог, в который перемещаются документы из каталога входящих документов после загрузки в УС
- АрхивВыгрузки – каталог, в который перемещаются документы из каталога исходящих документов после отправки их по каналу связи
- КаталогВременныхФайлов – каталог временных файлов
После заполнения данных, чтобы сохранить изменения, нажмите кнопку «Записать», затем «Закрыть». Система вернет в главное окно интеграционного модуля.
Читайте также: