1с форма подбора номенклатуры. Загрузка и выгрузка номенклатуры

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

Подбор в 1С является полезным механизмом, применимым в различных ситуациях. На примере одной из них рассмотрим реализацию механизма подборов на управляемых формах.

Подбор в стандартной конфигурации 1С

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

В данном примере запуск окна подбора товаров в документе «ЗаказПоставщику» происходит через кнопку «Подобрать товары». Нажав ее, пользователь видит окно подбора, разделенное на несколько областей:

  • Перечень номенклатуры;
  • Возможности отбора;
  • Выбранная номенклатура.


Форма подбора весьма функциональна, так как позволяет:

  • Задать нужный пользователю фильтр (по наличию на складе, цене, сегменту, названию и другим критериям);
  • Посмотреть остатки;
  • Выбрать сразу несколько номенклатур и их количество;
  • Ознакомиться с ценами поставщика, если они загружены в 1С.

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



Распространенное применение подборов в 1С

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

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


Также нам потребуется изменить свойства динамического списка:

  1. Проставляем галку «ПроизвольныйЗапрос»;
  2. Открываем свойство «Настройка списка». По умолчанию запрос динамического списка выбирает все поля справочника «Номенклатура»;
  3. Изменяем запрос таким образом, чтобы в список попадала только номенклатура, положительный остаток которой лежит на конкретном складе.

Фрагмент 1

ВЫБРАТЬ СправочникНоменклатура.Ссылка, ТоварыНаСкладахОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура ПО ТоварыНаСкладахОстатки.Товар = СправочникНоменклатура.Ссылка ГДЕ ТоварыНаСкладахОстатки.КоличествоОстаток > 0 И ТоварыНаСкладахОстатки.Склад = &Склад

Изменение формы документа в 1С

Переходим к форме документа «РеализацияТоваров» и добавляем команду «ПодборТоваров», размещаем ее на форме и прописываем действие этой команды:


Фрагмент 2

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

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


Фрагмент 3

&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ТоварыДляВыбора.Параметры.УстановитьЗначениеПараметра("Склад", Параметры.Склад); Склад = Параметры.Склад; КонецПроцедуры

Для того чтобы пользователи могли выбирать товары из сформировавшегося списка, необходимо в форме документа продажи для табличной части, куда будут добавляться строки с выбранной номенклатурой, изменить стандартное событие «ОбработкаВыбора»:

Фрагмент 4

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

Напоследок на форме подбора номенклатуры 1С у динамического списка «ТоварыДляВыбора» нужно переопределить событие «Выбор»:

Фрагмент 5

&НаКлиенте Процедура ТоварыДляВыбораВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; парам_Номен = Элемент.ТекущиеДанные.Ссылка; ОповеститьОВыборе(Новый Структура("Номенклатура", парам_Номен)); КонецПроцедуры

Проверка реализации подбора в 1С

Все приготовления окончены, остается только обновить конфигурацию и проверить, работает ли подбор в 1С по складу и положительным остаткам. После обновления и отсутствия ошибок, проверяем текущую ситуацию в регистре накопления «ТоварыНаСкладах», где существуют следующие записи:


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


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

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

Итак, перед нами начальная страница программы. Слева мы видим разделы меню, находим раздел «Справочники». Нажатием левой кнопкой мыши открывается окно с подразделами данного справочника

Здесь, в разделе «Товары и услуги» находим надпись «Номенклатура»

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

Многие организации занимаются не только куплей/продажей товаров, но предоставляют услуги по доставке. Для удобства, рекомендуем разделить эти виды деятельности на соответствующие группы. Назовем их «Товары» и «Услуги». Нажимаем «Создать группу»

Перед нами открывается небольшое окно «Номенклатура (создание группы)»

Вводим название данной группы «Товары» в поле «Наименование». Поле «Вид номенклатуры» можно оставить незаполненным. Далее жмём «Записать и закрыть».

Таким же путем создаём группу «Услуги». В графе «Наименование» появились две созданные группы, условно их можно называть папки

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

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

Ниже есть поле «Артикул». Здесь будет отображаться уникальный артикул номенклатуры, по которому данный товар можно будет искать или различать.

Строка «Входит в группу» заполняется автоматически по названию папки, в которую входит.

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

Следующее поле «Единица». Нам необходимо указать «ШТ.», так как товар у нас штучный.

В следующем поле «% НДС» проставляем процентную ставку – 18%, которая соответствует данной категории товаров согласно стандартам

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

