close

Вход

Забыли?

вход по аккаунту

?

Лабраб7

код для вставкиСкачать
2.7 Лабораторная работа № 7. Печатные формы справочников, документов, журналов.
Цель работы. Получение навыков работы с макетами и печатными формами справочников, документов, журналов.
2.7.1 Теоретические сведения
2.7.1.1 Печатные формы
Для формирования печатных форм в системе используются два объекта: "Макет" и "Табличный документ". Следует отметить, что "Макет" является объектом метаданных, чаще всего содержащим внутри себя "Табличный документ".
Для создания различных печатных форм, а также форм, предназначенных для представления и ввода информации с использованием таблиц, в системе 1C: Предприятие используется специализированный табличный редактор. Табличный редактор в системе 1C: Предприятие с первого взгляда может показаться похожим на "обычные" электронные таблицы. Но это не так.
В дальнейшем наряду с терминами табличный документ и печатная форма будет использоваться термин: таблица. Таблица в системе 1С: Предприятие, как и любая другая таблица, представляет собой совокупность ячеек прямоугольной формы, организованных в строки и столбцы. Каждый столбец и каждая строка имеет свой уникальный номер. Строки и столбцы нумеруются независимо, нумерация начинается с 1 и ведется от левого верхнего угла таблицы. Столбцы в строках могут иметь индивидуальную ширину (разную в различных строках). Таким образом, любая ячейка может быть обозначена парой чисел - номером строки и номером столбца, на пересечении которых она находится. Кроме того, отдельным ячейкам и их диапазонам (компактным группам прямоугольной формы) можно присваивать собственные имена для удобства обращения к ним. Для присваивания имен и работы с ними используется панель редактирования, диалог "Имена", а также палитра свойств. Самая верхняя ячейка столбца называется "заголовком столбца". В ней выводится номер столбца, кроме того, она используется для выделения столбца и изменения его ширины. Аналогичное назначение имеет и самая левая ячейка строки, которая называется "заголовком строки".
Хотя в программе реализована возможность использования таблицы для непосредственного ввода, обработки и отображения данных различных типов, как в "обычных" электронных таблицах (использование таблиц, размещенных в форме), таблицы в системе 1С: Предприятие используются в основном для представления уже обработанной информации, в частности, описания печатной формы отчета. Обработка информации и помещение ее в нужные места таблицы для большинства объектов конфигурации выполняется программными модулями на языке системы 1С: Предприятие.
Табличный документ представляет "готовую" печатную форму и используется самостоятельно. Элемент управления типа "Табличный документ" может располагаться в форме. В этом режиме в табличный документ можно вставить другие элементы управления. Табличный документ хранится вне конфигурации в файле на диске. 2.7.1.2 Макеты
Макет предназначен для определения "кирпичиков", на основании которых строится готовая выходная форма. Проектирование макета заключается именно в "рисовании" этих составных частей: именованных областей. Макет располагается внутри конфигурации. Макеты бывают общими и располагаются на ветви "Общие - Макеты" (например, макеты стандартных платежных документов, печатающихся из различных документов) и относиться к определенному объекту конфигурации (например, карточка основного средства). Объект конфигурации может иметь несколько различные макетов печатных форм.
Проектирование макета заключается в "рисовании" составных частей - кирпичиков - именованных областей, из которых затем будет "собрана" готовая выходная форма - отчет. Именованные области бывают горизонтальные (включают в себя отмеченные строки) и вертикальные (включают в себя отмеченные столбцы), а также прямоугольными, включающими смежные ячейки. Так как практически все деловые документы имеют "прямоугольную" структуру, удобнее всего создавать макеты таких документов в редакторе, способном манипулировать прямоугольными элементами, каковым является табличный редактор.
В процессе создания макета вы можете: вводить в ячейки таблицы разнообразный текст; задавать параметры форматирования, как тексту, так и ячейке в целом; изменять высоту строк и ширину столбцов таблицы; включать в макет рисованные элементы - линии и прямоугольники, а также другие графические объекты: картинки, OLE-объекты и диаграммы, различные элементы управления, определять оформление, как всей таблицы, так и отдельных ячеек или групп ячеек.
Практически каждый отчет содержит так называемую шапку (заголовок) отчета, в которой указывается наименование отчета, исходные параметры построения. Для формирования таких данных создают именованную область, которую чаще всего называют "Шапка". Если в отчете присутствует табличная часть, то в шапку обычно включают наименования граф таблицы.
Для вывода строк таблицы создают именованные области (в показанном на рисунке примере это "Строка"), отвечающие за вывод различной информации в табличную часть. Число строк табличной части обычно при подготовке макета узнать невозможно, но структурно информация в табличной части повторяется, поэтому при построении отчета используют одни и те же области, описывающие отдельную строку. Ячейкам, предназначенным для вывода конкретной информации, ставят в соответствие переменные (в приведенном примере это "Счет", "Наименование", "Цена", "Сумма" и др.). При выводе очередной строки этим переменным присваивают содержимое каждой выводимой строки, а затем уже включают сформированную область в состав отчета. Так происходит до тех пор, пока не будет выведена вся информация табличной части.
Обычно завершается отчет выводом итоговых данных и реквизитами ответственных лиц. Эти данные обычно размещаю в области, именуемой "Подвал".
В окончательном виде макет - представляет собой совокупность прямоугольных областей, каждая из которых служит для выдачи какой-то части готового отчета: область для выдачи заголовочной части (наименования, даты и т.п.) область для выдачи шапки табличной части и так далее.
Подготовка макета начинается с формирования "кирпичиков", из которых строится отчет. Этими кирпичиками являются именованные области. Для создания именованной области выделите требуемую область и выберите пункт "Таблица - Имена - Назначить имя". В открывшемся диалоге укажите имя области.
Просмотр именованных строк и столбцов возможен при включенном режиме "Таблица - Имена - Отображение именованные строки / столбцы".
Имена областей показываются для строк между заголовками строк и самой областью, для столбцов - между заголовками столбцов и самой областью.
Просмотр прямоугольных именованных областей возможен при включенном режиме "Таблица - Имена - Отображать именованные ячейки".
Имена областей показываются в виде заштрихованной области. Имя выводится в середине области.
Для удаления именованной области выделите область, затем выберите пункт "Таблица - Имена - Убрать имя".
Если область состоит более чем из одной строки или столбца, то для изменения размеров именованной области выделите строки или столбцы внутри области и затем выберите пункт "Таблица - Раздвинуть".
Если область состоит из одной строки или столбца, то увеличить размер области нельзя. Нужно убрать имя и создать именованную область заново.
Для уменьшения размера области выделите нужное число строк или столбцов, которые нужно удалить, и в контекстном меню выберите пункт "Удалить".
Для прямоугольной области можно производить аналогичные действия. В случае, когда выделяется не строки или столбцы, а отдельные ячейки, изменение размеров области не производится.
Каждая ячейка макета имеет совокупность свойств. Наиболее важными из них являются свойства "Заполнение", "Параметр" и "Параметр расшифровки", задающие вид информации ячейки, ее значение и реакцию системы на щелчок по этой ячейке.
Заполнение. Пункты раскрывающегося списка свойства "Заполнение" устанавливают, какого рода информация введена в ячейку. Они изменяют внешний вид ячейки и используются только в процессе обработки шаблона при формировании готовой таблицы. Пункты этого списка имеют следующий смысл (см. таблицу):
Формат Пояснение данных Текст Информация в ячейке является текстом и при формировании таблицы будет перенесена из исходной таблицы в готовую таблицу без изменений. Параметр Информация в ячейке представляет собой параметр, имя которого указывается в свойстве Параметр.Шаблон Информация в ячейке представляет собой текст с включенными в него выражениями на встроенном языке системы 1C: Предприятие, заключенными в квадратные скобки. При формировании таблицы выражения будут вычислены, а их результаты будут включены в текст вместо самих выражений. Место, отводимое в тексте для вывода результатов выражений, определяется длиной этих результатов. Информация в ячейке готовой таблицы преобразуется в тип "строка".
Параметр - поле параметра для вывода содержимого ячейки. Свойство показывается, если в свойстве "Заполнение" категории "Макет" выбрано значение "Параметр".
Параметр расшифровки - указывается имя параметра, по которому программа производит обработку расшифровки значения, находящегося в ячейке.
2.7.1.2.1 Фиксация таблицы (шапки и боковика). Редактор таблиц системы 1С: Предприятие позволяет зафиксировать верхние строки и левые столбцы таблицы таким образом, чтобы при листании таблицы они постоянно присутствовали на экране. Это удобно, когда требуется просматривать какую-либо информацию, оформленную в виде таблицы большого размера. В этом случае на экране постоянно будут присутствовать шапка и боковик таблицы.
Чтобы зафиксировать верхние строки таблицы, следует выделить строку таблицы целиком и выбрать пункт "Таблица - Вид - Зафиксировать таблицу". Зафиксированы будут все строки, расположенные выше выделенной строки.
Чтобы зафиксировать столбцы таблицы, следует выделить столбец таблицы целиком. Зафиксированы будут столбцы, расположенные слева от выделенного столбца.
Чтобы зафиксировать одновременно строки и столбцы таблицы, следует выделить одну ячейку таблицы. Зафиксированы будут строки и столбцы, расположенные соответственно выше и левее выделенной ячейки.
Замечание. Фиксация строк и столбцов таблицы не переносится в готовую таблица. В этом случае необходимо использовать установку свойств таблицы с помощью встроенного языка.
Если в таблице существуют зафиксированные строки и (или) столбцы, для отмены фиксации следует повторно выбрать пункт "Зафиксировать таблицу".
2.7.1.2.2 Защита от редактирования.
Для запрета редактирования таблицы используется пункт "Таблица - Вид - Только просмотр". Установка атрибута "Только просмотр" для готовой таблицы возможна из встроенного языка системы 1С: Предприятие. Кроме этого, для защиты от редактирования можно использовать установку свойства таблицы "Защита" с помощью встроенного языка метод встроенного языка, который полностью защищает готовую таблицу от редактирования и копирования (в том числе через Буфер Обмена MS Windows).
2.7.1.2.3 Перемещение по таблице. Согласно общей концепции интерфейса MS Windows, окно таблицы в любой момент времени показывает только часть таблицы, лежащей "под" этим окном. Для перехода к любой ячейке в видимой области таблицы достаточно щелкнуть эту ячейку мышью. Выбранная ячейка становится активной. Для вывода на экран скрытых за границами окна областей таблицы используются линейки прокрутки.
2.7.1.2.4 Управление видом таблицы.
При помощи пунктов подменю "Таблица - Режимы" можно управлять отображением различных областей и компонентов таблицы: заголовков строк и столбцов, сеткой таблицы и т.д.
Кратко поясним назначение пунктов меню "Режимы". Каждый пункт и каждая кнопка работает как переключатель: выбор (нажатие) вызывает или прекращает отображение соответствующей области таблицы:
Пункт меню Действие Зафиксировать таблицу фиксирует верхние строки и левые столбцы таблицы таким образом, чтобы при листании таблицы они постоянно присутствовали на экране;Отображать сетку включает и отключает показ сетки таблицы - тонких линий, разделяющих ячейки таблицы;Отображать заголовкиуправляет показом заголовков строк и столбцов таблицы;Отображать секциивключает и отключает показ именованных областей слева от заголовков строк и сверху от заголовков столбцов; Только просмотрвключает и отключает запрет на любые изменения в таблицеОтображать примечания включает и отключает режим показа примечаний Отображать именованные ячейки включает и отключает режим показа именованных областей (ячеек) Черно-белый просмотротключает и включает показ цветов, заданных для таблицы. При включении этого пункта (в меню напротив него появляется галочка) все цвета будут определяться установками операционной системы MS Windows;Режим просмотра страницотключает и включает показ минимального количества строк (определяется, введенной информацией), области печати, разрывов страницМасштаб дискретно масштабирует изображение. 2.7.1.2.5 Масштабирование изображения. Для удобства просмотра таблицы изображение можно дискретно масштабировать. Для выбора масштаба изображения используется подменю "Таблица - Вид - Масштаб": при выборе этого пункта открывается подменю, в котором можно выбрать желаемый масштаб изображения таблицы.
Если у вас мышь имеет специальное колесико прокрутки, то для масштабирования нажмите клавишу [Ctrl] и, не отпуская ее, поверните колесико. Движением колесика от себя вы увеличиваете масштаб, к себе - уменьшаете.
2.7.1.3 Построение отчета
Сам процесс построения отчета происходит следующим образом.
В начале отчет строится как пустая таблица. Необходимо иметь в виду, что макет не связан напрямую с готовым отчетом. Скорее, макет представляет собой некий конструктор, набор областей, из которых в процессе работы программного модуля складывается готовый отчет.
В процессе обработки алгоритма отчета из макета в нужном порядке извлекаются поименованные области, транслируются (вместо имен переменных подставляются их значения) и копируются в таблицу готового отчета. Средства языка формирования отчетов позволяют наращивать отчет как вниз, так и вправо.
Рис. 165 Схема формирования табличного документа на основе макета
2.7.1.4 Печатная форма элемента справочника
Создадим печатную форму элемента справочника "Сотрудники".
Конфигуратор предоставляет разработчику воспользоваться специальным инструментом - конструктором печати, который берет на себя большую часть работы по созданию макета.
Откроем в конфигураторе нужный справочник и перейдем на вкладку "Макеты", в нижней части окна которой располагается раскрывающийся список "Конструкторы", в нем выберем пункт "Конструктор печати". В ответ откроется первый шаг диалога мастера конструктора печати справочника, в котором требуется указать тип создаваемой процедуры печати (печать элемента справочника), ее имя (Печать) и местоположение (форма элемента). На втором шаге определим содержимое шапки печатной формы, а на третьем - содержимое табличной части, на четвертом - содержимое подвала, а на пятом - способ вызова процедуры печати (кнопка "Печать" в форме элемента).
Рис. 166 Первый шаг конструктора печати справочника
Рис. 167 Второй шаг конструктора печати справочника
Рис. 168 Третий шаг конструктора печати справочника
Рис. 169 Четвертый шаг конструктора печати справочника
Рис. 170 Пятый шаг конструктора печати справочника
В результате действий мастера откроется построенный макет с областями "Заголовок", "Шапка", "ТрудоваяДеятельностьШапка", "ТрудоваяДеятельность". В форме элемента добавится кнопка "Печать", щелчком по котрой в пользовательском режиме откроется печатная форма элемента справочника, вызванная процедурой "Печать" формы элемента. Эту процедуру также написал конструктор печати.
Рис. 171 Построенный макет для элемента справочника
Открыв печатный документ в пользовательском режиме, мы увидим, что даты начала и конца работы сотрудника в конкретной организации указаны с точностью до секунды. В данном вопросе такая точность не имеет смысла, поэтому переформатируем даты с точностью до дня, для этого откроем палитру свойств ячейки с датой, выберем там свойство "Формат" и щелчком по кнопке вызова диалога вызовем конструктор форматной строки.
Рис. 172 Конструктор форматной строки
Рис. 173 Задание формата даты
Рис. 174 Печатная форма элемента справочника в пользовательском режиме
2.7.1.5 Печатная форма списка справочника
Создадим печатную форму списка справочника "Сотрудники".
Вернемся на вкладку "Макеты"справочника "Сотрудники" и опять вызовем "Конструктор печати". В ответ откроется первый шаг диалога мастера конструктора печати справочника, в котором требуется указать тип создаваемой процедуры печати (печать списка справочника), ее имя (Печать) и местоположение (форма списка). На втором шаге определим содержимое шапки печатной формы, а на третьем - способ вызова процедуры построения печатной формы.
Рис. 175 Первый шаг конструктора печати справочника
Рис. 176 Второй шаг конструктора печати справочника
Рис. 177 Третий шаг конструктора печати справочника
После этого в конфигураторе откроется его макет формы списка. Проверим этот макет в работе, перейдя в пользовательский режим и открыв форму списка справочника "Сотрудники". Обратите внимание на то, что в правом нижнем углу формы списка появилась новая кнопка "Печать", которую добавил конструктор печати. После щелчка по этой кнопке для просмотра откроется печатная форма списка элементов.
Рис. 178 Сформированный макет печатной формы списка справочника
Рис. 179 Печатная форма списка в пользовательском режиме
2.7.1.6 Расшифровка ячейки печатной формы
Печатная форма списка содержит общую информацию о сотрудниках, и для уточнения этой информации полезно бывает рассмотреть детальную информацию в форме элемента, для этого используется расшифровка ячейки.
Система 1С:Предприятие поддерживает механизм расшифровок (drill-down, drill-through), который работает следующим образом: когда готовая таблица открыта в режиме "Только просмотр", при помещении указателя мыши над ячейкой, содержащей заполненное поле "Расшифровка", указатель принимает форму лупы. Это значит, что возможна детализация (расшифровка) данных таблицы. Теперь, если дважды щелкнуть левой кнопкой мыши на этой ячейке (или сделать ее активной и нажать клавишу Enter), то можно получить более детальный отчет, либо открыть форму элемента справочника или документа, если, конечно, это предусмотрено разработчиком. Расшифровки делятся на стандартные и нестандартные. Стандартные расшифровки обрабатываются системой автоматически и не требуют особых усилий от программиста, кроме создания ссылки на нужный объект, и указания этой ссылки в свойстве "Параметр расшифровки", например: * значения типа "число", "строка", "дата", "перечисление" будут выданы для просмотра; * для документов будет открыта форма документа; * для элементов справочника будет открыта форма элемента, а если справочник редактируется в списке, то курсор будет установлен на текущем элементе в форме списка. Сделаем расшифровку элемента справочника в ячейке "Наименование", для этого подсветим соответствующую ячейку на макете печатной формы списка, щелком правой кнопки откроем контекстное меню ячейки, и в появившейся палитре свойств установим значение "Ссылка" свойства "Параметр расшифровки".
Рис. 180 Установка расшифровки ячейки
Теперь надо зайти в форму списка справочника "Сотрудники", найти в модуле формы процедуру "Печать" и задать там значение параметра "Ссылка" (Область.Параметры.Ссылка=Выборка.Ссылка;).
Рис. 181 Измененный текст процедуры печати в модуле формы списка
Справочник сотрудники имеет подчиненный справочник "Дети". Поскольку подчиненный справочник имеет смысл рассматривать только в совокупности со справочником - владельцем, то вставим в форму списка еще одну печатную форму "СписокСДетьми"- список сотрудников с детьми, поместив кнопку ее вызова в форму списка. Первоначально создадим ее как обычную печатную форму списка, а затем добавим в ее макет еще одну именованную область "Дети", в эту область вставим реквизиты подчиненного справочника и изменим текст процедуры "СписокСДетьми", добавив в цикл обхода элементов справочника еще один цикл - цикл обхода элементов подчиненного справочника.
Рис. 182 Измененный макет печатной формы списка справочника
Рис. 183 Фрагмент измененного текста процедуры печати модуля формы списка
Рис. 184 Печатная форма списка с подчиненным справочником
2.7.1.7 Печатная форма документа
Для создания печатной формы документа откроем для редактирования документ "ПриходнаяНакладная" и перейдем на вкладку "Макеты". Там щелчком по кнопке "Конструкторы" откроем раскрывающийся список и вызовем конструктор печати. В ответ вызовется конструктор печати документа, на первом шаге которого надо задать имя процедуры печати и ее местоположение. Затем, на втором шаге, надо задать реквизиты документа, отображаемые в шапке, а на третьем шаге - реквизиты табличной части. На четвертом шаге конструктора печати надо указать реквизиты документа, отображаемые в подвале, а на четвертом шаге указать способ процедуры печати и способ предъявления пользователю печатного документа. Рис. 185 Первый шаг конструктора печати документа
Рис. 186 Второй шаг конструктора печати документа
Рис. 187 Третий шаг конструктора печати документа
Рис. 188 Четвертый шаг конструктора печати документа
После этого в конфигураторе откроется форма документа и его макет. Проверим этот документ в работе, перейдя в пользовательский режим и открыв документ "ПриходнаяНакладная". Обратите внимание на то, что в правом нижнем углу появилась новая кнопка "Печать", которую добавил конструктор печати. После щелчка по этой кнопке для просмотра откроется печатная форма документа.
Рис. 189 Заключительный шаг конструктора печати документа
Рис. 190 Макет печатной формы документа
Рис. 191 Печатная форма документа в пользовательском режиме
Конструктор сформировал вполне приемлемую печатную форму документа, и основное, чего не хватает - это итоговой суммы документа прописью. Кроме того, несмотря на целые значения, принято указывать нули в дробной части числа (копейки) и дробную часть значения количества, для этого выводимые данные следует форматировать.
Для указания формата выводимого значения надо выделить ячейку макета, щелком правой кнопки мыши открыть ее контекстное меню, и в нем выбрать пункт "Свойства". В появившейся палитре свойств надо найти свойство "Формат" и щелкнуть по кнопке в правой стороне поля, в ответ вызовется конструктор форматной строки, в котором надо задать длину, точность и разделитель дробной части.
Рис. 192 Конструктор форматной строки
Рис. 193 Задание формата вывода.
Рис. 194 Задание свойств ячейки "СуммаПрописью"
Для вывода в конце накладной суммы документа прописью надо в области "Подвал" в ячейку, находящуюся под ячейкой с цифровыми данными суммы документа занести значение "СуммаПрописью" и задать ее свойства, указав, что тип ячейки "Параметр". Затем надо зайти в форму документа, перейти на закладку "Модули" и найти там текст процедуры "Печать". В текст процедуры, в описание области "Подвал", надо добавить определение строки "ПараметрыПредметаИсчисления", форматной строки "ФорматнаяСтрока" и получить значение переменной "СуммаПрописью" с помощью вызова функции "ЧислоПрописью()".(). У нее могут указываются в качестве параметров: преобразуемое число; форматная строка; параметры предмета исчисления (вид этой форматной строки определяется значением кода локализации). В форматной строке указываем код локализации - Русский (Россия).
В параметрах предмета исчисления указываем возможные склонения слов "рубль" и "копейка" (для значений чисел 1,2,5), род этих слов, а так же количество разрядов дробной части, которые будут выводиться прописью.
Рис. 195 Изменение теста процедуры печати в модуле формы документа
Рис. 196 Готовая печатная форма накладной в пользовательском режиме
2.7.1.8 Печатная форма журнала документов
Для создания печатной формы журнала документов - реестра документов - надо открыть для редактирования журнал документов на вкладке "Макеты" и щелкнуть там по кнопке "Конструктор печати...", в ответ вызовется конструктор печати журнала документов, на первом шаге которого надо указать имя вновь создаваемой процедуры печати и ее местоположение, затем, на втором шаге, надо задать реквизиты документов, указываемые в реестре, а на третьем шаге задать кнопку вызова процедуры печати и режимы просмотра печатного документа.
Рис. 197 Первый шаг конструктора печати журнала документов
Рис. 198 Второй шаг конструктора печати журнала документов
Рис. 199 Третий шаг конструктора печати журнала документов
Рис. 200 Макет печатной формы журнала документов
Рис. 201 Печатная форма журнала документов в пользовательском режиме
2.7.2 Задание на лабораторную работу
1. Создать печатные формы элементов справочников "Контрагенты", "Клиенты", "Сотрудники", "Номенклатура".
2. Создать печатные формы для списка справочников "Подразделения", "Склады", "Контрагенты", "Клиенты", "Сотрудники", "Номенклатура" (во всех печатных формах предусмотреть возможность расшифровки ячейки). Для справочников - владельцев ("Контрагенты", "Клиенты", "Сотрудники") предусмотреть дополнительную печатную форму, включающую печать подчиненных элементов.
3. Создать печатные формы документов "ПриходнаяНакладная", "Счет", "Доверенность", "РасходнаяНакладная", "ОказаниеУслуги", "ПриходныйКассовыйОрдер", "РасходныйКассовыйОрдер" (во всех печатных формах обратить особое внимание на форматирование цифровых данных и печать общей суммы документа прописью).
4. Создать печатные формы реестра документов журналов "Касса", "ПриходныеДокументы", "РасходныеДокументы", "ДвижениеТовара", "СкладскиеДокументы" (учесть форматирование числовых данных и предусмотреть возможность расшифровки).
2.7.3 Контрольные вопросы
1. Понятие конструктора печати.
2. Предназначение объекта конфигурации "Макет".
3. Понятие табличного документа.
4. Структура табличного документа.
5. Возможные типы значения ячеек таблицы при использовании ее в качестве макета.
6. Форматирование данных в ячейках таблицы.
7. Расшифровка ячейки таблицы.
8. Фиксация шапки и боковика таблицы.
9. Защита таблицы.
Документ
Категория
Рефераты
Просмотров
88
Размер файла
5 448 Кб
Теги
лабраб
1/--страниц
Пожаловаться на содержимое документа