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

1S_8.2_Praktikum

.pdf
Скачиваний:
28
Добавлен:
11.06.2022
Размер:
18.49 Mб
Скачать

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

461

На этом мы фактически завершили разработку нашей конфигурации.

Следующие две работы будут посвящены отдельным приемам разработки, которые часто используются в 1С:Предприятии 8.

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

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

Что такое функциональные опции и зачем они нужны.

Как с помощью функциональных опций изменять интерфейс прикладного решения.

462

Практическая работа № 25

Подборы и ввод на основании (1:00)

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

О таких приемах – подбор, ввод на основании – и пойдет речь в этой работе.

Организация подборов

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

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

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

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

Результат подбора будет доступен в обработчике события ОбработкаВыбора формы документа или элемента формы (в зависимости от того, чему мы подчиним форму справочника при открытии).

Событие ОбработкаВыбора в форме документа будет вызвано в двух случаях:

Когда в форме справочника будет выполнен интерактивный выбор,

Когда в форме справочника будет вызван метод

ОповеститьОВыборе().

463

Различные способы подбора мы покажем на примере подбора элементов справочника Номенклатура в документ ПриходнаяНакладная.

Одиночный подбор

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

В режиме Конфигуратор

Откроем форму документа ПриходнаяНакладная.

На закладке Команды создадим команду Подбор и в открывшемся окне свойств нажмем кнопку открытия в строке Действие.

Шаблон обработчика события выполнения этой команды заполнять пока не будем, а перейдем на закладку Форма и перетащим эту команду в окно элементов формы, в командную панель таблицы Материалы.

В форме документа, в обработчик события нажатия кнопки Подбор, добавим текст:

464

Процедура Подбор(Команда)

ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", , Элементы.Материалы);

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

В этой процедуре мы открываем форму выбора для справочника Номенклатура, указывая, что она подчинена таблице Материалы

формы документа ПриходнаяНакладная (Элементы.Материалы).

При выборе из формы выбора справочника значение будет передано в обработчик события ОбработкаВыбора таблицы формы Материалы, т.к. она является владельцем открытой формы выбора.

Поэтому откроем свойства таблицы Материалы в дереве элементов формы и создадим обработчик события ОбработкаВыбора.

&НаКлиенте Процедура МатериалыОбработкаВыбора(Элемент, ВыбранноеЗначение,

СтандартнаяОбработка)

НоваяСтрока = Объект.Материалы.Добавить(); НоваяСтрока.Материал = ВыбранноеЗначение;

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

465

Вэтой процедуре мы добавляем новую строку в таблицу Материалы и присваиваем колонке Материал в новой строке выбранное в форме выбора справочника значение. Это значение передается в обработчик события в параметре ВыбранноеЗначение.

Врежиме 1С:Предприятие

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

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

Множественный подбор

В режиме Конфигуратор

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

формы Закрыть().

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

&НаКлиенте Процедура Подбор(Команда)

ПараметрыФормы = Новый Структура("ЗакрыватьПриВыборе", Ложь); ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элементы.Материалы);

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

При открытии формы мы используем ее параметры.

466

Параметры формы нужны для того, чтобы открыть форму в некотором нужном нам состоянии. Параметры формы представляют собой структуру. Каждый элемент этой структуры описывает один параметр формы. Ключ элемента – это имя параметра формы.

Такую структуру мы передаем в метод ОткрытьФорму() вторым параметром (переменная ПараметрыФормы).

Предварительно мы эту структуру формируем. В ней у нас всего один

элемент с ключом ЗакрыватьПриВыборе().

Таким образом, передавая эту структуру в метод ОткрытьФорму(), мы устанавливаем параметр открываемой формы ЗакрыватьПриВыборе в значение Ложь.

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

В режиме 1С:Предприятие

Запустим режим отладки. Перейдем в раздел Учет материалов и создадим новую приходную накладную.

В командной панели списка нажмем Подбор и двойным щелчком мыши подберем в накладную несколько материалов и несколько услуг.

Когда все выберем, закром окно с формой выбора.

467

Подбор с использованием множественного выбора

В режиме Конфигуратор

Еще одним способом организации подбора является возможность выделения в списке сразу нескольких строк.

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

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

В форме документа ПриходнаяНакладная заменим текст обработчика события нажатия кнопки Подбор:

&НаКлиенте Процедура Подбор(Команда)

ПараметрыФормы = Новый Структура("МножественныйВыбор", Истина); ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",

ПараметрыФормы, Элементы.Материалы);

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

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

Процедура МатериалыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

Для Каждого ВыбранныйЭлемент Из ВыбранноеЗначение Цикл НоваяСтрока = Объект.Материалы.Добавить();

НоваяСтрока.Материал = ВыбранныйЭлемент; КонецЦикла;

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

В режиме 1С:Предприятие

Запустим отладку, в разделе Учет материалов создадим новую приходную накладную и нажмем Подбор. Для удобства в открывшейся форме выбора справочника Номенклатура установим режим просмотра в виде списка – Все действия - Режим просмотра – Список.

468

Удерживая Ctrl, выделим в списке несколько товаров и несколько услуг и нажмем кнопку Выбрать. Отмеченные элементы появятся в табличной части документа.

Множественный подбор с использованием множественного выбора

В режиме Конфигуратор

469

Последний способ подбора будет сочетать в себе оба рассмотренных ранее способа. Мы будем отмечать сразу несколько элементов справочника и подбирать их в документ без закрытия формы выбора. Затем снова отмечать несколько элементов справочника и подбирать их в документ.

Для этого нам будет необходимо при открытии формы выбора установить оба параметра: ЗакрыватьПриВыборе и МножественныйВыбор.

Процедура нажатия клавиши Подбор будет выглядеть так:

&НаКлиенте Процедура Подбор(Команда)

ПараметрыФормы = Новый Структура("ЗакрыватьПриВыборе, МножественныйВыбор", Ложь, Истина);

ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элементы.Материалы);

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

В режиме 1С:Предприятие

Запустите отладку. Создайте новую приходную накладную и нажмите кнопку Подбор.

Откройте группу Услуги – Телевизоры, выделите в ней все услуги и нажмите кнопку Выбрать.

Откройте группу Материалы – Прочее, выделите в ней все материалы и нажмите Выбрать. Закройте окно формы выбора.

Использование метода «Оповестить о выборе()»

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

Метод ОповеститьОВыборе() посылает оповещение владельцу формы о выполнении выбора или подбора, передает ему выбранное значение и закрывает форму, если она открыта не в режиме множественного выбора.

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

470

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
  • #
    11.06.202218.49 Mб281S_8.2_Praktikum.pdf
  • #
    11.06.202268 Кб7доп ер диаграмаа.vsdx
  • #
    11.06.202260.24 Кб4ер диаграмма.vsdx
  • #
    11.06.20228.63 Кб7Заказы.xlsx
  • #
    11.06.20228.61 Кб4Рабочее место.xlsx
  • #
    11.06.20228.56 Кб4Склад.xlsx