Заполнение других параметров пока рассматривать не будем. Вернемся к ним при необходимости. Нажимаем кнопку «Записать»

Создадим еще 2 товара. Например, Ведро для мусора 15л и Ведро для мусора 30л.

Видим, что в папке располагаются три товара, которые мы с вами ввели.

Перейдём теперь к заполнению услуг. Входим в папку «Услуги» и нажимаем «Создать». Аналогичным образом, как и при создании группы «Товары» заполняем поля

«Наименование» и «Полное наименование» будут содержать одни и те же данные – Услуги по доставке.

«Входит в группу» так же будет заполнено автоматически.

В поле «Вид номенклатуры» нужно отметить, что это Услуги. Больше здесь ничего не нужно заполнять.

Одно из самых важных понятий номенклатуры, это «Счета учета номенклатуры». В справочнике эту гиперссылку можно найти в верхней части

Здесь указаны основные параметры установки счетов в документы. Например, для нашего вида номенклатуры «Товары» указан номер счета 41.01. Для «Услуги» номер счета не указан. Нажав на саму надпись можно зайти в настройки и прописать его. Сделаем это. Укажем счет учёта 20.01

Сейчас обратим внимание на верхнюю строчку. Если «Вид номенклатуры» не указан, то по умолчанию будет использован счет 41.01

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

Итак, мы создали номенклатуру, создали счета для учета номенклатуры и разобрались, как с ними работать.

Перед прочтением данной статьи рекомендую ознакомиться с особенностями справочника Номенклатура .

В 1С Бухгалтерии 8 есть очень удобный инструмент, позволяющий ускорить заполнение табличных частей документов — это подбор. Функция эта есть почти везде, где есть табличная часть. Причём это касается не только документов, но и других форм с табличными частями. Тем не менее, как показывает моя практика проведения учебных курсов 1С Бухгалтерии 8 , поначалу пользователи почему-то не хотят пользоваться этой удобной функцией, вбивая строки в табличную часть вручную.

Это выглядит довольно странно, когда человек вводит, к примеру, документ реализации, в котором нужно продать 50 наименований товаров, и при этом каждый товар в табличную часть добавляется через всеми любимую кнопку "Добавить" . Это долго и неэффективно, поэтому на занятиях я с самого начала рекомендую пользоваться кнопкой "Подбор" . Кнопка эта всегда расположена на панели инструментов той табличной части, которую требуется заполнить. Ниже приведён скриншот окна документа "Реализация товаров и услуг" в Бухгалтерии 8.2, на примере которого я рассмотрю применение кнопки "Подбор" для быстрого заполнения табличных частей документов в программе 1С.

Когда нужно пользоваться подбором в 1С Бухгалтерии

Как видите, в данном документе требуется добавить товары табличную часть. Если нужно добавить всего одну позицию, то проще воспользоваться кнопкой "Добавить" — так и правда получится быстрее. Однако, если нужно ввести две или более позиции в документ, то нажимать каждый раз "Добавить" долго и неудобно, поскольку каждый раз будет заново открываться справочник Номенклатура при выборе товара в добавленной строке.

Особое неудобство здесь в том, что справочник Номенклатура каждый раз будет открываться с корня, поскольку он вовсе не запоминает, из какой папки в нём вы последний раз что-то выбирали! А это значит, что каждый раз вам придётся заходить в нужную вам папку, что особенно раздражает, когда вы подбираете элементы из одной папки.

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

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

В случае со справочником "Номенклатура" есть ещё одна выгода использования подбора элементов, в том числе и тогда, когда нужно ввести всего один элемент. Подробности смотрите в видеоролике в конце статьи.

Тут была важная часть статьи, но без JavaScript её не видно!

Как использовать кнопку подбора в 1С Бухгалтерии 8.2

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

сайт_

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

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

Стоит, тем не менее, иметь ввиду, что использование подбора в ряде случаев не только не ускоряет, но и, наоборот, замедляет ввод строк в табличную часть. Я имею ввиду не только тот случай, описанный выше, когда требуется ввести всего лишь одну строку, но и некоторые другие. Всё это я рассматриваю на своих курсах 1С Бухгалтерии (с особенностями занятий вы можете ознакомиться

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

В программе «1С:Управление торговлей, ред. 10.3» во всех документах реализован механизм подбора товаров, позволяющий заполнять документы быстро и удобно. Рассмотрим работу данного механизма на примере документа «Заказ покупателя».

Меню: Документы – Продажи – Заказы покупателей

Создадим документ, укажем в нем организацию, склад и контрагента:

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

Нажмем на кнопку «Подбор» для открытия окна подбора:

Окно подбора выглядит следующим образом:

Окно подбора состоит из нескольких частей.

Наверху можно выбрать способ подбора, указать номенклатурную группу и сделать поиск номенклатуры:

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

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

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

Работая с подбором, вы можете выбрать один из вариантов:

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

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

Выберем вариант поиска по артикулу и укажем необходимый артикул. Программа найдет товар с данным артикулом и спозиционируется на нем в списке товаров:

Чтобы добавить найденный товар в заказ покупателя нужно просто сделать по нему двойной клик мышью. При этом программа добавит в заказ строку с нужным товаром, укажет количество – 1 шт. и установит цену (если она установлена в базе):

Повторный двойной клик по товару вызовет увеличение количества в строке до 2 шт. Т. е. если товар уже присутствует в заказе, он не добавляется повторно, а количество товара в заказе увеличивается.

В момент добавления товара в заказ можно указывать необходимое количество и цену. Для этого установим внизу флаги «Запрашивать количество» и «Запрашивать цену»:

В этом случае при двойном клике по товару откроется специальное окно для ввода количества и цены:

Заказ покупателя после добавления вентилятора:

Если по товару ведется учет по характеристикам, то можно также установить флаг «Запрашивать характеристику» там же. С такой настройкой при двойном клике по товару программа откроет окно для ввода количества и цены по каждой характеристике товара:

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

Заказ покупателя после добавления женских босоножек:

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

В данной статье рассматривается технология реализации подбора на платформе 1С 8.2. Статья не претендует на академизм, просто столкнувшись с рядом проблем и не нашедшим «правильной» методологии решения (возможно плохо искал), решил пройти этот путь самостоятельно, естественно пользуясь различными источниками. В основном я опираюсь на материалы мастер-групп Базового курса «Профессиональное программирование в 1С» Евгения Гилева и Насипова Фарита, участником которого я являюсь, а также соответствующей литературы (М.Г. Радченко, Е.Ю. Хрусталева Практическое пособие разработчика).

Итак, предметная область: компания занимается оптовой торговлей товарами имеющими срок годности, который относится к серии, а та в свою очередь принадлежит конкретному товару. Товары поступают на разные склады. Задача: реализовать удобное заполнение табличной части расходного документа. Решение: необходимо реализовать форму подбора, обеспечивающею просмотр остатков товара по срокам годности, возможность выбора соответствующих позиций и последующий перенос в табличную часть документа. Задачи такого плана встречаются в 5 части сборника задач к подготовке экзамена по Специалисту.

Реализация. Создаем форму произвольного типа для документа Продажа товаров. Можно конечно создать общую форму, но в данной ситуации выбираем то, что поближе. На форме создаем реквизиты:
Склад - тип СправочникиСсылка.Склады
Товары - Динамический список, в свойствах ставим галочку произвольный запрос.
Выбор - таблица значений (колонки Товар, Серия - тип ссылки на соответствующие справочники, срок годности, количество - дата, число).

Настраиваем запрос для реквизита Товары. Здесь по идее все просто с помощью конструктора берем два справочника и виртуальную таблицу Остатков регистра Остатки товара. Если нужно видеть весь товар, то используем левое соединение Товаров с остальными источниками, если только с остатками, то полное соединение с регистром:
Код 1C v 8.2 УП ВЫБРАТЬ

Серии.СрокГодности,

ЕСТЬNULL(ТоварыНаСкладеОстатки.КоличествоОстаток, 0) КАК Количество

Справочник.Товары КАК Товары

ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Серии КАК Серии

ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладе.Остатки(, Склад = &Склад) КАК ТоварыНаСкладеОстатки

ПО (ТоварыНаСкладеОстатки.Товар = Товары.Ссылка)

УПОРЯДОЧИТЬ ПО

СрокГодности
Для виртуальной таблицы в параметрах указываем отбор по складу. После этого я 3 часа топтался на одном месте. Когда я запустил данную форму в процессе отладки, то я увидел только одну строчку с товаром, хотя их должно было быть больше. Честно говоря и растерялся, так как по идее все должно быть просто но... И вот около 3 часов я пытался понять почему не выводятся все записи. Конечно, может это и не является серьезной проблемой и большинство практикующих специалистов 1С про нее знают, но только после долгого серфинга по Интернету я нашел, что надо очистить свойство основная таблица в окне настройки запроса динамического списка, и тогда появились все записи. При этом становится неактивным свойство динамическое считывание данных. В книге «Разработка управляемого интерфейса» мне не удалось найти назначение параметра основная таблица и описание это ситуации. Сразу хочу отметить, что в типовой конфигурации управление небольшой фирмой используется не динамический список, а дерево значений.

И так, возвращаемся в нормальное русло решение задачи.

Для того чтобы открыть созданную форму подбора, в управляемой форме документы Продажа товара создаем команду подбор, размещаем на форме о генерируем обработчик, в котором нам необходимо открыть форму. Так как форма должна обеспечивать множественный выбор и отбор по складу, то создаем структуру параметров формы. И открываем форму соответствующей командой.
Код 1C v 8.2 УП
&НаКлиенте

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

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

ОткрытьФорму("Документ.ПродажаТоваров.Форма.ФормаПодбора", ПараметрыПодбора, Элементы.Товары);

КонецПроцедуры
Соответственно в форме подбора при создании заполняем параметр запроса склад из параметров формы:
Код 1C v 8.2 УП &НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Товары.Параметры.УстановитьЗначениеПараметра("Склад",Параметры.Склад);

Склад = Параметры.Склад;

КонецПроцедуры
Теперь необходимо реализовать функционал формы подбора. При выборе соответствующей строки она должна переносится в таблицу значений, так же должен работать механизм перетаскивания. Для решения первой задачи необходимо создать обработчик события Выбор нашего динамического списка.
Код 1C v 8.2 УП &НаКлиенте

Процедура ТоварыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

Для каждого НомерСтроки Из ВыбраннаяСтрока Цикл

ТекСтрока = Элемент.ДанныеСтроки(НомерСтроки);

Строка.Количество = 1;

Пока Строка.Количество > ТекСтрока.Количество Цикл

КонецЦикла;

КонецЕсли;

КонецЦикла;

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

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

Так же необходимо создать обработчик события Перетаскивание для элемента формы ВыбранныеТовары.
Код 1C v 8.2 УП &НаКлиенте

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

Для каждого НомерСтроки Из ПараметрыПеретаскивания.Значение Цикл

ТекСтрока = Элементы.Товары.ДанныеСтроки(НомерСтроки);

Поиск = Новый Структура("Товар, Серия",ТекСтрока.Товар,ТекСтрока.Серия);

МассивСтрок = ВыбранныеТовары.НайтиСтроки(Поиск);

Если МассивСтрок.Количество() = 0 Тогда

Строка = ВыбранныеТовары.Добавить();

Строка.Товар = ТекСтрока.Товар;

Строка.Серия = ТекСтрока.Серия;

Строка.СрокГодности = ТекСтрока.СрокГодности;

Строка.Количество = 1;

ВвестиЧисло(Строка.Количество, "Введите количество");

Пока Строка.Количество > ТекСтрока.Количество Цикл

ВвестиЧисло(Строка.Количество, "Введите верное количество!");

КонецЦикла;

КонецЕсли;

КонецЦикла;

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

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

На рисунке приведен внешний вид формы подбора:

Для завершения подбора создана команда формы, с обработчиком, выполняющим оповещение о выборе:
Код 1C v 8.2 УП &НаКлиенте

Процедура Перенести(Команда)

ОповеститьОВыборе(ВыбранныеТовары);

Закрыть();

КонецПроцедуры
Соответственно, в форме документа реализован обработчик события ОбработкаВыбора:
Код 1C v 8.2 УП &НаКлиенте

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

Если ВыбранноеЗначение.Количество() > 0 И Объект.Товары.Количество() > 0 Тогда

Режим = РежимДиалогаВопрос.ДаНет;

Текст = "Очистить табличную часть?";

Ответ = Вопрос(Текст, Режим, 0);

Если Ответ = КодВозвратаДиалога.Да Тогда

Объект.Товары.Очистить();

КонецЕсли;

КонецЕсли;

Для каждого Подбор Из ВыбранноеЗначение Цикл

Строка = Объект.Товары.Добавить();

Строка.Товар = Подбор.Товар;

Строка.Серия = Подбор.Серия;

Строка.Количество = Подбор.Количество;

КонецЦикла;

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

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

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



Просмотров