Лабораторная работа 2

 

1. Создайте справочник Клиенты. Задайте представления справочника как показано на рис. 5.8. В окне редактирования на закладке Подсистемы укажите принадлежность справочника к подсистемам Бухгалтерия и ОказаниеУслуг. На закладке Данные задайте Длину наименования: 50.

2. В командном интерфейсе подсистемы ОказаниеУслуг установите видимость команды Клиент: создать (см. рис. 5.9).

3. Запустите отладку и создайте в справочнике Клиенты несколько элементов (рис. 5.11). Изучите командную панель формы списка справочника.

 

Рис. 5.11

4. Создайте справочник Сотрудники. Представление объекта: Сотрудник. Расширенное представление списка: Список сотрудников. Справочник доступен в подсистемах: ОказаниеУслуг и РасчетЗарплаты. Длина наименования: 50. Создайте табличную часть ТрудоваяДеятельность с реквизитами: Организация (тип Строка, длина 100), НачалоРаботы (тип Дата, состав даты – Дата), ОкончаниеРаботы (тип Дата, состав даты – Дата), Должность (тип Строка, длина 100). (См. рис.5.5)

5. В командном интерфейсе подсистемы РасчетЗарплаты установите видимость команды Сотрудник: создать.

6. Запустите отладку и создайте в справочнике Сотрудники несколько элементов. У некоторых из них заполните табличную часть Трудовая деятельность (рис. 5.12 и рис. 5.13).

 

Рис. 5.12

 

 

Рис. 5.13

 

7. Создайте справочник Номенклатура с иерархией групп и элементов (см. рис. 5.6). Справочник доступен в подсистемах УчетМатериалов, ОказаниеУслуг, Бухгалтерия. Длина наименования 100.

8. В командном интерфейсе подсистем УчетМатериалов и ОказаниеУслуг установите видимость команды Номенклатура: создать.

9. Запустите отладку и создайте в справочнике Номенклатура две группы: Материалы и Услуги. В каждой из групп создайте несколько элементов (рис. 5.14). Чтобы получить представление списка в виде показанном на рис. 5.14 надо использовать меню Ещё / Режим просмотра / Дерево.

Рис. 5.14

 

10. Создайте справочник Склады. Представление объекта: Склад. Справочник доступен в подсистемах УчетМатериалов и ОказаниеУслуг. На закладке Поле ввода установите флаг Быстрый выбор. Это позволит в дальнейшем выбирать элементы этого справочника (по кнопке ) не из отдельной формы, а из небольшого выпадающего списка. На закладке Прочие через кнопку Предопределенные задайте предопределенный склад Основной (см. рис. 5.7).

11. В командном интерфейсе подсистемы УчетМатериалов установите видимость команды Склад: создать.

12. Запустите отладку, проверьте в списке складов наличие предопределенного элемента и добавьте туда ещё какой-нибудь склад (рис. 5.15). Предопределенные элементы помечаются специальным знаком .

Рис.5.15

 

6. Документы

 

6.1. Назначение документов

 

Документ – одно из основных понятий системы «1С: Предприятие». При помощи документов организуется ввод в систему первичной информации о совершаемых хозяйственных операциях.

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

Последовательность документов, привязанных к шкале времени, позволяет восстановить последовательность событий. Поэтому каждый документ обладает двумя стандартными реквизитами – Датой и Номером документа. Кроме того, стандартными реквизитами документа являются Пометка удаления, Ссылка, Проведен.

Стандартный реквизит Номер имеет уникальное значение в пределах заранее заданного для документа периода, например месяц, квартал, год. В начале следующего периода нумерация возобновляется.

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

Документы могут выступать регистраторами для регистров. В этом случае при сохранении документов используется специальная процедура Проведения, которая обеспечивает изменение состояния связанного регистра. Таким образом, документы обеспечивают сохранение данных в постоянных хранилищах – Регистрах.

Для облегчения ввода данных в документах могут использоваться данные справочников

 

6.2. Программные объекты документов

 

При создании документов автоматически создаются связанные с ними программные объекты.

Объект ДокументыМенеджер представляет собой коллекцию документов. Программный доступ осуществляется через экземпляр объекта по имени Документы.

Объект ДокументМенеджер является элементом коллекции и представляет отдельный документ. С помощью этого объекта осуществляется поиск документов, получение выборки документов, создание нового документа, работа с формами и макетами документа. Программный доступ осуществляется так:

Документы.Документ1.

 

Объект ДокументВыборка обеспечивает доступ к данным документа. Обеспечивает динамическую подгрузку данных. Программный доступ осуществляется так:

Выборка = Документы.Документ1.Выбрать();

 

Объект ДокументСсылка обеспечивает доступ на чтение к экземпляру документа.

Объект ДокументОбъект обеспечивает доступ на чтение и запись к экземпляру документа.

Из одних объектов с помощью определенных свойств или методов можно получить другие объекты, как показано рис. 6.1.

 

Рис.6.1. Взаимосвязь объектов для работы с документами

 

Полная синтаксическая диаграмма метода Выбрать такова:

Выбрать (<Дата начала>, <Дата окончания>, <Отбор>, <Порядок>)

Метод Выбрать позволяет ограничить выборку только нужными документами с помощью параметров вызова. Ниже описаны параметры метода Выбрать и их назначение:

Дата начала - Дата и время начала периода выборки документов.

Дата окончания - Дата и время конца периода выборки документов.

Отбор - Структура, которая задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. В качестве полей для отбора могут задаваться только поле Дата и индексированные реквизиты документа. Структура может содержать только один элемент.

Порядок - Строка, задающая реквизит и направление сортировки выборки документов, например, «Контрагент Возр» или «Оклад Убыв». Может быть указано поле Дата или имя индексированного реквизита документа. Если порядок не задан, то выборка упорядочивается по хронологии докумен­тов.

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

 

 

6.3. Проведение документа

 

Документ может быть связан с одним или несколькими регистрами. В этом случае при сохранении документа вызывается специальная процедура, носящая название ОбработкаПроведения(). Этот метод – обработчик вызывается при возникновении события проведения – когда пользователь проводит документ (нажимает кнопку ОК в стандартном пользовательском интерфейсе конфигурации). Процедура проведения располагается в модуле документа. Ее программный код обеспечивает добавление в связанный регистр или несколько регистров новых записей, поля которых заполняются в соответствии с правилами, описанными в данной процедуре. Вновь создаваемые записи называются движениями (рис.6.2).

 

 

Рис. 6.2. Проведение документа

 

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

Регистратор – это документ, влияющий на содержимое регистра.

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

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

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

Оперативное проведение документа с датой, отличающейся от текущей, невозможно. Если документ проводится оперативно с датой, меньшей текущей, оперативное проведение невозможно, и пользователю предлагается провести документ не оперативно. Если документ проводится оперативно с датой больше текущей, то проведение отменяется.

При оперативном проведении используется понятие оперативной отметки времени, которая обеспечивает формирование времени проведения документов как минимум с секундным интервалом. Если при оперативном проведении с текущей датой время проведения больше отметки, то отметка становится равной времени проведения. Если же время проведения меньше отметки, то к отметке прибавляется одна секунда.

Неоперативное проведение применяется, когда документ отображает событие хозяйственной деятельности в прошлом. При этом проверки не являются такими строгими, как при оперативном проведении.

 

Пример оперативного проведения.

 

 

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

 

6.4. Ввод на основании

 

Ввод на основании позволяет пользователю ускорять создание новых объектов, основываясь на значениях реквизитов существующих объектов. Например, находясь в форме элемента справочника Контрагенты, при помощи механизма ввода на основании можно создать документ Приходная накладная, в котором реквизит Контрагент уже будет заполнен на основании текущего значения справочника Контрагенты.

С точки зрения разработчика механизм представляет собой метод-обработчик ОбработкаЗаполнения(), который вызывается при выборе пользователем пункта меню На основании. В качестве параметра метода передается переменная Основание, которая содержит ссылку на объект, который служит основанием для ввода данных.

 

6.5. Типы данных. Типообразующие объекты конфигурации

 

В предыдущей лабораторной работе когда мы создавали реквизиты справочников или табличных частей мы всегда указывали тип значения, которое может принимать этот реквизит. Это были примитивные типы данных: Число, Строка, Дата и Булево. Примитивные типы данных изначально определены в системе, и их набор ограничен.

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

Например, после того как мы создали объект конфигурации Склады, сразу же появилось несколько новых типов связанных с этим справочником. Среди них, например, СправочникСсылка.Склады. И если теперь мы укажем какому-либо реквизиту этот тип данных, то сможем хранить в нем ссылку на конкретный объект справочника Склады.

Объекты конфигурации, которые могут образовывать новые типы данных называются типообразующими.

Например, после создания нового справочника Номенклатура становятся доступны следующие типы данных:

- СправочникМенеджер.Номенклатура,

- СправочникСсылка.Номенклатура,

- СправочникОбъект.Номенклатура.

- СправочникВыборка. Номенклатура.

 

6.6. Заполнение реквизитов

 

Для удобства работы пользователя некоторые из предопределенных элементов могут быть использованы в реквизитах в качестве значений по умолчанию. Для этого у нужного реквизита в Палитре свойств необходимо указать этот элемент для свойства Значение заполнения (рис. 6.3)

 

Рис.6.3

 

У реквизитов и табличных частей объектов есть свойство Проверка заполнения. При установке этого свойства в значение Выдавать ошибку такие реквизиты в пользовательском режиме становятся обязательными к заполнению и выделяются красной пунктирной линией (рис. 6.4).

 

Рис.6.4

 

6.7. Расчет суммы в строках документа

 

Можно создавать собственные формы объектов, списков и т. д. Для этого в окне редактирования объекта (например, документа ПриходнаяНакладная) на закладке Формы надо добавить новую форму, например Форму документа. В появившемся окне конструктора формы нажать кнопку Готово, если мы соглашаемся с тем, что нам предложила система (рис. 6.5).

Рис.6.5

 

На экране откроется окно редактора форм документа (рис. 6.6).

Рис.6.6

 

У каждого элемента формы, например у элемента МатериалыКоличество можно открыть палитру свойств и в нижней её части увидеть перечень событий. Нам нужно событие ПриИзменении, которое возникает после изменения значения поля. Найдем его в списке событий и нажмем кнопку открытия (рис.6.6).

Рис.6.6

 

Согласимся с созданием обработчика событий на клиенте.

Система создаст шаблон процедуры обработчика этого события в модуле формы документа. В эту процедуру добавим строки, как показано на рис. 6.7.

 

Рис. 6.7

 

В первой строке создается переменная СТЧ (строка табличной части), в которую будет помещен объект, содержащий данные строки. В модуле формы доступны все свойства и методы объекта УправляемаяФорма. Одним из этих свойств является свойство Элементы, которое содержит коллекцию всех элементов управляемой формы для прямого доступа. Одним из элементов формы является табличная часть Материалы. Свойство табличной части ТекущиеДанные предоставляет доступ к данным текущей строки. Во второй строке вычисляется значение колонки Сумма как произведение значений колонок Количество и Цена.

Такой пересчет суммы необходимо делать не только в этом документе, но и других документах, причем сумма должна пересчитываться не только при изменении количества, но и при изменении цены. Для этой цели можно создать Общий модуль РаботаСДокументами (рис. 6.8). Флажок Клиент (управляемое приложение) должен быть установлен, а флажок Сервер – снят.

 

Рис. 6.8

 

В этом модуле создать процедуру (рис.6.9)

 

Рис. 6.9

 

Здесь ПАРАМ является входным и выходным параметром этой процедуры. Ключевое слово Экспорт указывает на то, что эта процедура доступна в других модулях. В частности, она может быть вызвана в модуле формы (рис. 6.10).

 

Рис.6.10








Дата добавления: 2016-02-16; просмотров: 812;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.033 сек.