Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КмпТхнлАвтДттиПрдпрЛб_2017.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.79 Mб
Скачать
    1. Порядок выполнения.

Прочитайте теоретические положения, выполните задания в соответствии со следующим пунктом методических указаний.

    1. Задания по третьей части работы.

  1. Создать справочник «ЕдиницыИзмерения». Подсистема общие/справочники. Задайте у справочника несколько предопределённых единиц измерения. (штука, килограмм, литр)

  2. Создать справочник "Подразделения". справочник должен быть отнесён к подсистеме "Общие", "Справочники".

  3. Задайте возможность создание элементов справочника подразделения непосредственно с панели действий с помощью настройки соответствующей подсистемы (кнопка командный интерфейс, основной страницы конструктора объекта)

  4. Создать перечисление Виды товаров. Элементы перечисления – Товар, услуга, материал.

  5. Создать справочник номенклатура. Реквизиты справочника. ЦенаПокупки (число (10,2), ЦенаПродажи –число(10,2), ВидНоменклатуры –Перечисление (ВидыТоваров), Основная единица измерения – (справочник – единицы измерения).

  6. Создать справочник "Серии" подчинённый справочнику – номенклатура. (Подсистемы - Общие, Общие/Справочники)

  7. Создать обработки для вывода содержимого справочника на основе объектной модели.

    1. Вывод справочника подразделения

    2. Вывод справочника номенклатура

  8. Создать обработку для изменения значения реквизитов справочника

    1. цены покупки элементов справочника номенклатура заданной группы на заданную величину.

    2. Для нахождения средней цены продажи для элементов справочника номенклатуры выбранной группы.

    3. Для увеличения покупной цены элементов справочников выбранной не отнесённых ни к какой группе на заданную величину

    4. Для вычисления величины цены накрутки для элементов не отнесённых ни к какой группе и увеличения на неё цены потавки в заданной группе

    1. Контрольные вопросы

  1. Что такое справочник?

  2. Какие параметры справочника задаются при создании. Какие иерархии могут быть в справочниках. Что такое иерархия в справочниках.

  3. Что такое предопределённые элементы справочника? Как они создаются. Можно ли в режиме предприятия удалить предопределённый элемент.

  4. Каким образом задать возможность создания элементов справочников непосредственно с панели действий (где находится панель действий)

  5. Что такое перечисление. Можно ли изменить значение перечисление из рабочего режима 1сПредприятия.

  6. Какие формы у справочника есть как создаётся форма справочника. Задайте форму справочника по заданию преподавателя, откройте её в режиме предприятия.

  7. Что представляет из себя объектная модель справочника. Каким образом можно перебрать содержимое справочника.

  1. Работа с объектами на основе табличной модели. Запросы и обработки в среде 1с 8.2

    1. Теоритические положения.

Табличная модель подразумевает работу с данными на основе запросов.

Запрос – агрегатный объект используемый для выборки данных аналогичный сквл в релящионных базах данных.

Для задания содержания запроса используется специальный язык аналогичный SQL

Пример содержания запроса.

"ВЫБРАТЬ

| Номенклатура.Наименование,

| Номенклатура.ЦенаПродажи,

| Номенклатура.ВидНоменклатуры,

| Номенклатура.ОсновнаяЕдиницаИзмерения

|ИЗ

| Справочник.Номенклатура КАК Номенклатура";

"ВЫБРАТЬ

| Номенклатура.ВидНоменклатуры,

| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатура.Наименование) КАК | Наименование,

| МИНИМУМ(Номенклатура.ЦенаПокупки) КАК ЦенаПокупки

| ИЗ

| Справочник.Номенклатура КАК Номенклатура

| СГРУППИРОВАТЬ ПО

| Номенклатура.ВидНоменклатуры"

Обычно работа с запросами включает следующие этапы.

  • Создание запроса Запрос1 = Новый Запрос;

  • Задание содержания запроса Запрос1.Текст =

"ВЫБРАТЬ

  • Выполнение запроса Запрос.Выполнить();

  • Обработка результатов запроса

Создание запросов выполняется как создание объектов в среде 1с, с помощью конструктора Новый.

Запрос1 = Новый Запрос;

Задание содержания запроса – задание его свойства "Текст".

Запрос1.Текст =

"ВЫБРАТЬ

| Номенклатура.ВидНоменклатуры,

| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатура.Наименование) КАК Наименование,

| МИНИМУМ(Номенклатура.ЦенаПокупки) КАК ЦенаПокупки

|ИЗ

| Справочник.Номенклатура КАК Номенклатура

|ГДЕ

| Номенклатура.ЭтоГруппа = ЛОЖЬ

|

|СГРУППИРОВАТЬ ПО

| Номенклатура.ВидНоменклатуры";

Результат = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();

Для создания запросов в тексте модуля можно воспользоваться конструктором запросов.

      1. Вызов конструктора запроса.

      1. Вызов конструктора запросов с обработкой результатов

      1. Формирование текста запроса в конструкторе запросов

Кнопка "запрос" позволяет показать результаты.

В результате работы конструктора будет создан такой текст запроса

&НаСервере

Процедура ВыполнитьЗапросСервер() //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Номенклатура.Наименование,

| Номенклатура.ЦенаПродажи,

| Номенклатура.ВидНоменклатуры,

| Номенклатура.ОсновнаяЕдиницаИзмерения

|ИЗ

