6Глава Концепция управляемого приложения
Скачать 6.74 Mb.
|
3 Оглавление Введение ............................................................................................................... 6 Глава 1. Концепция управляемого приложения 1.1. Основные сферы использования управляемого приложения ........................................ 7 1.2. Основные особенности работы управляемого приложения .......................................... 8 1.3. Новая стратегия разработки прикладного решения ...................................................... 11 1.4. Процедура создания новой информационной базы в режиме управляемого приложения .............................................................................................. 11 Глава 2. Подсистемы в режиме управляемого приложения 2.1. Подсистемы – основа командного интерфейса управляемого приложения ............... 13 2.2. Пользователи, роли и панель разделов ........................................................................... 17 Глава 3. Константы. Основы клиент-серверного программирования. Общие реквизиты. 3.1. Константы .......................................................................................................................... 21 3.2. Основы клиент-серверного программирования ............................................................. 32 3.3. Общие реквизиты .............................................................................................................. 34 Глава 4. Справочники 4.1. Окно редактирования справочника ................................................................................ 39 4.2. Разработка формы справочника ....................................................................................... 45 4.3. Клиентские методы в модуле формы .............................................................................. 50 4.4. Объект СообщениеПользователю ................................................................................... 53 4.5. Настройка командного интерфейса для ускорения доступа к справочнику ............... 56 4.6. Иерархические справочники ............................................................................................ 58 4.7. Подчиненные справочники .............................................................................................. 59 4.8. Программная работа со справочниками ......................................................................... 59 4.9. Модуль менеджера ............................................................................................................ 72 4.10. Варианты заданий ......................................................................................................... 75 Глава 5. Отчеты 5.1. Макет отчета ...................................................................................................................... 90 5.2. Табличный документ ........................................................................................................ 93 5.3. Дополнительные свойства табличного документа 5.3.1. Оформление ячеек ................................................................................................... 96 5.3.2. Группировки ............................................................................................................ 98 5.3.3. Расшифровки .......................................................................................................... 100 5.3.4. Примечания ............................................................................................................. 103 5.4. Сохранение отчетов ......................................................................................................... 105 5.5. Конструктор печати ......................................................................................................... 105 5.6. Варианты заданий .......................................................................................................... 105 Глава 6. Запросы 6.1. Табличный способ доступа к данным .......................................................................... 106 6.2. Язык запросов 6.2.1. Обращение к полям через точку (".") ................................................................. 106 6.2.2. Обращение к вложенным таблицам ................................................................... 107 4 6.2.3. Автоматическое упорядочивание ....................................................................... 107 6.2.4. Многомерное и многоуровневое формирование итогов .................................. 108 6.2.5. Поддержка виртуальных таблиц ........................................................................ 108 6.2.6. Стандартные SQL операции ............................................................................... 109 6.2.7. Операции выбора в языке запросов (ВЫБОР) ................................................. 110 6.2.8. Встроенные функции языка запросов ................................................................ 110 6.2.9. Временные таблицы ............................................................................................ 110 6.2.10. Пакетные запросы .............................................................................................. 111 6.2.11. Обработка результатов запроса ........................................................................ 112 6.2.12. Конструкторы запроса ....................................................................................... 113 6.3. Варианты заданий .......................................................................................................... 122 Глава 7. Документы 7.1. Структура документов. Свойства документов ........................................................................... 122 7.2. Программная работа с документами ............................................................................................ 133 7.3. Стандартные реквизиты ................................................................................................................. 140 7.4. Функциональные опции ................................................................................................................. 140 7.5. Варианты заданий .......................................................................................................... 147 Глава 8. Регистры накопления 8.1. Назначение регистров накопления ................................................................................. 159 8.2. Регистры остатков ............................................................................................................ 159 8.3. Оборотные регистры накопления ................................................................................... 170 8.4. Вызов формы регистра накопления из формы документа .......................................... 178 8.5. Агрегаты ............................................................................................................................ 179 8.6. Последовательности ......................................................................................................... 180 8.7. Нумераторы ...................................................................................................................... 185 8.8. Варианты заданий .......................................................................................................... 186 Глава 9. Регистры сведений 9.1. Назначение. Типы регистров сведений .......................................................................... 192 9.2. Программная обработка данных из регистра сведений ............................................... 196 9.3. Варианты заданий .......................................................................................................... 201 Глава 10. Система компоновки данных (СКД) 10.1. Введение .......................................................................................................................... 209 10.2. Основные составляющие СКД ...................................................................................... 210 10.3. Пример формирования отчета с помощью СКД ........................................................ 210 10.4. Расшифровки в СКД ...................................................................................................... 218 10.5. Варианты заданий ........................................................................................................ 232 Глава 11. Разработка средств ведения бухгалтерского учета 11.1. Объекты метаданных, относящиеся к бухучету ......................................................... 237 11.2. Планы счетов и регистры бухгалтерии ........................................................................ 237 11.3. План видов характеристик ............................................................................................ 245 11.4. Приемы программирования .......................................................................................... 247 11.5. Примеры формирования проводок в модуле документа ............................................ 249 11.6. Пример решения задачи ................................................................................................ 252 11.7. Варианты заданий ........................................................................................................ 260 5 Глава 12. Запросы к регистрам бухгалтерии 12.1. Регистры-источники данных для запроса .................................................................... 270 12.2. Примеры запросов к регистрам бухгалтерии .............................................................. 272 12.3. Пример формирования отчета ...................................................................................... 276 12.4. Варианты заданий ........................................................................................................ 281 Глава 13. Сложные периодические расчеты 13.1. Объекты метаданных, используемые в периодических расчетах ............................. 285 13.2. Планы видов расчета ...................................................................................................... 286 13.3. Регистры расчета ............................................................................................................ 289 13.4. Пример решения задачи расчета заработной платы ................................................... 294 13.5. Варианты заданий ........................................................................................................ 307 Глава 14. Запросы к регистрам расчета 14.1. Таблицы – источники запросов .................................................................................... 311 14.2. Пример формирования отчета ...................................................................................... 317 14.3. Варианты заданий ........................................................................................................ 322 Библиографический список ............................................................................ 329 6 Введение Первой версией платформы 1С:Предприятие, поддерживающей режим управляемого приложения, стала версия 8.2. Финальная версия платформы 1С:Предприятие 8.2. увидела свет в сентябре 2009 года. Тогда, да и еще сегодня, в середине 2012 года, достаточно большое число тиражных конфигураций работает в режиме обычного приложения. При работе в этом режиме, пользователь имеет дело с привычным интерфейсом. Разработчик, имеющий опыт создания и модификации прикладных решений для 1С:Предприятие 8.1., так же может пользоваться уже известными ему методами работы. Информационные базы, рассчитанные на версию 8.1., обычно без проблем конвертируются для версии 8.2., после чего в них можно продолжать работу. Платформа 1С:Предприятие 8.2. обратно совместима с предыдущими версиями платформы, однако, она несет в себе множество новых возможностей, которые касаются всех сфер работы – от пользовательского интерфейса, до внутренних механизмов. Один из режимов, в котором может работать система, называется режимом управляемого приложения. Режим управляемого приложения открывает и разработчику, и пользователю, множество новых возможностей. Для разработчика наиболее заметными выглядят новый подход к разработке интерфейса и четкое разделение кода на серверный и клиентский. Пользователи, помимо значительно отличающегося интерфейса, получают возможность работы с прикладными решениями, используя тонкий клиент и веб-клиент. Работа в режиме веб-клиента позволяет пользоваться прикладным решением на компьютерах, оснащенных обычным веб-браузером.. Данное учебное пособие предназначено, в основном, для тех студентов, которые уже знакомы со средствами разработки приложений на платформе 1С:Предприятие 8 в режиме обычного приложения. В предлагаемом пособии на практическом примере рассмотрены основные особенности разработки программ в режиме управляемого приложения. Помимо описания особенностей работы с такими объектами, как подсистемы, константы, справочники, документы, перечисления, последовательности, нумераторы, регистры накопления, регистры сведений, в пособии уделено внимание организации клиент-серверного взаимодействия. Кроме того, здесь рассматриваются методы конструирования командного интерфейса управляемого приложения и методы работы с управляемыми формами. Большинство глав пособия завершаются комплектом практических заданий по изученным темам. Пособие может быть использовано как методическая поддержка при выполнении лабораторных работ и курсовых проектов по дисциплине «Информационные системы в бухгалтерском учете и аудите» для студентов 5 курса специальности 08080165 «Прикладная информатика в экономике», для студентов 4 курса направлений 230700.62 «Прикладная информатика» и 231000.62 «Программная инженерия», изучающих дисциплину «Бухгалтерские информационные системы». В пособии приняты следующие сокращения: 7 УП- управляемое приложение; СКД - система компоновки данных; РН – регистр накопления; РС – регистр сведений; РР – регистр расчета. ИБ - информационная база. БД – база данных SQL - Structured Query Language Глава 1. Концепция управляемого приложения 1.1. Основные сферы использования управляемого приложения Новые режимы работы управляемого приложения (УП) предназначены для обеспечения удаленной on-line работы с информационными базами 1С:Предприятия в режимах: Тонкий клиент - работа интерфейса 1С:Предприятия через Интернет; Веб-клиент - работа 1С:Предприятия в Интернет-браузере (без установки системы на компьютер пользователя). Ранее удаленная работа была возможна в режиме off-line. Для этого использовались механизмы обмена данными, которые с заданной периодичностью пересылали изменения данных и конфигурации между узлами распределенной системы. Также существовала возможность использовать функциональность 1С:Предприятия через веб-интерфейс . Но разработка подобного веб-приложения или встраивание функциональности 1С:Предприятия в существующий сайт требовали значительных усилий и уверенного знания других языков программирования. Тонкий клиент (англ.thin client) в компьютерных технологиях— компьютер или программа-клиент в сетях с клиент-серверной или терминальной архитектурой, который переносит все или большую часть задач по обработке информации на сервер. В состав системы включен новый исполняемый модуль 1cv8c.exe, являющийся тонким клиентом. Он работает только в режиме управляемого приложения и не поддерживает работу обычного интерфейса (используемого в версиях 8.0 и 8.1). Тонкий клиент является приложением 1С:Предприятия. Он использует меньше аппаратных ресурсов, чем толстый клиент. Тонкий клиент позволяет работать с интерфейсом 1С:Предприятия через Интернет. Для этого используется веб-сервер, настроенный для работы с 1С:Предприятием 8. Тонкий клиент взаимодействует с веб-сервером по протоколу HTTP. Веб-сервер, в свою очередь, взаимодействует с 1С:Предприятием 8 в файловом или клиент-серверном варианте работы. В качестве веб-сервера используется Apache или IIS. Веб-клиент обеспечивает работу 1С:Предприятия в Интернет-браузере без установки системы на компьютер пользователя. 8 В Веб-клиенте в качестве клиентского приложения используется интернет-браузер (Microsoft Internet Explorer или Mozilla Firefox). Для работы в режиме веб-клиента также требуется веб-сервер, настроенный на работу с 1С:Предприятием 8. Браузер клиента взаимодействует с веб-сервером по протоколу HTTP. Веб-сервер, в свою очередь, взаимодействует с 1С:Предприятием 8 в файловом или клиент-серверном варианте работы. В качестве веб-сервера используется Apache или IIS. Замечание. Клиентские модули, разработанные в конфигурации, транслируются автоматически из встроенного языка 1С:Предприятия 8 в JavaScript. Таким образом, независимо от режима работы (толстый, тонкий, веб-клиент), вся разработка прикладного решения ведется полностью в конфигураторе 1С:Предприятия, серверный и клиентский код пишется на встроенном языке 1С:Предприятия. Использование режима веб-клиента позволяет всем элементам системы работать, например, под управлением операционной системы Linux: 1.2. Основные особенности работы управляемого приложения Основные особенности работы управляемого приложения (УП) рассмотрим на примере особенностей работы веб-приложения. Невозможность работы веб-браузера со сложными объектами Для того чтобы все заработало, клиенту должно быть достаточно запустить веб-браузер. Вопрос: А как обычный браузер будет работать с типами данных, которые есть только в 1С, например с документами? Откуда он узнает, что у документа есть стандартный реквизит "Дата"?". Действительно, сам веб-браузер может выполнять операции с полями формы примитивного типа. Для этого будет достаточно встроенного в браузер языка Javascript, следовательно, такие операции могут быть выполнены на клиенте. Например: необходимо посчитать, сколько стоит товар в табличной части документа, отображаемой в браузере по формуле Сумма = Цена * Количество Такую операцию можно выполнить на клиенте. Если необходимо посчитать формулу Сумма = Цена * Количество * ЕдиницаИзмерения.Коэффициент, то для извлечения значения коэффициента необходимо обратиться к БД. А раз так, то за коэффициентом теперь уже придется "идти" на сервер. Итак, в форме клиента объектов в обычном понимании теперь нет, есть поля, в которых содержится текст - визуальное представление объектов (наименование, код и т.д.) - и ссылки на них в БД. Взаимодействие сервера и клиента теперь происходит таким образом: При открытии формы: объект считывается из базы данных; 9 объект конвертируется в данные формы; объект удаляется (из памяти); данные формы передаются на клиента. При записи: данные формы получаются с клиента; данные формы конвертируются в объект; объект записывается в базу данных; объект удаляется (из памяти). Или, иными словами, получаем следующее: При открытии формы: из БД извлекаются все данные (числа, строки, объекты), которые должны быть отображены на форме; числа переводятся в формат строк, объекты - в символьное представление. Код в процедурах, выполняемых на форме, переводится в язык Javascript; объект удаляется из памяти сервера; формируется HTML-страница, которая передается на клиентский компьютер – браузеру. При записи: браузер отправляет на сервер HTTP-запрос, в котором передает данные из полей формы; данные формы конвертируются в объект, которому она принадлежит (документ или справочник): цифры переводятся в числовой тип, по строковым ссылкам ищутся объекты БД и помещаются в реквизиты объекта-родителя; объект, который теперь является привычным с точки зрения платформы 1С объектом БД, записывается в базу данных; объект удаляется из памяти сервера. Декларативное описание форм при переводе формы в окне веб- браузера В предыдущих версиях платформы внешний вид формы проектировался следующим образом. Сначала у объекта создавались реквизиты, затем для каждого из них определялись координаты, размер и привязки к другим объектам. Это так называемое абсолютное позиционирование. Исходный код (и соответственно трафик), управляющий размещением формы в окне веб-браузера, может оказаться достаточно большим. Именно эта экономия ресурсов и стала определяющей при переходе к новому подходу формирования форм в управляемом приложении - так называемому "декларативному описанию формы. Попробуем на примере выяснить, чем отличается декларативное описание от абсолютного позиционирования. Дадим браузеру следующие инструкции: 1. Разместить в окне таблицу из пяти колонок и поместить ее в центр. Ширина таблицы должна составлять 80% от ширины окна браузера. 2. В первой колонке поместить картинку и выровнять ее по левому краю. 3. Во второй колонке поместить надпись и также выровнять ее по левому краю. 4. В третьей, четвертой и пятой колонках будут цифры, их следует выровнять по правому краю. 10 5. Итог по пятой колонке разместить в центре ячейки. После перевода данной инструкции в HTML-код результат размещения будет таким: Наименование Цена Количество Сумма Пиво 25.00 24 600.00 Чипсы 50.00 10 500.00 ИТОГО: Х Х 1100.00 Таким образом, для размещения таблицы и данных в ней мы не используем никаких абсолютных координат. Таблица со своими координатами и размерами автоматически привязывается к окну браузера, колонки и ячейки - к таблице, а содержимое - к ячейкам. Основные выводы: 1. Формы в управляемом приложении не проектируются программистом вручную, а описываются декларативно и формируются сервером "на лету" - так браузеру будет проще и быстрее сформировать форму на клиенте. 2. Код в формах четко разделен на исполняемый на форме и исполняемый на сервере, причем определять, что где должно исполняться, обязан программист - это ограничение браузера. 3. Форма объекта (документа, справочника) "отвязана" от сервера, фактически является структурированным описанием объекта и не позволяет напрямую получать доступ к реквизитам, для которых на форме не был размещен элемент отображения (поле, флажок и т.д.). Для доступа к таким данным необходимо использовать запрос или код, исполняемый на сервере - это требование безопасности. 4. Список основных процессов, работающих на сервере: запросы к базе данных; запись данных; проведение документов; различные расчеты; выполнение обработок; формирование отчетов; подготовка форм к отображению. 5. Список основных процессов, работающих на клиенте: получение и открытие форм; отображение форм; «общение» с пользователем (предупреждения, вопросы…); небольшие расчеты в формах, требующие быстрой реакции (например, умножение цены на количество); работа с локальными файлами; 11 работа с торговым оборудованием. Замечание. Работа в файловом варианте также поддерживается системой для конфигураций, использующих режим управляемого приложения. Никаких изменений для этого в конфигурацию вносить не нужно. Разумеется, в этом случае вся функциональность (как серверная, так и клиентская) выполняется на клиенте. 1.3. Новая стратегия разработки прикладного решения В управляемом приложении без существенных изменений используется весь слой системы, работающий с данными информационной базы и реализующий бизнес- логику. Сюда относятся: описание структур данных в конфигурации, работа с прикладными объектами (справочниками, документами и др.), механика запросов, механизмы обмена данными и т. д. Управляемое приложение полностью меняет весь слой работы с интерфейсом. Новая концепция интерфейса ставит перед разработчиком ряд задач, которые раньше не возникали или были не столь значимыми: Проектирование состава подсистем. Ранее подсистемы использовались разработчиком лишь для выделения функционала прикладного решения в некоторые группы, которые облегчали разработку. Это деление практически не имело внешнего проявления, критичного для пользователя. Теперь же структура подсистем приобретает одно из важнейших значений, т.к. именно по ней система будет строить командный интерфейс пользователя. Поэтому теперь следует тщательно продумывать состав подсистем, с точки зрения того, как пользователь должен "видеть" прикладное решение. Объекты конфигурации следует распределять по подсистемам аккуратно и осмысленно. Установка интерактивных свойств метаданных. Для реквизитов объектов конфигурации следует сразу задавать свойства, определяющие способы отображения и редактирования данных (раньше – в основном программным способом). Проектирование и настройка функциональных опций. Начиная разработку, следует продумать, какие части функционала должны быть настраиваемыми при внедрении. Настройка видимости по ролям. Следует продумать, что и каким ролям показывать по умолчанию, чтобы интерфейс системы не оказался перегружен. Например, какие команды ввода новых объектов поместить в панель действий. Подбор состава команд. Следует подбирать необходимые контекстные команды для отображения в формах. Оценка работы интерфейса. Полезно посмотреть, как выглядит интерфейс для типичных пользователей, а также посмотреть, как выглядит интерфейс с выключенными функциональными опциями. 1.4. Процедура создания новой информационной базы (ИБ) в режиме управляемого приложения (УП) 12 После инсталляции новой ИБ «традиционным» способом полученная конфигурация автоматически приобретает свойство (рис.1.1.). Основным свойством дерева конфигурации здесь является: Режим запуска->Управляемое приложение Отметим изменение состава объектов конфигурации. В частности, появились новые объекты. Общие реквизиты: здесь содержатся реквизиты, которые могут использоваться во многих объектах конфигурации. Например, если вы планируете добавить в документы своей конфигурации одинаковый реквизит, содержащий наименование организации, от имени которой составлен документ, это вполне логично реализовать с помощью общего реквизита. Кроме того, общие реквизиты используются в механизме разделения данных. Функциональные опции: их используют для того, чтобы описывать возможности, которые можно включать и отключать в процессе эксплуатации системы. Функциональные опции могут влиять на командный интерфейс, например, скрывая или отображая некоторые группы команд, а так же – на алгоритмы, написанные на встроенном языке. Рис.1.1. Свойства корневой вершины дерева конфигурации 13 Параметры функциональных опций: Содержит параметры, влияющие на функциональные опции. Хранилища настроек: Используется для сохранения и загрузки настроек. Общие команды: Позволяет создавать команды, которые можно использовать в других объектах конфигурации, вызывая их, например, с помощью кнопок на формах. Группы команд: Позволяет создавать группы для объединения команд Элементы стиля: Позволяет создавать элементы стиля, такие, как цвет, шрифт, рамка, для организации единообразного оформления других объектов. Внешние источники данных: эти объекты используются для получения информации из внешних источников и последующего использования ее в системе, в частности, в качестве источников данных для запросов, в качестве типов реквизитов информационной базы и так далее. Теперь в дереве конфигурации нет следующих объектов: Интерфейсы Стили Кроме того, некоторые объекты, в частности, это касается подсистем, теперь используются по-другому. Правила разработки таких подсистем будут рассмотрены позднее. |