База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как настроить выбор товаров и услуг в 1С без программирования?
- В этой теме 1 ответ, 2 участника, последнее обновление 19 минут назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
23 октября 2026 в 17:18 #38914
А можно как-то настроить через параметры выбора, чтобы в табличную часть «товары» можно было добавить только товары, а в табличную часть «услуги» только услуги. То есть, не писать код.
-
23 октября 2026 в 17:18 #38915
Да, можно. Для этого в форме документа на колонке табличной части нужно настроить Параметры выбора.
Отдельный справочник
Услугидля этого не требуется. В справочникеНоменклатурадолжен быть реквизит, например:1С (Код)1ВидНоменклатурыТип реквизита:
1С (Код)1ПеречислениеСсылка.ВидыНоменклатурыЗначения перечисления:
1С (Код)12ТоварУслуга## Настройка для табличной части «Товары»
1. Откройте управляемую форму расходной накладной.
2. В дереве элементов формы найдите табличное полеТовары.
3. Раскройте его колонки.
4. Выберите колонкуНоменклатура.
5. В свойствах колонки найдите свойство Параметры выбора.
6. Откройте настройку параметров выбора.
7. Добавьте параметр:1С (Код)12Имя параметра: Отбор.ВидНоменклатурыЗначение: Перечисления.ВидыНоменклатуры.ТоварВ некоторых версиях конфигуратора параметр отображается примерно так:
1С (Код)1Отбор.ВидНоменклатуры = ТоварПосле этого при выборе номенклатуры из этой колонки пользователю будут показываться только элементы, у которых:
1С (Код)1ВидНоменклатуры = Товар## Настройка для табличной части «Услуги»
Аналогично:
1. Выберите табличное поле
Услуги.
2. Раскройте его колонки.
3. Выберите колонкуНоменклатура.
4. Откройте Параметры выбора.
5. Добавьте параметр:1С (Код)12Имя параметра: Отбор.ВидНоменклатурыЗначение: Перечисления.ВидыНоменклатуры.УслугаВ результате настройки будут такими:
| Табличная часть | Параметр отбора | Значение |
|—|—|—|
| Товары |Отбор.ВидНоменклатуры|Товар|
| Услуги |Отбор.ВидНоменклатуры|Услуга|## Как это выглядит программно
Код писать не нужно, но для понимания платформа фактически устанавливает примерно такие параметры:
1С (Код)123456789Элементы.ТоварыНоменклатура.ПараметрыВыбора.Добавить("Отбор.ВидНоменклатуры",Перечисления.ВидыНоменклатуры.Товар);Элементы.УслугиНоменклатура.ПараметрыВыбора.Добавить("Отбор.ВидНоменклатуры",Перечисления.ВидыНоменклатуры.Услуга);В конфигураторе эти же настройки задаются интерактивно через свойство Параметры выбора.
## Важное условие
Реквизит
ВидНоменклатурыдолжен быть доступен для отбора при выборе элемента справочника.Например, если у справочника
Номенклатураесть реквизит:1С (Код)1ВидНоменклатурыто параметр:
1С (Код)1Отбор.ВидНоменклатурыдолжен применяться к этому реквизиту справочника.
Если реквизит называется иначе, например
ТипНоменклатуры, параметр должен быть:1С (Код)1Отбор.ТипНоменклатурыИмя после
Отбор.должно совпадать с именем реквизита справочника.## Если используется иерархия
Можно отбирать товары и услуги по группам, например:
1С (Код)12Группа «Товары»Группа «Услуги»Для этого у колонки можно установить параметр выбора по группе. Но для экзамена это менее надежный вариант.
Недостаток фильтрации по группе:
— элемент можно переместить в другую группу;
— может быть несколько вложенных групп;
— тип позиции определяется структурой справочника, а не ее свойством;
— проверка становится зависимой от конкретных ссылок на группы.Лучше использовать:
1С (Код)1Отбор.ВидНоменклатуры = Товари:
1С (Код)1Отбор.ВидНоменклатуры = УслугаА иерархию оставить только для удобной навигации:
1С (Код)1234567ТоварыКанцелярияХозяйственные товарыУслугиДоставкаМонтаж## Что нужно учесть на экзамене
Параметры выбора фильтруют список при интерактивном подборе. То есть пользователь, открывая форму выбора из колонки
Товары.Номенклатура, увидит товары, а изУслуги.Номенклатура, услуги.Но параметры выбора не являются полноценным контролем целостности данных. Некорректное значение может попасть в табличную часть:
— через программное заполнение;
— через обмен;
— через обработку;
— при изменении структуры конфигурации;
— иногда через нестандартный способ выбора значения.Поэтому практический вариант для экзамена такой:
1. Параметры выбора настроить обязательно, чтобы пользователю было удобно выбирать правильные позиции.
2. При проведении сделать проверку вида номенклатуры, если задание требует надежного контроля данных.Если в условии экзамена прямо сказано «не писать код для ограничения выбора», достаточно настроить параметры выбора. Если требуется гарантировать, что в табличной части никогда не окажется неправильный вид номенклатуры, одних параметров выбора недостаточно.
Для вашей задачи оптимальная настройка формы:
1С (Код)1234567РасходнаяНакладная.Товары.НоменклатураПараметры выбора:Отбор.ВидНоменклатуры = ТоварРасходнаяНакладная.Услуги.НоменклатураПараметры выбора:Отбор.ВидНоменклатуры = УслугаПри этом приходная накладная может использовать ту же номенклатуру, но для ее колонки
Номенклатураследует установить:1С (Код)1Отбор.ВидНоменклатуры = ТоварТак услуги не будут доступны ни в приходной накладной, ни в складском учете, а в расходной накладной будут доступны только в отдельной табличной части
Услуги.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.