Методические указания для выполнения практических (лабораторных) и самостоятельных работ в системе 1С Предприятие 3
Скачать 3.59 Mb.
|
§10.1. Использование общих форм До этого момента мы создавали формы для конкретных объектов, а также назначали основную форму определенного типа. В системе также имеется возможность создания ряда общих форм, связь их с объектами, и добавление в интерфейс. Добавим общую форму констант. Откроем ветку «Общие», выберем «Общие формы» и создадим новую форму. Укажем тип формы – «Форма констант», назовем форму «Параметры учета». На следующей вкладке отметим все константы для отображения в форме и нажмем «Готово». Добавим данную форму в подсистему «Общий отдел». Дополнительно, в свойствах каждой константы на вкладке «Представление» настроим основную форму – укажем только что созданную общую форму. Запустим систему в режиме отладки и теперь попробуем заполнить значения имеющихся констант. Вы увидите, что все константы отображаются в одной форме, что, несомненно, является удобным. Теперь все константы можно убрать из меню «Сервис», оставив только форму «Параметры учета». Для этого необходимо настроить командный интерфейс подсистемы (п. 2.13.2). §10.2. Настройка командного интерфейса Командный интерфейс – средство доступа пользователя к функциональности системы, позволяет перемещаться между формами и выполнять те или иные действия. Командный интерфейс в «1С: Предприятие» 8.3 разработчик не прорисовывает досконально, а описывает декларативно. Командный интерфейс состоит из подсистем, со всеми формами и командами в них содержащимися, а также включает в себя настройку ролей – разграничение прав доступа к отдельным составляющим системы. Для настройки командного интерфейса подсистем (какие команды, и в каком порядке отображать) необходимо выбрать в контекстное меню раздела «Подсистемы» пункт «Все подсистемы». Для каждой подсистемы необходимо настроить свойство «Видимость» напротив команд панели действий, навигации и др. (рис. 59). Рис. 59. Настройка командного интерфейса подсистем Также при настройке командного интерфейса конфигурации все команды панели навигации можно разделить по трем категориям: важное, обычное и смотри также (рис. 59). Команды, помещенные в раздел «Важное» в интерфейсе помечаются жирным шрифтом. При работе в версии платформы 8.2, в интерфейсе раздел «Смотри также» дополнительно выделяется в отдельную область: в версии 8.3 особым образом выделен только раздел «Важное». Для подсистемы «Общий отдел» из «Панели действий. Сервис» скроем команды открытия констант, и оставим команду открытия общей формы «Параметры учета». В «Панели действий. Создать» отметим видимость для команд создания элементов справочников «Контрагенты» и «Номенклатура». Также из «Панели навигации. Обычное» уберем видимость команд перехода к справочникам «Варианты номенклатуры» и «Договора». А переход к справочникам «Контрагенты» и «Номенклатура» переместим в раздел «Панель навигации. Важное». Аналогичным образом настройте командный интерфейс других подсистем (на ваше усмотрение). Для настройки командного интерфейса конфигурации в целом, необходимо вызвать контекстное меню всей конфигурации и выбрать пункт «Командный интерфейс». Здесь можно настроить видимость подсистем в панели разделов и порядок их расположения. Зададим следующий порядок расположения подсистем: 1. Общий отдел; 2. Отдел закупок; 3. Отдел продаж; 4. Бухгалтерия; 5. Отдел зарплаты; Запустите систему в режиме отладки и посмотрите, как изменился командный интерфейс. §10.3. Критерии отбора Допустим, перед нами стоит задача: при открытии элемента справочника «Номенклатура» определить, в каких документах продажи и поступления товара фигурирует данная номенклатурная позиция. Для этого необходимо сформировать специальный отбор, накладываемый на соответствующие реквизиты указанных документов. Для этих целей в системе существует специальный объект «Критерии отбора», находящийся в ветке «Общие». Рис. 60. Критерий отбора Добавим критерий отбора «Номенклатура в документах», добавим в подсистему «Общий отдел». На вкладке «Данные» (рис. 60a) укажем тип отбора – СправочникСсылка.Номенклатура. На вкладке «Состав» (рис. 60b) укажем соответствующие реквизиты в документах, на которые будет накладываться условие отбора (система автоматически определит реквизиты, совпадающие по типу с типом отбора, указанным на вкладке «Данные»). Для того возможности использования данного критерия (перехода к соответствующим документам), в панель навигации формы элемента справочника «Номенклатура» необходимо добавить соответствующую команду. Для этого откроем форму документа, в разделе «Элементы» перейдем на вкладку «Командный интерфейс», и в «Панели навигации» настроим «Видимость» для соответствующей команды. Запустите систему в режиме отладки и проверьте работу механизма. §10.4. Функциональные опции В ряде случаев могут возникать ситуации, когда в различных организациях используются очень близкие конфигурации, за исключением наличия/отсутствия определенной функциональности. Допустим, несколько филиалов одной фирмы. Но в одном из филиалов, к примеру, не ведется бухгалтерия, а в другом не занимаются учетом заработной платы. Для того чтобы использовать близкие конфигурации с несколько отличающейся функциональностью нет необходимости разрабатывать две и более конфигурации: достаточно реализовать механизм включения/отключения требуемой функциональности. Для этих целей в системе «1С: Предприятие» введен механизм использования функциональных опций. Добавим функциональную опцию «Бухгалтерский учет». В поле «Хранение» (рис. 61a) укажем, где будет храниться значение функциональной опции. Значение функциональной опции можно хранить в константе, реквизите справочника или в ресурсе регистра сведений. При использовании реквизита или ресурса регистра, для включения/отключения опции, и ее настройки необходимо использовать «Параметры функциональных опций» и реализовывать достаточно сложные механизмы. Самый простой вариант – сохранить значение опции в константе. Соответственно, если константа примет значение Истина, то опция включена, если Ложь – выключена. Рис. 61. Функциональная опция «Бухгалтерский учет» Сохраним значение опции «Бухгалтерский учет» в константе «Бухгалтерский учет». На вкладке «Состав» (рис. 61b) необходимо настроить объекты системы, включенные в данную опцию. При включении опции соответствующие объекты будут доступны, при выключении – нет. Включим, к примеру, в опцию подсистему «Бухгалтерия», журнал документов «Приходно-расходные операции» и регистр сведений «Цены поставщиков». Опция при этом влияет только на интерфейс, никакая реструктуризация таблиц базы данных не происходит. Т.е., если, допустим, в системе был реализован многоскладской учет. Затем была добавлена опция «Учет склада», в которую включили все справочники, реквизиты, измерения и т.д. связанные со складами. Выключив опцию, мы лишь убрали отображение соответствующих объектов в интерфейсе. Но все, что было сделано до этого, не исчезло. При включении опции, все данные будут отображаться как раньше. Запустим систему в режиме отладки. В форме «Параметры учета» выключим соответствующую опцию. Теперь, переходя к журналу документов или регистру сведений, мы увидим, что они пустые (вернее, не отображаются). Но к подсистеме «Бухгалтерия» все равно есть доступ. Перезапустим систему. После перезапуска мы увидим, что ссылки на все объекты, включая подсистему исчезли. Это связано с тем, что интерфейс при изменении опции автоматически не обновляется. После перезапуска система загрузилась с учетом настроек опции. Для того чтобы система обновлялась динамически при включении/выключении опции необходимо в режиме Конфигуратора открыть общую форму «Параметры учета», и описать событие формы «ПослеЗаписи» на клиенте, добавив следующую строчку кода: ОбновитьИнтерфейс(); Л.24 Запустите систему и проверьте результат. §10.5. Команды Ранее было рассмотрено создание команд формы. Кроме таких команд имеется возможность создания общих (глобальных команд), а также целых групп команд (в группу команд можно занести множество различных команд). Для начала создадим группу команд «Печать» (в ветке «Общие»). В настройке свойств группы имеется раздел «Категория», указывающий на то, в какой части командного интерфейса будет располагаться данная группа команд: в панели навигации (где мы переходим по ссылкам к объектам конфигурации, например, к определенному справочнику); в панели навигации формы (где мы переходим к связанным с формой объектам, например, к элементам справочника, подчиненного данному, с отбором по текущему элементу); в панели действий (где находятся разделы «Сервис», «Создать» и т.д.); в командной панели формы (где находятся стандартные команды работы с формой, например, «Записать», «Закрыть» и т.д.); Созданную группу команд отнесем к «Командной панели формы». Далее опишем создание команды «Печать расходной», которая будет формировать простую печатную форму документа «Расходная накладная». Данная команда не будет относиться к какой-то конкретной форме документа, списка и т.д. Поэтому она не может быть создана при описании какой-либо формы. Для создания такой общей команды, связанной с объектом «Расходная накладная», откроем окно настройки данного объекта конфигурации, и перейдем к вкладке «Команды». Здесь можно описать собственные команды и отнести их к конкретной группе, в т.ч. созданной выше. Однако для создания команды формирования печатной формы документа необходимо знать очень много особенностей, связанных с тем, как получить данные и как сформировать эту печатную форму. На данном этапе обучения мы не будем глубоко вдаваться в эти особенности, а воспользуемся конструктором. Для этого откроем вкладку «Макеты» и запустим единственно доступный конструктор – «Конструктор печати». Макеты необходимы для создания различных печатных форм. Макет представляет собой табличный документ с именованными областями. Каждая область может содержать либо текст, либо параметр (в который передаются данные), либо параметр расшифровки (для перехода к связанным объектам конфигурации). Для заполнения макета существует специальная процедура: она считывает необходимую информацию из таблиц, получает очередную область макета, заполняет указанную область считанными данными, после чего выводит сформированный макет в табличный документ и отображает его. Т.к. зачастую макеты используются для создания печатной формы не одного документа, а целого перечня, то оказывается, что процедура не связана с конкретным экземпляром объекта, и, поэтому не может располагаться в модуле объекта. Данная процедура заполнения макета связана с объектом конфигурации в целом, без привязки к конкретному экземпляру, поэтому она размещается в специальном модуле – модуле менеджера, который отвечает за управление объектом конфигурации в целом, а не отдельным его экземпляром. Дополнительно необходимо создать команду, которая будет вызывать данную процедуру формирования печатной формы. Конструктор печатной формы все указанные действия делает автоматически. В конструкторе укажем имя команды «Печать расходной». Далее в реквизитах шапки укажем печать реквизитов «Дата», «Контрагент», «Договор». Далее укажем, что из табличной части «Товары» будем выводить на печать все доступные реквизиты. Далее, то же самое сделаем и для табличной части «Услуги». Далее в подвале будем печатать содержимое реквизита «Сумма документа». На заключительной вкладке укажем, что созданная команда должна располагаться в группе команд «Командная панель формы. Печать» (созданная ранее группа команд). После завершения работы конструктора автоматически будет создана команда «Печать расходной», соответствующий макет, представляющий вид формируемой печатной формы, а также команда в модуле менеджера, заполняющая макет требуемыми данными. Запустите систему в режиме отладки и посмотрите результат. Обратите внимание, где (т.е. в каких частях командного интерфейса, в каких формах) оказалась доступна созданная группа команд «Печать» и команда «Печать расходной». Аналогичным образом можно создать глобальные команды, не связанные с определенными классами объектов, которые будут размещаться в ветке «Общие», в разделе «Общие команды». §10.6. Рабочий стол В версии платформы 8.3 «Рабочий стол» носит название «Начальная страница». Если в приложении не будет реализовано деление на подсистемы, то данный раздел не будет существовать и его настройка будет невозможна. На рабочем столе располагаются формы, доступ к которым осуществляется сразу при запуске приложения (своего рода автозагрузка). Вы наверняка заметили, что при загрузке конфигурации не открываются подсистемы и то, что в них расположено, а открывается страница, называющаяся «Главное». На этой странице имеется возможность разместить те формы, доступ к которым осуществляется наиболее часто. Для каждой роли набор форм на рабочем столе может быть настроен свой. Следует отметить, что на рабочий стол нельзя поместить автоматически создаваемые системой формы, а только те, которые программист создал вручную. Создадим следующие формы: для документа «Приходная накладная» - форму списка «Список приходных»; для документа «Расходная накладная» - форму списка «Список расходных»; для регистра сведений «Цены номенклатуры» - форму списка «Цены»; Для настройки рабочего стола, вызовем контекстное меню всей конфигурации и выберем пункт «Открыть рабочую область начальной страницы». В окне настройки (рис. 62) в первую очередь указывается шаблон рабочей области: в виде одной или двух (одинаковой ширины, либо в соотношении 2:1) колонок. Укажем шаблон в виде двух колонок в соотношении 2:1. Рис. 62. Настройка начальной страницы Каждая колонка может содержать произвольное (ограничено лишь здравым смыслом) число форм. В левую колонку добавим отображение форм «Список приходных» и «Список расходных», в правую - «Цены» и общую форму «Параметры учета». Понятно, что число форм в каждой колонке может быть различным, и это не обязательно будут формы списка – это может быть и форма отчета, и форма элемента справочника и т.д.; главное – чтобы форма была описана вручную. Для каждой формы в колонке можно настроить высоту. По умолчанию стоит число «10». Если для всех форм колонок оставить значения по умолчанию, то все формы будут одинаковой высоты. В левой колонке так и сделаем, а в правой для формы «Цены» укажем высоту «14», для «Параметров учета» - «6». При этом в режиме исполнения размеры форм в рабочей области можно менять динамически. Также для каждой формы можно настроить «Видимость» по ролям. Т.е. в зависимости от роли, форма будет или не будет отображаться в рабочей области. Одинаковая видимость говорит о том, что форма будет отображаться всегда. Таким образом, для каждой роли в конфигурации рабочую область можно настроить по-своему. В данной учебной конфигурации мы пока что не занимались настройкой ролей. Запустите систему в режиме отладки и посмотрите результат. Самостоятельная работа №6: Введите в системе многоскладской учет. Для этого необходимо создать соответствующий справочник, исправить документы (и их формы) поступления, продажи товаров, структуру регистра накопления «Остатки товаров». Добавьте и настройте соответствующую функциональную опцию учета склада. В заключение необходимо исправить процедуры проведения при поступлении и продаже товаров. Особое внимание следует обратить на следующее: 1. Товар поступает на определенный склад и продается с определенного склада. Поэтому контроль остатков необходимо вести не в разрезе остатков по предприятию в целом, а в разрезе остатков на конкретном складе. Т.е. всего на предприятии товара может и хватает, но на конкретном складе, с которого осуществляется продажа, его может недоставать. В данной конфигурации не реализуется операция перемещения товаров между складами. 2. Учет себестоимости товара следует вести по предприятию в целом, а не в рамках отдельного склада. Иначе может оказаться, что с разных складов товар будет продаваться по разной себестоимости, что экономически неверно и приводит к проблемам с законом. Соответственно, при продаже товара себестоимость должна списываться пропорционально и по предприятию целиком. Для реализации этого, одним из решений является введение дополнительного регистра накопления «Остатки себестоимости». Тогда регистр «Остатки товаров» будет использоваться для учета (приход, списание) и контроля остатков товаров с учетом склада, а регистр «Остатки себестоимости» - для учета (приход, списание) себестоимости по предприятию в целом. В заключение добавьте отчет по учету остатков товаров с учетом всех складов на предприятии. Темы для самостоятельного изучения: 1. Хранение функциональных опций в реквизитах справочников, в ресурсах регистров сведений. Параметры функциональных опций. 2. Ручное создание макета форм справочников, документов. 3. Роли. Настройка прав. Пользователи. Запрет интерактивного удаления элементов. 4. Настройка видимости по ролям (элементов интерфейса, начальной страницы). 5. Разработка интерфейса на нескольких языках. |