Руководство пользователя Business Studio Версия 3.6, Business Studio 3.6 Глава 17 Приложение 1 Типовые вопросы и ответы
« НазадГЛАВА 17. Приложение 1. Типовые вопросы и ответы1.1. Переназначение ссылок дублирующего объектаВ справочнике элементов класса «Объекты деятельности» ошибочно созданы два разных элемента с одинаковым названием. Требуется переназначить ссылки одного элемента класса «Объекты деятельности» на другой элемент этого класса, для того чтобы все задействованные в диаграммах процессов стрелки ссылались на один и тот же Объект. Стандартным способом избавления от дублирующего объекта в данном случае является удаление одного из объектов с переназначением ссылок на другой объект (см. п. «Удаление элемента» в разделе 2.6). Также можно произвести переназначение ссылок вручную, рассмотрим на примере. Для удобства изложения предположим, что оба Объекта названы «ТМЦ». Требуется переназначить все ссылки первого Объекта «ТМЦ» на второй Объект «ТМЦ». Измените один из Объектов, добавив к его названию любой отличительный признак, например: «ТМЦ_2». Это можно сделать как в дереве Навигатора, так и в окне «Редактирование объекта» (Ctrl+E). Затем, в окне «Редактирование объекта», открытом для Объекта «ТМЦ_2», вызовите контекстное меню (кнопка «Действия») и выберите команду «Поиск ссылок на объект». В окне «Поиск ссылок на объект» будут показаны все стрелки из Словаря стрелок, у которых есть ссылка на Объект «ТМЦ_2». Если требуется для всех стрелок переназначить ссылки на Объект «ТМЦ», то нужно пометить все строки в списке поиска ссылок. Затем щелкните по кнопке на панели инструментов окна «Поиск ссылок на объект». В справочнике класса Объектов выберите Объект «ТМЦ». Ответьте «Да» в окне диалога, чтобы выполнить переназначение ссылок. Таким образом, все стрелки, у которых были ссылки на Объект «ТМЦ_2», теперь будут ссылаться на Объект «ТМЦ». Объект «ТМЦ_2», не связанный больше ни с одной стрелкой, можно пометить на удаление. 1.2. Очистка ссылок на удаленный объектВ окне сообщений выдаются ошибки типа «Внимание! Параметр 'Ответственный за ввод значений' объекта (Показатели)Прибыль использует объект (Физические лица)Зубова Ольга Викторовна, помеченный на удаление. Рекомендуется использовать 'Поиск ссылок' перед удалением объекта». Данное сообщение означает, что у объекта Прибыль (название класса - Показатели) в параметре Ответственный за ввод значений указан помеченный на удаление объект Зубова Ольга Викторовна (название класса - Физические лица). При удалении помеченных объектов все ссылки будут очищены автоматически. Также существует 2 способа избавления от данной ошибки вручную:
Рассмотрим оба способа на приведенном примере. 1 способВыберите пункт Главного меню «Сервис –> Удаленные объекты». В списке удаленных объектов найдите объект Зубова Ольга Викторовна. Выберите пункт меню «Действия –> Поиск ссылок на объект». В открывшемся окне «Поиск ссылок на объект» выделите все строки и нажмите кнопку «Очистить ссылки по выделенным». 2 способОткройте окно свойств показателя Прибыль, выделите параметр «Ответственный за ввод значений» (системное название параметра «ОтветственныйСИФ»). Системное название параметра можно увидеть в Объектной модели (см. п. 12.1). В ячейке параметра Ответственный за ввод значений нажмите крестик и сохраните изменения. 1.3. Примеры использования макросов в отчетахПри проектировании объектной модели в каждом классе определяются необходимые параметры, часть информации является хранимой, часть рассчитывается по имеющимся данным. Процесс наращивания числа параметров в классе может быть бесконечным. Часто для вывода в отчете требуется в таблице добавить колонку, которая рассчитывается перемножением одного из параметров на данные другой колонки таблицы, или посчитать и подставить в таблицу сумму данных в колонке. Иногда нужно добавить график по данным таблицы. Теперь эти задачи имеют решение. Можно написать макросы, которые будут выполняться перед или после выполнения отчета. Для этого требуется установить доверие на доступ к объектной модели VBA. В Microsoft Word 2003 это осуществляется следующей последовательностью действий:
В Microsoft Word 2007:
В Microsoft Word 2010:
Макросы можно использовать как для оформления отчета, так и для получения данных непосредственно из базы (можно написать макрос, который строит отчет, аналогичный регламентирующему документу без единой привязки). Для того, чтобы просмотреть или создать макрос необходимо открыть шаблон отчета на редактирование с помощью гиперссылки Редактировать шаблон в справочнике отчеты объектов. В Microsoft Word 2003 выбрать пункт меню «Сервис –> Макросы –> Редактор Visual Basic». В Microsoft Word 2007 в ленте «Разработчик» нажать кнопку «Visual Basic». Откроется окно Microsoft Visual Basic. В дереве «Project - Normal» щелчком открыть шаблон «ThisDocument» (Рис. 17.3.1). Названия макросов должны быть следующими:
Переменные, которые передаются в макрос:
В отчетах шаблонной базы данных, поставляемой с программой, используется макрос «ПослеВыполненияОтчета». Внимание: Просмотреть объектную модель Word для разработки макросов в редакторе Visual Basic можно по клавише F2. 1.3.1. Пример обращения к значению переменной и данным таблицы в отчетеВ шаблоне отчета «Дневная загрузка ресурса (субъекты)» демонстрационной базы данных можно посмотреть пример использования макроса для расчета суммы и вывода ее в таблицу. Отчет находится в справочнике «Отчеты объектов», в папке «Шаблоны отчетов/ФСА». Текст макроса, выполняемого после выполнения самого отчета, представлен ниже: Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) a = CDbl(Application.ActiveDocument.Variables("СтавкаВЧас").Value) Set T = Application.ActiveDocument.Bookmarks ("ДействияСтоимостьРесурсаИРоли"). Range.Tables(1) kol = T.Rows.Count For i = 2 To kol - 1 Stroka = T.Cell(i, 8).Range.Text l = Len(Stroka) If l > 1 Then d = CDbl(Left(Stroka, l - 1)) 'убрать последний символ ячейки T.Cell(i, 9).Range.Text = CStr(d * a) End If Next i T.Cell(kol, 9).AutoSum End Sub Можно получить значение переменной шаблона, обозначаемой DOCVARIABLE, по имени: Application.ActiveDocument.Variables("<СистемноеНазваниеПривязки>").Value, где <СистемноеНазваниеПривязки> − это название привязки, которое отображается в дереве привязок на конечной странице мастера (см. п. 12.2.1). Таким образом получены данные привязки с типом «Объект». В макросе примера так получено значение привязки «СтавкаВЧас» для дальнейшего использования. Можно получить значение закладки шаблона, по имени: Application.ActiveDocument.Bookmarks("<СистемноеНазваниеПривязки>").Range.Tables(1), где <СистемноеНазваниеПривязки> − это название привязки, которое отображается в дереве привязок на конечной странице мастера (см. п. 12.2.1). Таким образом можно получить данные привязки с типом «Список», «Фильтр», «Дерево». В макросе примера получена таблица «ДействияСтоимостьРесурсаИРоли», и далее ведется работа с данными таблицы. 1.3.2. Пример вывода графика по данным таблицы в отчетеВ шаблоне отчета «Значение показателя за период» демонстрационной базы данных можно посмотреть пример использования макроса для вывода графика по данным таблицы. Отчет находится в справочнике «Отчеты объектов», в папке «Шаблоны отчетов/ССП». Текст макроса, выполняемого после выполнения самого отчета, представлен ниже: Sub ПослеВыполненияОтчета (ob As Variant, app As Variant) Application.ActiveDocument.Bookmarks("Значения_Показателя").Range. Tables(1).Select WordBasic.InsertChart End Sub Здесь выделяются данные таблицы по имени закладки шаблона: Application.ActiveDocument.Bookmarks("<СистемноеНазваниеПривязки>").Range.Tables(1).Select, где <СистемноеНазваниеПривязки> − это название привязки, которое отображается в дереве привязок на конечной странице мастера (см. п. 12.2.1). Затем строится диаграмма по данным выделенной таблицы: WordBasic.InsertChart 1.3.3. Пример обращения к данным из базы в отчетеВ шаблоне отчета «Отчет по результатам имитации» можно посмотреть пример использования макроса для вывода данных из базы. Отчет находится в справочнике «Отчеты объектов», в папке «Шаблоны отчетов/ФСА». Часть текста макроса, выполняемого после выполнения самого отчета, представлена ниже: Sub ПослеВыполненияОтчета (ob As Variant, app As Variant) Set StatTime = ob.СтатистикаВремени Построить Диаграмму StatTime, "Время", "Распределение времени выполнения процесса", 0, CDbl(ob.ШагВремени) End Sub Здесь идет обращение к параметрам объекта, от которого был вызван отчет: ob.<СистемноеНазваниеПараметра>, где ob – объект, от которого был вызван отчет; <СистемноеНазваниеПараметра> − это системное название параметра объекта, которое можно просмотреть в Объектной модели (см. п. 12.1). В данном примере был получен список «Статистика времени» (оb.СтатистикаВремени) и вещественный параметр «Шаг группировки времени» (ob.ШагВремени) от элемента справочника «Статистики имитаций», от которого был вызван отчет. По полученному списку и параметру строится диаграмма. 1.4. Заполнение поля типа «Логика» в файле импорта
1.5. Пример создания пакета импортаРассмотрим создание пакета импорта на примере импорта справочника физических лиц со списком контактов. Таблица 17.5.1 Файл импорта физических лиц со списком контактов
Выбрать файл генерации пакета импорта в виде, который представляет Таблица 17.5.1. Для первого листа в качестве класса приемника выбрать класс Физические лица, для второго листа – класс Типы контактов, для третьего – элементы списков БизнесМодель.КонтактыФизЛиц. Ввести название пакета импорта «Импорт физлиц с контактами». 1 этап. Импорт физических лицПроизвести настройку соответствий параметров класса «Физические лица» колонкам листа «Лист 1» файла MS Excel. Если не был выбран файл генерации, добавить из контекстного меню новый этап для импорта физических лиц. Имя листа – Лист 1. Класс приемник – класс БизнесМодель.ФизЛица. Допустим, что однозначным идентификатором физического лица является набор колонок Фамилия, Имя, Отчество. Конечно, чтобы однозначно определить объект, этого может оказаться недостаточно. К параметрам Фамилия, Имя, Отчество возможно добавление таких параметров, как Адрес, Дата рождения, Паспортные данные – при их наличии и необходимости задания в качестве ключевых. В таком случае параметры Адрес и Паспортные данные могут являться объектными, то есть сложными параметрами, уже для объекта Физическое лицо. На закладке «Ключ» задать параметры Фамилия, Имя, Отчество. На закладке «Параметры» задать параметры Дата рождения, Комментарий. 2 этап. Импорт типов контактовПроизвести настройку соответствий параметров класса «Типы контактов» колонкам листа «Лист 2» файла MS Excel. Если не был выбран файл генерации, добавить из контекстного меню новый этап для импорта типов контактов. Имя листа – Лист 2. Класс приемник – класс БизнесМодель.ТипыКонтактов. Ключом для типа контакта будет его Название. Добавить его на закладке «Ключ». 3 этап. Импорт контактов физических лицПроизвести настройку соответствий параметров класса «БизнесМодель.КонтактыФизлиц» колонкам листа «Лист 3» файла MS Excel. Если не был выбран файл генерации, добавить из контекстного меню новый этап для импорта контактов физических лиц. Имя листа – Лист 3. Класс приемник – класс элементов списков БизнесМодель.КонтактыФизЛиц. Ключом для контакта будут объектные параметры ТипКонтакта и Владелец (то есть физическое лицо), у которого, в свою очередь, ключом является набор параметров Фамилия, Имя, Отчество (см. п. 14.5.3 «Принципы задания соответствий параметров»). Добавить их на закладке «Ключ»:
То есть любому сколь угодно сложному объектному параметру можно поставить в соответствие набор текстовых полей, указав «путь» до каждого. Дополнительные параметры у сложного параметра всегда являются ключевыми полями (позволяющие однозначно его идентифицировать). Также дополнительным параметром может являться объектный параметр, в свою очередь содержащий набор полей (опять же ключевых). Ключом владельца будет набор параметров Фамилия, Имя, Отчество (классом владельцем является класс БизнесМодель.ФизЛица). Добавить этот набор параметров на закладке «Ключ владельца». Дополнительным параметром (неключевым) является параметр Контакт. Добавить его на закладке «Параметры». Сохранить внесенные изменения с помощью кнопки «Сохранить». Выполнение импортаВ списке пакетов импорта выделить нужный пакет и нажать гиперссылку Импорт/Экспорт. Откроется окно «Выполнение импорта» (см. п. 14.5.10). 1.6. Раздача прав пользователям1.6.1. Пример прав доступа только к классу «Документы»Допустим, необходимо создать пользователя, который бы имел права только на доступ и изменение объектов класса «Документы». Для этого необходимо создать новую категорию прав «Права редактора документов» и установить эту категорию прав пользователю, а также создать новое меню «Меню редактора документов» и дать права пользователю на доступ к этому меню. При входе нового пользователя в базу ему по умолчанию устанавливается категория прав «Права администратора» и даются права на меню «Меню пользователя». Чтобы отключить автоматическую раздачу прав необходимо выбрать пункт Главного меню «Сервис –> Настройки для всех пользователей». В открывшемся окне выбрать пункт контекстного меню «Настройка колонок», установить опцию «Показывать» для параметра «Автоматическая раздача прав». Теперь можно выключить автоматическую раздачу прав пользователям, после этого для каждого нового пользователя в базе данных необходимо будет указывать категорию прав и права на меню (см. п. 16.9.1 «Автоматическая раздача прав»). Для создания новой категории прав необходимо: Переключиться в меню администратора. Меню администратора включается выбором в Главном меню пункта меню «Окна –> Сменить интерфейс». Администрирование системы возможно только пользователем, являющимся администратором базы данных (см. п. 1.9 «Управление доступом к базам данных»). Открыть справочник «Категории прав» выбором пункта главного меню «Администрирование –> Справочники администрирования». Создать новую категорию прав. По гиперссылке «Редактировать права» установить доступ для необходимых классов, форм и элементов списков. Для добавления доступа к классу «Документы» необходимо развернуть ветвь «Классы –> Объекты системы –> Справочники –> Объекты деятельности –> Объекты –> Документы» (Рис. 17.6.1). Установить опцию «Разрешить» для типов прав Доступ, Изменение, Создание, Удаление. Для каждого типа права нажать кнопку «Установить для всех нижележащих», чтобы данное право распространилось на потомков класса «Документы», а именно на классы «Бумажные документы» и «Электронные документы». Далее нужно добавить право на редактирование атрибутов объектов. Для этого развернуть ветку «Классы –> Объекты системы –> Справочники». В этой ветке находятся классы «Атрибуты объектов деятельности», «Типы полей объектов», «Разделы атрибутов объектов». Установить для этих классов опцию «Разрешить» для типов прав Доступ, Изменение, Создание, Удаление. Для элементов списков «Элементы списков –> БизнесМодель.СпискиБизнесМоделей –> Атрибуты объектов» также установить опцию «Разрешить» для типов прав Доступ, Изменение, Создание, Удаление. Также нужно добавить право на доступ к форме редактирования объектов класса «Документы». Для этого развернуть ветку «Формы –> База.РедактированиеОбъектов –> База.ФормаРедактированияОбъектов –> База.ФормаСоСписком», установить опцию «Разрешить» для типа права Доступ, нажать кнопку «Установить полный доступ для нижележащих». Категория прав создана. Теперь нужно назначить эту категорию прав пользователю. Для этого выбрать пункт меню «Администрирование –> Права пользователя». Добавить нового пользователя, в параметре «Категория прав» выбрать созданную категорию (см. п. 16.9.2 «Категории прав»). Впоследствии, если возникнет необходимость добавить нового пользователя с такими же правами, новую категорию прав создавать уже не надо, а просто назначить данную категорию пользователю. В справочнике администрирования «Меню пользователя» необходимо создать меню. Например, создать папку «Меню редактора документов» − она будет соответствовать группе меню. Добавить в ней папку «Справочники» − это будет пункт главного меню. Добавить в нем элемент «Бумажные документы» − это будет пункт меню. Заполнить параметры: № − «1»; Название – «Бумажные документы»; Действие – «Показать справочник»; Аргумент – выбрать класс «Бумажный документ» (Рис. 17.6.2). По гиперссылке Выполнить меню можно проверить работу пункта меню. Выбором пункта меню будет открываться форма списка «Бумажный документ». Аналогично добавить пункт меню «Электронные документы». Подробное описание дано в п. 16.9.3 «Меню пользователя». В справочнике администрирования «Группы меню» создать новую группу, выбрать для нее меню «Меню редактора документов». Теперь необходимо добавить пользователю права на доступ к этой группе меню. Для этого выбрать пункт меню «Администрирование –> Права пользователя на меню», добавить новые права, в параметре «Меню пользователя» указать созданную группу меню. На Рис. 17.6.3 показано, как выглядит меню «Меню редактора документов». Также для данного пользователя необходимо отключить показ навигатора при старте. Для этого выбрать меню «Администрирование –> Все справочники». Нажать кнопку «Показывать все», выбрать справочник «Классы –> Группа констант пользователей –> БизнесМодель.КонстантыПользователей». По кнопке «Новый» добавить новые константы пользователя. В поле «Пользователь» ввести учетную запись пользователя, по умолчанию данное поле не показывается, для вывода его на показ необходимо воспользоваться функцией «Настройка колонок» (см. п. 2.4.7). Теперь нужно отключить опцию «Показывать навигатор при старте» и сохранить константы пользователя. 1.6.2. Пример разделения прав на элементы Словаря стрелокДопустим, стоит задача разделения прав на стрелки «Словаря стрелок» таким образом, чтобы пользователь не имел возможности редактировать словарные стрелки, созданные другими пользователями (в частности, изменять состав объектов стрелки). Для этого необходимо настроить горизонтальные права следующим образом:
Откроем справочник «Словарь стрелок» (пункт Главного меню «Справочники –> Все справочники –> Словарь стрелок»). Выведем на показ группу справочника, для этого отметим опцию контекстного меню «Опции списка –>Показать группу». Откроем права элемента « Словарь стрелок». 1) В окне «Права на объект Словарь стрелок» необходимо снять разрешение прав Изменение и Удаление для группы пользователей «Все». По умолчанию, права унаследованы от родителя объекта и нет возможности их отредактировать. Снимем опцию наследования прав. Для этого необходимо нажать кнопку «Дополнительно», в открывшемся окне «Дополнительные права на объект Словарь стрелок» снять опцию «Наследовать от родительского объекта применяемые к потомкам права, добавляя их к явно заданным в этом окне», на вопрос о копировании наследуемых прав ответить «Да». Нажать кнопку «Ок». Теперь опции «Разрешить» стали доступными для редактирования. Снимем лишние опции таким образом, чтобы остались включенными только опции разрешения прав на Чтение, Создание и Редактирование прав (Рис. 17.6.4). 2) Добавим пользователя «СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ» по кнопке «Добавить» в окне «Права на объект Словарь стрелок». Установим опции «Разрешить» для всех типов прав (Рис. 17.6.5). По нажатию кнопки «Ок» будет применено изменение прав. Если владелец объекта не задан, то каждый пользователь считается владельцем объекта. В приведенном примере, он будет иметь полные права на объект. Задать владельца можно в окне «Дополнительные настройки прав на объект Словарь стрелок» на закладке «Владелец». Если ранее производились изменения прав элементов справочника и требуется сбросить настроенные права, то необходимо в окне «Дополнительные настройки прав на объект Словарь стрелок» включить опцию «Сбросить права у всех потомков объекта и включить у них наследование прав». З повагою ІЦ “KURSOVIKS”! |