| Справочник.Номенклатура КАК Номенклатура";

Результат = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

// Вставить обработку выборки

[ИмяПоля]

ВыборкаДетальныеЗаписи

КонецЦикла;

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

Вывод на печать. Работа с табличными документами.

Табличный документ – агрегатный объект. Таблица типа Excel, используется для вывода данных в качестве печатных форм, для ввода данных, могут быть и другие применения.

      1. Табличный документ

В программных модулях табличный документ создаётся

С помощью универсального конструктора объектов Новый

ТабДок = Новый ТабличныйДокумент;

При создании печатных форм табличный документ используется в виде особого типа табличных документов – макета. Для того что бы табличный документ стал макетом в нём должно быть задано специальное свойство

      1. Задание свойства «макет» для табличного документа.

Макет отличается тем что в нём могут быть заданы именованные области для вывода, к которым можно обращаться при формировании печатной формы и помещать их в формируемых документ как одно целое.

      1. Макет с именованными областями.

Именованные области могут быть горизонтальными или вертикальными.

Создаются именованные области через команду основного меню режима конфигуратора "Таблица/Имена/НазначитьИмя". При этом строки или столбцы, включаемые в область, должны быть выделены (рис. )

      1. Создание именованной области

Обращение к именованной области макета происходит методом ПолучитьОбласть("ИмяОбласти")

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

Особенностью макетов является то, что их ячейки могут включать различный тип заполнения данными. Тип заполнения задаётся свойством «Заполнение» из группы свойств ячейки - макет.

      1. Возможные типы заполнений данными ячейки макета.

Возможны следующие типы заполнений

Текст

Параметр

Шаблон

Тип заполнения – Текст подразумевает, что данные как в ячейку вводятся так и отображаются.

Заполнение «Параметр» позволяет использовать в качестве значения ячейки – реквизиты или переменные контекста, то есть объекта в для которого создаётся макет. Например реквизиты справочника.

Заполнение «Шаблон» указывает, что в качестве значения используется шаблон, созданный на основе специального языка формул табличных документов 1с. В данном практикуме язык формул таблиц не будет рассматривать рассматриваться.

Создание печатного документа должно включать следующие действия

  1. Создание печатного документа (на клиенте)

ТабДок = Новый ТабличныйДокумент;

  1. Вызов макета (в приведённом ниже примере вызывается макет из обработки с именем "ОбработкаПечать" (на сервере)

Макет= = Обработки.ОбработкаПечать.ПолучитьМакет("Макет1");

  1. Подготовка данных выводимых на печать,

В данной работе подготовка данных будет производится на основе запроса.

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Номенклатура.Наименование,

| Номенклатура.Код,

| Номенклатура.ЦенаПродажи,

| Номенклатура.ВидНоменклатуры

|ИЗ

| Справочник.Номенклатура КАК Номенклатура

|

|СГРУППИРОВАТЬ ПО

| Номенклатура.ВидНоменклатуры,

| Номенклатура.Наименование,

| Номенклатура.Код,

| Номенклатура.ЦенаПродажи";

Результат = Запрос.Выполнить();

  1. Заполнение формирование документа. Заполнение включает получение необходимой области в макете операцией макета ПолучитьОбласть() с последующим выводом данной области в документ методом документа Вывести() При получении области происходит автоматическая подстановка значений параметров в документ и вычисление шаблонов. Пример кода заполнение документа приведён ниже.

ТабДок.Очистить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(ОбластьЗаголовок);

СтрокаТабл = Макет.ПолучитьОбласть("Детали");

ВыборкаСрокиР = Результат.Выбрать();

Пока ВыборкаСтрокаР.Следующий() Цикл

СтрокаТабл.Параметры.Заполнить(ВыборкаСтрокаР);

ТабДок.Вывести(СтрокаТабл, ВыборкаСрокиР.Уровень());

КонецЦикла;

Непосредственно вставку в макет можно выполнять командой

ОбластьШапка.Параметры.НомерДокумента=Док.Номер;

Вывод документ заполненных именованных областей макета.

ТабДок.Вывести( ОбластьШапка);

  1. Отображение документа. Выполняется операцией документа Показать( ).

Необходимо помнить, что получение данных из информационной базы (обычно требуемая при заполнении документа) можно делать в программных модулях, выполняемых на сервере. Тогда как отображение документа, конечно же, возможно только на клиенте. Поэтому обычно формирование печатного происходит в двух процедурах. В процедуре, с директивой &наКлиенте – в данной процедуре происходит создание и отображение документа, и процедуре с директивой &НаСервере или &НаСервереБезКонтекста происходит заполнение документа.

&НаКлиенте

Процедура ПечатьСпр(Команда)

ТабДок = Новый ТабличныйДокумент;

ЗапонениеДок (ТабДок);

ТабДок.Показать( );

КонецПроцедуры

&НаСервере

Процедура ЗапонениеДок (ТабДок);

//Действия по заполнению документа (действия 2,3,4,5)

КонецПроцедуры

Формирование документа для печати может быть упрощено за счёт использования конструктора вызываемого в из программного модуля через контекстное меню. Конструктор, целесообразно вызывать для процедуры, выполняемой на сервере, то есть для создание действий по заполнению документа.

      1. Вызов конструктора запросов с обработкой результатов.

При вызове конструктора необходимо задать режим вывода результата в табличный документ (закладка Тип обработки)

      1. Конструктор запросов с обработкой результатов.