Конструктор ввода на основании

Конструктор ввода на основании облегчает задачу разработки процедуры ВводНаОсновании().

Конструктор можно вызвать, выбрав пункт «Ввод на основа­нии...» из меню «Конструкторы» главного меню программы или нажав кнопку на панели инструментов «Конструкторы». При этом должна быть открыта форма документа.

При запуске открывается диалог «Конструктор ввода на основа­нии». Он содержит список документов-оснований, список реквизи­тов документа и список (в виде дерева) реквизитов документа-основания, выбранного в первом списке.

В список документов-оснований входят:

· документы, отмеченные в правом списке в окне «Ввод на ос­новании». (Это окно открывается при нажатии соответствую­щей кнопки в окне свойств данного документа);

· документы, никак не отмеченные в свойствах данного доку­мента, если для самих этих документов в том же окне «Ввод на основании» установлен флажок «Может являться основа­нием для документов любого вида».

Кнопки «Назад» и «Далее» перемещают курсор вверх и вниз по списку реквизитов документа. При достижении конца списка появ­ляется запрос «Перейти к следующему документу-основанию?», и при выборе «Да», курсор в списке документов-оснований смещается на следующую строку. Такой порядок обеспечивает перебор всех реквизитов документов для каждого документа-основания. Можно также для выделения строки в любом списке пользоваться мытью.

В список реквизитов документа нужно поместить формулы, опре­деляющие, как заполнять реквизиты документа по выбранным рек­визитам документа-основания.

Эти формулы можно создавать «вручную» следующим образом. Формула определяется в поле ввода «Формула заполнения реквизи­та» для реквизита документа, выделенного в списке. Можно вручную набрать ее в этом поле (а также вручную редактировать в нем соз­данную ранее формулу). Правильность написания формул Конст­руктор не проверяет.

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

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

По кнопке «Заполнить формулы автоматически», после запроса и подтверждения, программа сама создаст формулы для заполнения по реквизитам документа-основания. Ранее заполненные формулы при автоматическом заполнении не изменяются. Подбор среди рек­визитов документа-основания соответствий реквизитам документа осуществляется с учетом имен реквизитов, их идентификаторов и типов.

По кнопке «Очистить формулы», после запроса и подтверждения, очищаются все формулы, созданные как автоматически, так и вруч­ную.

Формулы, созданные для документа-основания, выбранного в списке документов-оснований, запоминаются при переходе к друго­му документу-основанию этого списка. Поэтому можно, не прекра­щая работы Конструктора, создать процедуры ввода на основании для нескольких документов-оснований. Можно также возвращаться к редактированию процедуры для какого-либо документа-основания, снопа выбирая его в списке.

Для прекращения работы Конструктора служат кнопки «ОК» и «Отмена» (соответственно, с сохранением и без сохранения сделан­ных изменений).

Кнопка «Обновить» позволяет отразить в модуле формы сделан­ные изменения без выхода из окна Конструктора.

В результате работы Конструктора в модуле формы документа создается процедура ВводНаОсновании(ДокОснование). В начало процедуры Конструктор помещает предупреждение: «Данный фраг­мент построен Конструктором. При повторном использовании Кон­структора внесенные вручную изменения будут потеряны!».

При повторном использовании Конструктора все формулы, сформированные ранее для какого-либо документа-основания, будут появляться в списке реквизитов документа при выделении соответ­ствующего документа-основания в списке документов-оснований. Конструктор предъявит для просмотра и редактирования формулы, сформированные при предыдущем его запуске, как с помощью кноп­ки «Заполнить формулы автоматически», так и вручную. Более того, он учтет и формулы, вручную внесенные в модуль документа, если они помещены в формируемую им процедуру. Правильность этих формул Конструктор не проверяет. Например, если для какого-то реквизита документа указано заполнение двумя различными рекви­зитами документа-основания, Конструктор для показа выберет один из них (но алфавиту). Именно он останется в модуле после обновле­ния результатов работы Конструктора, вторая строка, соответствую­щая тому же реквизиту, будет удалена.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: