Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технологическая карта 12 1С

.doc
Скачиваний:
35
Добавлен:
10.06.2015
Размер:
727.04 Кб
Скачать

Технологическая карта №12 (6 часов)

  1. Наименование: Модули. Взаимодействия форм.

  2. Цель: Научится c формами при работе в 1С 8.

  1. Подготовка к занятию:

    1. По указанной литературе изучить тему рассмотренную в данной технологической карте

  1. Литература:

4.1 Игнатов А.С. учебно – методическое пособие «1С программирование», 2014

4.2 Игнатов. А.С. конспект лекций по дисциплине «1С программирование» 2014.

  1. Перечень оборудования:

5.1 Персональный IBM PC.

5.2 1С версии 8.

  1. Задание:

Для того, чтобы правильно выполнить задание, нужно соблюдать последовательность действий.

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

Определяем «место» на форме, к которому будет применяться событие (элемент формы либо вся форма целиком) и определяем доступные методы.

После этого пишем код.

6.1 Создать внешнюю обработку, добавить на форму табличное поле (таблица значений), 2 колонки - код и товар. При открытии формы вывести из справочника «Товары» коды и наименования всех элементов.

6.2 Создать внешней обработки поле ввода (список значений) и две кнопки - одна включает доступность формы, другая выключает.

6.3 Создать внешнюю обработку, добавить на форму 2 поля ввода (у одного тип строка, у второго ссылка на справочник «Товары»). В первое поле вводим код элемента или группы справочника товары, элемент с таким кодом должен отобразиться в поле ввода 2.

6.4 Создать внешнюю обработку, добавить на форму поле ввода и табличное поле. В поле ввода выбираем папку справочника «Товары», в табличном поле должны отобразиться элементы из этой папки.

6.5 Создать внешнюю обработку7, добавить на форму поле списка, 2 поля ввода (адрес и телефон, строки), кнопка «Записать». При открытии вывести в поле списка справочник «Контрагенты» (только элементы), При выборе контрагента из списка в полях «адрес» и «телефон» должны отобразиться данные по этому контрагенту из справочника. Адрес и телефон можно отредактировать, при этом данные справочника перезаписываются.

6.6 Создать внешнюю обработку, добавить на форму поле списка, табличное поле (колонки -договор, дата начала, дата окончания, ссылка (должна быть невидима для пользователя)). Вывести в поле списка элементы справочника контрагенты - код и наименование (юрлицо). При выборе строки списка табличное поле заполняется договорами этого контрагента. Договор можно редактировать, можно добавлять, но нельзя удалять и помечать на удаление.

Добавить в предыдущую обработку кнопки, одна из которых включает доступность формы (возможность редактирования), другая выключает.

6.7 Создать внешнюю обработку, добавить на форму поле списка с пометкой, флажки с заголовками «Пометить все», «Снять все», «Инвертировать». При открытии обработки в поле списка вывести все элементы справочника «Товары». Нужно элемент, на котором стоит флаг, пометить на удаление.

  1. Порядок выполнения работы:

7.1 Изучить предложенную литературу.

7.2 Изучить приложение.

7.3 Выполнить задания.

7.4 ответить на контрольные вопросы.

7.5 Подготовить отчет.

  1. Содержание отчета:

8.1 Титульный лист

    1. Наименование и цель работы

    2. Выполненное задание

    3. Ответы на контрольные вопросы

    4. Вывод о проделанной работе

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

9.1 Что такое универсальные коллекции.

9.2 Как представлены записи в справочнике в 1С.

9.3 Что такое Массив

9.4 Что такое Структура.

9.5 Что такое Список значений.

9.6 Что такое Дерево значений.

9.7Что такое ВыбратьЭлемент( ), зачем используется.

9.8 Зачем используется сортировка и как ее сделать.

Приложение:

1. Работа с формой. Диалог

При создании в режиме конфигурации повой формы, первое, иго мы видим, это закладка «Диалог». Экранный диалог - это способ ввода и редактирования информации, отображаемая часть формы (видимая пользователю).

Сама по себе форма является коллекцией, содержащей элементы формы. Элементы представляют собой поля ввода, флажки, переключатели, кнопки и тд. Кроме того, элемент может быть группой, включающей другие элементы. Группа может представляться как панель с рамкой, панель со страницами (закладками), собственно страница, командная панель, таблица, которая тоже включает элементы (колонки). Структура элементов описывает то. как будет выглядеть форма, а вся функциональность описывается в виде реквизитов и команд. Добавить на форму элемент можно с помощью меню «Форма» - «Вставить элемент управления». Откроется окно «Вставка элемента управления».

