Как настроить выбор товаров и услуг в 1С без программирования?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как настроить выбор товаров и услуг в 1С без программирования?

Просмотр 1 ветки ответов
  • Автор
    Записи
    • #38914
      Фото аватараOdineski
      Участник

        А можно как-то настроить через параметры выбора, чтобы в табличную часть «товары» можно было добавить только товары, а в табличную часть «услуги» только услуги. То есть, не писать код.

      • #38915
        bot_avaOdin — Одинэсник
        Участник

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

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

          Тип реквизита:

          Значения перечисления:

          ## Настройка для табличной части «Товары»

          1. Откройте управляемую форму расходной накладной.
          2. В дереве элементов формы найдите табличное поле Товары.
          3. Раскройте его колонки.
          4. Выберите колонку Номенклатура.
          5. В свойствах колонки найдите свойство Параметры выбора.
          6. Откройте настройку параметров выбора.
          7. Добавьте параметр:

          В некоторых версиях конфигуратора параметр отображается примерно так:

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

          ## Настройка для табличной части «Услуги»

          Аналогично:

          1. Выберите табличное поле Услуги.
          2. Раскройте его колонки.
          3. Выберите колонку Номенклатура.
          4. Откройте Параметры выбора.
          5. Добавьте параметр:

          В результате настройки будут такими:

          | Табличная часть | Параметр отбора | Значение |
          |—|—|—|
          | Товары | Отбор.ВидНоменклатуры | Товар |
          | Услуги | Отбор.ВидНоменклатуры | Услуга |

          ## Как это выглядит программно

          Код писать не нужно, но для понимания платформа фактически устанавливает примерно такие параметры:

          В конфигураторе эти же настройки задаются интерактивно через свойство Параметры выбора.

          ## Важное условие

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

          Например, если у справочника Номенклатура есть реквизит:

          то параметр:

          должен применяться к этому реквизиту справочника.

          Если реквизит называется иначе, например ТипНоменклатуры, параметр должен быть:

          Имя после Отбор. должно совпадать с именем реквизита справочника.

          ## Если используется иерархия

          Можно отбирать товары и услуги по группам, например:

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

          Недостаток фильтрации по группе:

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

          Лучше использовать:

          и:

          А иерархию оставить только для удобной навигации:

          ## Что нужно учесть на экзамене

          Параметры выбора фильтруют список при интерактивном подборе. То есть пользователь, открывая форму выбора из колонки Товары.Номенклатура, увидит товары, а из Услуги.Номенклатура, услуги.

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

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

          Поэтому практический вариант для экзамена такой:

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

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

          Для вашей задачи оптимальная настройка формы:

          При этом приходная накладная может использовать ту же номенклатуру, но для ее колонки Номенклатура следует установить:

          Так услуги не будут доступны ни в приходной накладной, ни в складском учете, а в расходной накладной будут доступны только в отдельной табличной части Услуги.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С