Обработчики событий формы документа

ЛАБОРАТОРНАЯ РАБОТА 10

ДОКУМЕНТЫ

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

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

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

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

Разве что у конструктора документов несколько иной состав страниц. Сразу же оговоримся, на данном этапе (назовем это «знакомство с документом») рассматривать назначение свойств, определенных на странице «Движения» не будем. К ним вернемся при изучении регистров сведений.

Документ ПоступлениеТоваров

Перед созданием документа осуществите добавление в справочник Номенклатура реквизитов:

- ЦенаПокупки, тип – Число, длина 15, точность 2, неотрицательное

- ЦенаПродажи, тип – Число, длина 15, точность 2, неотрицательное

Разместите реквизиты на форму элемента справочника Номенклатура.

 

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

Реквизиты (определяются на странице «Данные» конструктора)

· «ВидОперации» (тип «ПеречислениеСсылка.ВидыПоступления»)

· «Контрагент» (тип «СправочникСсылка.Контрагенты»)

· «Договор» (тип «СправочникСсылка.ДоговораВзаиморасчетов»)

· «Сотрудник» ((тип «СправочникСсылка.Сотрудники»)

· «СуммаДокумента» (тип «Число» длина 15, точность 2, неотрицательное)

Табличная часть

Товары

· Номенклатура (тип «СправочникСсылка.Номенклатура»)

· ЕдиницаИзмерения (тип «СправочникСсылка.ЕдиницыИзмерения»)

· Цена (тип «Число» длина 15, точность 2, неотрицательное)

· Количество (тип «Число» длина 15, точность 3, неотрицательное)

· Сумма (тип «Число» длина 15, точность 2, неотрицательное)

На закладке движения в свойство «Проведение» оставим значение «Разрешить» (хотя проведение документов будем рассматривать позже).

Перейдем к закладке «Формы». Определите форму документа.

 

Форма документа

Создайте форму документа с помощью конструктора.

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

Установка свойства «Источник действий» в «Товары» определяет то, что данная командная панель будет управлять элементом управления «Товары» (это табличное поле связанное с табличной частью документа «Товары»). После этого необходимо отметить флаг «Автозаполнение». По выполнению данного действия панель управления заполниться кнопками, определяемые программным комплексом по умолчанию для работы с табличными частями.

 

3. В документе есть два реквизита: «Контрагент» (тип «СправочникСсылка .Контрагенты») и «Договор» (тип «СправочникСсылка.Договора»). При этом справочник «Договора» подчинен справочнику «Контрагенты». В связи с этим было бы неплохо, чтобы после выбора контрагента, при выборе договоров были доступны только договора этого контрагента. На данном этапе не будем рассматривать все последовательности выбора (первоначально договор, а потом контрагент и т.д), ограничимся этим простым случаем.

Необходимо в свойствах элемента управления (поля ввода), связанного с договорами в свойство «Связь по владельцу» установить значение «Контрагент».

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

 

Обработчики событий формы документа

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

 

 

Рассмотрим некоторые особенности работы указанных процедур.

В строке

СтрокаТЧ=ЭлементыФормы.Товары.ТекущиеДанные

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

Полученные данные строки табличной части записываются в переменную «СтрокаТЧ».

Проверьте работоспособность кода.

 

5. Для расчета общей суммы документа введите следующий код:.

.

6. Проверьте работоспособность (поле СуммаДокумента заполняется при нажатии на кнопку Записать).

7. Документ «РеализацияТоваров»

Создайте самостоятельно документ «РеализацияТоваров».

Реквизиты (определяются на странице «Данные» конструктора)

· «ВидОперации» (тип «ПеречислениеСсылка.ВидыРеализации»)

· «Контрагент» (тип «СправочникСсылка.Контрагенты»)

· «Договор» (тип «СправочникСсылка.ДоговораВзаиморасчетов»)

· «Сотрудник» ((тип «СправочникСсылка.Сотрудники»)

· «СуммаДокумента» (тип «Число» длина 16, точность 2, неотрицательное)

Табличные части

Товары

· Номенклатура (тип «СправочникСсылка.Номенклатура»)

· ЕдиницаИзмерения (тип «СправочникСсылка.ЕдиницыИзмерения»)

· Цена (тип «Число» длина 15, точность 2, неотрицательное)

· Количество (тип «Число» длина 15, точность 3, неотрицательное)

· Сумма (тип «Число» длина 15, точность 2, неотрицательное)

 

9. Документ «РеализацияТоваров»должен иметь печатную форму.