Разработчики в управляемых приложениях применили новый механизм настройки прав доступа, о которых и пойдет речь.
Будут перечислены все те грабли, которые собрал автор, чтобы вы о них знали.
Наверняка, уже все знают, что из себя представляет новая система, поэтому предистория вкрадце:
Как было раньше( в обычном приложении):
Есть документ. Есть Роли - ПолныеПрава, ДокументНетДоступа, ДокументТолькоЧтение, ДокументЧтениеИРедактирование. В конфигураторе(аналогичный механизм в реж предприятия) вы выставляете пользователям эти роли и у них появляются соответствующие права доступа на документ. Все просто и скучно и даже зевать хочется.
С введением управляемого приложения разработчики решили усложнить(читается как расширить) настройки прав доступа.
Теперь:
Вводная та же. Чтобы дать пользователю какие-то права на документ - сначала вам необходимо создать элемент справочника Профили групп доступа. Это некий агрегирующий(суммирующий значения) объект, который объединяет роли в группы ролей. Теоритически таких профилей можно создать сколько угодно много с различным набором ролей( N*(n-1), где N - количество ролей), но на практике количество профилей определяется количеством должностных обязанностей пользователей в организации и их гораздо меньше, чем ролей.
Чтобы "привязать" эти профили к пользователям - нужно создать элементы справочника ГруппыДоступа. В типовых они создаются автоматически, когда вы отмечаете галочками профили для пользователя. Этот справочник соединяет профиль и пользователя(или нескольких пользователей).
При записи этого элемента справочника система автоматически добавляет роли (из профиля) в роли пользователя. Поэтому не стоит напрямую редактировать роли в конфигураторе, как раньше - при редактировании прав в Предприятии все роли в конфигураторе будут обновлены на роли из профилей пользователя. Кроме того, будет наблюдаться явное противоречение между набором профилей с ролями и ролями, установленными в конфигураторе.
Как хранятся роли в Профиле групп доступа, спросите вы. Ведь роли - это объекты МД, это не ссылочные типы. Отвечаю - для этого(и не только) разработчики создали служебный справочник ИдентификаторыОбъектовМетаданных, в котором хранится( в иерархии!) имена, синонимы, значения пустых ссылок всех объектов МД. Если вы хотите создать Профиль программно и добавить в него роль, то код примерно будет таким:
Но если мы добавили новую роль в конфигурации, то как она попадет в справочник? Хороший вопрос. У справочника ИдентификаторыОбъектовМетаданных есть метод, позволяющий обновлять его данные. это:
Процедуру следует запускать каждый раз, когда вы вносите изменения в метаданные, особенно когда изменяете роли, объекты, связанные с новыми ролями.
Отлично. Роль добавили, идентификаторы обновили.
Но обратная связь не работает - вы в режиме предприятия назначили пользователю профиль( с созданием группы доступа), а роль у пользователя в конфигураторе не добавилась! Что делать?
За синхронизацию ролей/профилей отвечает константа ПараметрыРаботыПользователей. Если роли не обновляются в конфигураторе, следует обновить её значение:
Хорошо, скажите вы. А как быть, если я хочу создать группы доступа программно? Да не вопрос. Единственное ограничение - не допускаются дубли связок Профиль-Пользоваль в группах доступа. Примерный код будет таким:
После выполнения этого кода, если все, что нужно обновлено - типовая конфигурация добавит пользователю роли.
Раз уж пошли по программному пути, вот код, который добавляет пользователя в справочник Пользователи и ПользователяИБ в ПользователиИнформационнойБазы:
Если вы добавляете не программно, то добавлять нужно из режима Предприятия - тогда пользовательИБ у вас сам создатся.
И если раньше, в обычном приложении, достаточно будет добавить польз в конфигураторе - и при заходе в Предприятие, этот польз сам создавался в спр Пользователи, то с управляемым приложением такой фокус не прокатит - система не даст зайти под пользователемИБ, которого нет в справочнике Пользователи.
Что такое 1С? 1С — это фирма, у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. «1С:Предприятие» - конкретный продукт, который выпускает компания 1С.
Что такое 1С:Предприятие? 1С:Предприятие — программный продукт компании 1С, предназначенный для автоматизации деятельности на предприятиях всевозможной направленности. Многие называют просто - программа 1С.
Первоначально, продукт 1С:Предприятие был предназначен для автоматизации бухгалтерского учёта и управленческого учёта (включая начисление зарплаты и управление кадрами). Но сегодня этот продукт находит своё применение в областях, далёких от собственно бухгалтерских задач. 1С:Предприятие — это (одновременно) и технологическая платформа, и пользовательский режим работы. Технологическая платформа предоставляет объекты (данных и метаданных) и механизмы управления объектами. Совокупность объектов (данных и метаданных), а также связей между ними, задаваемых программистом, представляет собой конфигурацию. При автоматизации какой-либо деятельности составляется своя конфигурация объектов и связей между ними, задаваемых программно, которая и представляет собой законченное прикладное решение. Конфигурация создаётся в специальном режиме работы программного продукта под названием «Конфигуратор», и параллельно с созданием этой конфигурации существует возможность тут же проверять ее работоспособность в режиме «1С:Предприятие», осуществляя отладку. Пользователи же работают исключительно в режиме «1С:Предприятие», в котором получают доступ ко всем функциям (сообразно правам каждого конкретного пользователя), реализованным в данном прикладном решении (конфигурации).
Предназначение 1С:Предприятия
Для успешного изучения платформы 1С :Предприятия важно понимать для чего собственно она нужна - а нужна она для автоматизации экономической и организационной деятельности предприятия. Заметь, о бухгалтерии и торговле речь не идет. 1С: Предприятие — это универсальная платформа, которую можно приспособить к деятельности абсолютно любого предприятия. Такая универсальность достигается за счет гибкой конфигурируемости. Каждое решение на 1С:Предприятие представляет собой отдельную конфигурацию. Если говорить простым языком, то конфигурация представляет из себя программу (так говорить не совсем верно, но для начала сойдет), для работы которой необходима платформа.
Если ты когда-нибудь слышал про язык программирования Java, то ты должен знать, что для работы написанных на нем программ необходима виртуальная машина. С 1С: Предприятием ситуация аналогичная. Когда мы начнем разрабатывать нашу первую конфигурацию ты сможешь в этом убедиться. Пока тебе главное запомнить, что для работы любой конфигурации (программы) необходимо наличие платформы (1С:Предприятие).
1С:Бухгалтерия, ЗУП, УТ, УПП и т. д.
На основании полученных знаний в прошлом разделе раз и навсегда узнаем и запомним. 1С бухгалтерия — это на самом деле платформа 1С:Предприятие и ти, повая конфигурация (программа) «Бухгалтерия», назначение которой понятно из названия. Следовательно если ты в газете/на сайте видишь объявление «требуется 1С-программист», то это означает, что возможно тебе придется столкнуться или конфигурацией «бухгалтерия» или с «Управление торговлей» или вообще с самописным решением.
Когда я говорил, про конфигурацию «Бухгалтерия», то я применил к ней слово «типововая». Все конфигурации, разработанные на платформе «1С:Предприятие» принято классифицировать как типовые и не типовые. Типовые конфигурации — это те, которые выпускаются и поддерживаются компанией 1С. Среди таких: 1С бухгалтерия, 1С:Управление торговлей, 1 С: Зарплата и кадры и т. д. Не типовые — это все те которые разработаны другими компаниями или отдельными программистами. Я уже говорил, что знакомится с 1С :Предприятие мы будем на примере разработке своей собственной конфигурации. Наш проект будет является не типовой конфигурацией. Типовые конфигурации я рассматривать не планирую, но в будущем может что-то измениться и мы поковыряем бухгалтерию.
Когда лучше использовать 1С:Предприятие?
Все, что можно сделать на платформе 1С:Предприятие, можно повторить на любых других системах разработки. Например, возможностей Delphi, Visual Studio без проблем хватит, на любую задачу. А раз возможностей Delphi (например) хватает, то зачем использовать 1С? Ответ прост до безобразия (во всяком случае это ответ, который я дал сам себе). Главная причина использования 1С — скорость разработки решения. Если на Delphi тебе придется писать ту же бухгалтерию с нуля, то на 1 С: Предприятие у тебя уже есть готовая основа — типовая конфигурация «Бухгалтерия», которую ты можешь либо использовать полностью, либо взять отдельные элементы. Кроме того, 1С:Предприятие аппетитно выделятся на фоне альтернативных решений. Среди ключевых особенностей платформы можно выделить:
1. Большое количество объектов метаданных, которых хватит для решения самых разнообразных задач. Тебе не нужно возиться с создание таблиц в самой БД. Все что ты делаешь — оперируешь объектами платформы, а она в свою очередь использует готовую структуру сервера БД.
2. Поддержка разных СУБД. 1С:Предприятие хорошо работает как с MS SQL Server, так и с бесплатной СУБД — PostgreSQL. Это означает, что делая выбор в пользу 1С:Предприятие, ты можешь сэкономить деньги на лицензиях. Считай, все, что тебе потребуется — купить сам
1С :Предприятие (+сервер приложений). PostgreSQL является бесплатной кросс-платформенной системой, а значит, для сервера с БД тебе подойдет любая unix-like ОС. Получается, что экономия более чем заметна — тебе не требуется серверная ОС от Microsoft, а также MS SQL Server.
3. Простота использования. Как ни крути, а работать с 1С:Предприятие проще, чем с голым СУБД. Встроенный язык программирования по синтаксису похож на паскаль (basic), большинство функций по конфигурированию выполняются мышкой и не представляют сложности. И самое главное - простота использования не сказывает негативного влияние на возможности системы. Они действительно большие и их хватит для многих проектов.
4. Наличие огромного числа специалистов. Сегодня найти специалиста по 1С:Предприятие гораздо проще, чем например, по C#. С одной стороны, такое положение дел весьма неплохое, т. к. найти человека, способного поддерживать/дорабатывать уже работающий проект очень легко.
5. Поддержка со стороны компании 1С. Компания «1С» как никто другой заинтересована в продвижении своих программных продуктов. И продвигает она не рекламой, а качеством и сервисом. По своему опыту могу сказать, что поддержка работает на должном уровне и большинство проблем решается быстро. Программисты компании также не сидят на месте и постоянно фиксят ошибки в платформе, выпуская новые релизы.
6. Поддержка типовых конфигураций. Законодательство в нашей стране меняется со страшной силой и такие перемены очень отражаются на бухгалтерии в виде изменения форм отчетности. Кто хоть раз сталкивался с бухгалтерией или торговлей может представить себе печатные формы отчетов-монстров (вроде Торг2, Торг12 и т. д.). Для правки этих отчетов при использовании сторонних бухгалтерских программ всегда приходилось нанимать программистов, т. к. работать с кодом бухгалтера не могут.
При использовании 1 С: Предприятие и типовой конфигурации «Бухгалтерия» проблема «доработки» стандартных отчетов отпадает раз и навсегда. Программисты компании «1 С» оперативно выполняют все необходимые модификации отчетов (и всех остальных элементов) и поставляют клиентам обновленные версии конфигурацией. Вот с обновлением конфигурации бухгалтер может справится самостоятельно (хотя тут все зависит от конкретного представителя этой расы пользователей . На крайний случай, всегда можно подыскать специалиста из франчайзи, услуги которого будут стоить намного дешевле, чем работа программиста.
В 1С:Управление торговлей 8 повышена масштабируемость платформы и средств разработки прикладных решений. Увеличена производительность.
В "1С:Предприятии 8" повышена масштабируемость:
Различные аспекты масштабируемости "1С:Предприятия 8" рассматриваются в специальном издании и описаны на сайте: http://v8.1c.ru/scale/. Если говорить коротко, то под увеличенной масштабируемостью мы понимаем меньшую зависимость производительности системы от нагрузки (количества пользователей и количества обрабатываемой информации). Или, по-другому, повышенную производительность при той же нагрузке.
Можно ли использовать программу "1С:Управление торговлей 8" в маленьком магазине?
Программа "1С:Управление торговлей 8", выпускаемая фирмой "1С", рассчитана на торговые предприятия самого разного масштаба. Однако, для компаний, в которых с информационной системой работает до 5 пользователей, рекомендуется использовать решение "1С:Управление небольшой фирмой", реализующее меньше продвинутых возможностей, но более простое в использовании. Если сферой деятельности предприятия является розничная торговля, то рекомендуем использовать решение "1С:Розница 8".
В то же время, предприятие может использовать только ту часть функционала "1С:Управление торговлей 8", которая ему необходима. Например, если нет необходимости управлять бизнес-процессом продаж с использованием сделок с клиентами или классифицировать номенклатуру по спектру характеристик, это делать не обязательно. Для работы с программой предприятие не обязано использовать все функциональные возможности.
Подойдет ли программа "1С:Управление торговлей 8" для небольшого торгового предприятия с 15 рабочими местами?
Да, типовая конфигурация "Управление торговлей" ориентирована, в первую очередь, на торговые предприятия с числом сотрудников от 10 до нескольких сотен.
Говорили, что система "1С:Предприятие 8" рассчитана на крупные предприятия, а нам она не подойдет. Соответствует ли это действительности?
Нет, это утверждение не соответствует действительности. Увеличение масштабируемости и возможность работы с большей нагрузкой не означают ориентацию прикладных решений только на крупные предприятия.
Нам кто-то сказал, что работать с программами на новой платформе имеет смысл, когда число компьютеров больше 50. Это правда, что она не подходит?
Возможность работы системы "1С:Предприятие 8" с большим числом активных сессий не означает, что сама платформа и все прикладные решения ориентированы только на большое число рабочих мест. Среди пользователей прикладного решения "Управление торговлей" имеется достаточное малых предприятий с числом рабочих мест от 1 до 20.
Операции, проводки, корреспонденции
Для отражения данных о хозяйственной деятельности предприятия в бухгалтерском учете используются операции. Каждая операция содержит одну или несколько проводок. Проводка всегда принадлежит одной и только одной операции. Каждая из проводок, в свою очередь, может состоять из одной или нескольких корреспонденций. Проводки, содержащие несколько корреспонденций, называются сложными. В сложных проводках дебет одного счета корреспондирует с кредитом нескольких счетов или наоборот.
Свойства операции и проводки
Операция имеет следующие свойства: содержание операции, ее общая сумма, дата, номер, а также другие реквизиты, определяемые конфигурацией.
Проводка имеет следующие свойства: счет дебета, субконто счета дебета, счет кредита, субконто счета кредита, сумма проводки, валюта, количество, валютная сумма, а также другие реквизиты, определяемые конфигурацией.
Журнал операций и журнал проводок
Журнал операций служит для просмотра списка введенных бухгалтерских операций. Каждая операция отображается в нем одной строчкой, содержащей наиболее важную информацию об операции: дату, вид документа, содержание, сумму операции и т. д. В журнале операций существует возможность просмотра проводок текущей операции. В журнале операций можно просматривать как все операции, так и выборочно, руководствуясь при этом различными условиями. Так, например, можно сделать “видимыми” только те операции, которые попали в заданный временной интервал.
Журнал проводок является средством просмотра введенных проводок. Каждая операция содержит в себе одну или несколько проводок. Проводка всегда принадлежит одной и только одной операции. В журнале проводок отражаются проводки, относящиеся к разным операциям.
Режимы ввода операций
При ручном вводе операции все данные заносятся непосредственно пользователем.
Использование типовых операций автоматизирует ввод стандартных или часто используемых операций. Типовая операция представляет собой шаблон хозяйственной операции, т.е. некоторые данные уже введены, например, счет дебета и счет кредита. В типовой операции есть некоторые возможности по автоматическому расчету сумм проводок и других данных. В отличие от документов, которые полностью настраиваются в конфигурации, типовые операции вводятся пользователем.
Использование документов еще больше облегчает ввод хозяйственной операции. При таком вводе операции пользователю не надо заполнять все данные об операции: как правило, в документ вводится необходимая информация о хозяйственной операции, а проводки формируются автоматически при проведении документа