Реквизиты - это данные, с которыми работает форма, команды - процедуры и функции, которые пишутся в модуль формы.

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

В формах существует механизм привязки сообщений, выдаваемых пользователей, к данным формы. Это позволяет системе визуально отмечать и активизировать элементы формы, при заполнении которых пользователь допустил ошибку.

Форма создается в редакторе формы, который доступен в режиме конфигуратора. При создании формы можно сразу указать, какие реквизиты должны быть на форме, можно добавить уже позже в процессе работы с ней.

2. Предопределенные процедуры и функции.

Предопределённые процедуры и функции есть у каждого объекта конфигурации, и они заданы самой платформой. Предопределённые процедуры и функция можно посмотреть, открыв модуль объекта и нажав кнопку «Ргос».

Для формы внешней обработки доступны следующие предопределенные процедуры и функции:

Предопределенные процедуры реагируют на события объекта.

2.1. События формы.

События формы - это процедуры, указывающие на выполнение определённого действия. Событие формы «при» означает, что действие выполняется при совершении чего-либо. Событие формы «перед» означает, что действие выполняется перед совершением чего-либо.

2.2. Элементы формы.

2.2.1 Поле ввода.

Поле ввода - это элемент формы, который не имеет фиксированного типа значений

Номер: I

Поле ввода может иметь значение как базового типа (строка, число, дата и т.д.), так и агрегатного (ссылка на справочник, документ, перечисление). При добавлении по умолчанию

Ему присваивается имя

      1. Табличное поле. Табличное пате имеет тип

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

События табличного поля могут касаться каждой ячейки либо целиком табличного поля (активация - двойной клик в любом месте таолицы).

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

2.2.3. Поле списка

Поле списка имеет тип «Список значений». Для него доступны все функции, как для списка

значении.

2.2.4. Надпись.

Элемент диалога «Надпись» не является переменной. Это текстовое пояснение для других элементов формы.

Пример.

Процедура КнопкаВыполнитьНажатие(Кнопка) //пометить на удаление все поля помеченные на удаление

для Каждого стр из полесписка1 цикл // цикл приравневание строк перем

если стр.Пометка ТОГДА //если помеченная строка тогда

пер=стр.Значение.получитьобъект(); //пер равна наиденной строке ССЫЛКА

пер.пометкаудаления=истина; //пометить на удаление

пер.записать(); //записать в таблицу измененния

конецесли;

конеццикла;

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

Процедура ПриОткрытии() //вывести при загрузке контрагентов

мен=справочники.контрагенты; //

выб=мен.Выбрать(); //делаем выборку по строкам

пока выб.Следующий() цикл // делаем выборку по строкам

если выб.ЭтоГруппа=ложь тогда // проверка на папку

полесписка1.Добавить(выб.ссылка,выб.код); //работаем теперь с ССЫЛКА-наименование но отображается код

конецесли;

конеццикла;

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

Процедура кнопка1Нажатие(Элемент)

для Каждого стр из полесписка1 цикл // переход по строкам

стр.Пометка=Истина;

конеццикла;

// Вставить содержимое обработчика.

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

Процедура Кнопка2Нажатие(Элемент) //удалить пометки

для Каждого стр из полесписка1 цикл //

стр.Пометка=ложь;

конеццикла;

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

Процедура Кнопка3Нажатие(Элемент) //инверсии-если истина то ложь

для Каждого стр из полесписка1 цикл //

если стр.Пометка=Истина тогда

стр.Пометка=ложь;

иначе стр.Пометка=Истина;

конецесли;

конеццикла;

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

Процедура ПолеВвода1ПриИзменении(Элемент)//при выборе элемента из справочника вывести всю строку из справочника

//для Каждого стр из полеввода1 цикл

ТабличноеПоле1.Очистить();

выб=справочники.товары.выбрать(полеввода1);//находим ссылку в таблице товары которая соответствует выбранному продукту

пока выб.следующий() цикл

нов=ТабличноеПоле1.Добавить();

нов.код=выб.код;

нов.наим=выб.наименование;

нов.артик=выб.артикул;

конеццикла;

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