Как добавить редактируемые колонки "Длина" и "Ширина" в табличную часть документа "Заказ покупателя" в 1С:УНФ?

Пользователь 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет Торговля и дистрибуция
← На главную

Многие пользователи 1С сталкиваются с необходимостью расширения стандартных возможностей программы, добавляя в документы специфические поля, такие как "Длина" и "Ширина" для позиций номенклатуры в заказах. Особенно актуально это становится, когда эти поля должны быть активными и редактируемыми, позволяя вносить индивидуальные параметры для каждой строки заказа, или же отражать фиксированные характеристики самой номенклатуры. В рамках этого руководства мы подробно разберем, как реализовать такую задачу в 1С:УНФ, используя два основных механизма: дополнительные реквизиты табличной части документа и характеристики номенклатуры.

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

Подход 1: Использование Дополнительных Реквизитов для гибких, зависящих от заказа значений

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

Шаг 1: Включаем механизм Дополнительных Реквизитов

Прежде всего, нам необходимо удостовериться, что в вашей конфигурации 1С:УНФ активирована поддержка дополнительных реквизитов. Без этого шага мы не сможем создать нужные поля.

  1. Перейдем в раздел "Настройки".
  2. Далее выберем пункт "Администрирование".
  3. В открывшемся окне "Настройки администрирования" найдем и кликнем по ссылке "Общие настройки".
  4. Установим флажок напротив опции "Дополнительные реквизиты и сведения". Этот флажок активирует функционал, позволяющий расширять свойства объектов программы без изменения конфигурации.

После включения этого механизма мы сможем перейти к созданию наших специфических полей.

Шаг 2: Создаем новые дополнительные реквизиты "Длина" и "Ширина"

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

  1. После включения механизма (как описано выше), в тех же "Общих настройках" появится новая ссылка "Дополнительные реквизиты". Перейдем по ней.
  2. В открывшемся окне "Дополнительные реквизиты и сведения" нам необходимо найти объект, к которому мы хотим добавить реквизиты. Для табличной части документа "Заказ покупателя" это будет объект Документ.ЗаказПокупателя.ТабличнаяЧасть.Товары. Мы можем найти его в списке или воспользоваться поиском.
  3. Выбрав нужный объект (табличную часть), нажмем кнопку "Добавить", а затем выберем "Новый". Это действие позволит нам создать новый дополнительный реквизит.
  4. Повторим это действие дважды, чтобы создать два отдельных реквизита: "Длина" и "Ширина".

Шаг 3: Настраиваем свойства реквизитов "Длина" и "Ширина"

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

  1. Для первого реквизита укажем "Наименование", например, "Длина".
  2. Критически важно правильно выбрать "Тип значения". Для числовых параметров, таких как длина и ширина, мы выберем "Число". При выборе этого типа нам станут доступны дополнительные настройки:
    • "Точность": Определяет количество знаков после запятой (например, 2 для миллиметров).
    • "Длина": Определяет общую длину числа, включая целую и дробную части.
    Корректная настройка этих параметров гарантирует правильное хранение и отображение числовых данных.
  3. Повторим те же действия для второго реквизита, задав ему "Наименование" "Ширина" и также выбрав "Тип значения" "Число" с необходимыми параметрами точности и длины.
  4. После настройки каждого реквизита не забудем сохранить изменения.

Созданные таким образом дополнительные реквизиты будут готовы к размещению на форме документа.

Шаг 4: Добавляем колонки на форму документа "Заказ покупателя"

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

  1. Откроем любой существующий или создадим новый документ "Заказ покупателя".
  2. В верхней правой части формы документа найдем кнопку "Ещё" и кликнем по ней.
  3. В выпадающем меню выберем пункт "Изменить форму". Откроется окно "Настройка формы".
  4. В окне "Настройка формы" нам нужно найти и развернуть ветку, которая относится к табличной части "Товары" (или аналогичному наименованию вашей табличной части, содержащей номенклатуру).
  5. В списке доступных полей, находящихся слева или снизу (в зависимости от версии УНФ), мы увидим созданные нами дополнительные реквизиты "Длина" и "Ширина". Они обычно помечаются специальным значком (например, синяя иконка).
  6. Мы можем добавить эти поля в табличную часть одним из способов:
    • Перетащить их мышью: Выберем поле "Длина" и, удерживая левую кнопку мыши, перетащим его в нужное место в табличной части (например, сразу после колонки "Номенклатура"). Повторим для "Ширины".
    • Использовать кнопку "Добавить поля": Выделим нужную группу в табличной части, нажмем кнопку "Добавить поля" и выберем наши реквизиты из списка.
  7. После размещения колонок в желаемой позиции нажмем кнопку "ОК", чтобы сохранить изменения в форме.

Шаг 5: Проверяем активность полей

Если все предыдущие шаги были выполнены корректно, то при возвращении в документ "Заказ покупателя" мы увидим новые колонки "Длина" и "Ширина" в табличной части. Самое главное — эти поля будут активными и доступными для ввода информации непосредственно в каждой строке заказа. Мы сможем вносить в них числовые значения, и они будут сохраняться вместе с данными заказа.

Подход 2: Использование Характеристик Номенклатуры для стандартных свойств товара

Второй подход — использование характеристик номенклатуры — более уместен, когда "Длина" и "Ширина" являются неотъемлемыми и фиксированными свойствами самой номенклатуры. То есть, "Стол обеденный 120х80 см" — это уже конкретная позиция с определенными размерами, которые не меняются от заказа к заказу. По таким характеристикам часто ведется учет остатков или ценообразование. В этом случае "Длина" и "Ширина" не будут отдельными редактируемыми колонками, а станут частью выбранной характеристики номенклатуры.

Шаг 1: Включаем механизм Характеристик Номенклатуры

Для использования характеристик номенклатуры необходимо убедиться, что этот функционал активирован в 1С:УНФ.

  1. Перейдем в раздел "Настройки".
  2. Выберем "Ещё больше возможностей".
  3. В блоке "Закупки" (или "Компания", в зависимости от версии и настроек) найдем и установим флажок "Характеристики номенклатуры". Это действие позволит нам создавать и использовать характеристики для товаров.

Шаг 2: Создаем наборы характеристик

Характеристики в 1С:УНФ создаются для категорий номенклатуры или непосредственно в карточке самой номенклатуры.

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

Шаг 3: Привязываем характеристики к конкретной номенклатуре

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

  1. Откроем карточку необходимой номенклатуры, например, "Стол".
  2. В карточке номенклатуры, на вкладке "Характеристики" (или аналогичной), мы сможем создавать конкретные комбинации характеристик. Например, для "Стола" мы можем создать характеристику "120х80", где укажем "Длина = 120" и "Ширина = 80". Каждая такая комбинация будет представлять собой уникальную характеристику для данной номенклатуры.
  3. Это означает, что "Стол (120х80)" и "Стол (150х90)" будут фактически двумя разными товарными позициями с точки зрения учета.

Шаг 4: Используем характеристики в документе "Заказ покупателя"

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

  1. При добавлении номенклатуры в документ "Заказ покупателя" мы будем выбирать не просто "Стол", а "Стол" с определенной характеристикой, например, "Стол (120х80)".
  2. В этом случае поля "Длина" и "Ширина" не будут отдельными редактируемыми колонками в табличной части. Вместо этого, информация о характеристике (например, "Длина 120, Ширина 80") будет частью выбранной номенклатуры или ее отображаемого наименования.
  3. Для вывода информации о характеристике в табличной части документа также используется механизм "Изменить форму" (как мы рассматривали в Подходе 1). Однако, эти поля будут только информационными и нередактируемыми напрямую в строке заказа, поскольку они привязаны к выбранной характеристике.

Почему поля могут быть неактивны: Анализируем распространенные ошибки

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

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

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

  1. Как проверить: Вернемся в окно "Настройка формы" ("Ещё" → "Изменить форму"). Внимательно посмотрим на добавленные поля "Длина" и "Ширина" в табличной части. Убедимся, что мы добавили именно сам дополнительный реквизит, а не какое-либо другое связанное поле. Дополнительные реквизиты обычно имеют характерный значок или название, отличающее их от стандартных полей.
  2. Как исправить: Если мы обнаружим, что добавлено не то поле, удалим его из табличной части в "Настройке формы" и повторно добавим, тщательно выбирая сам созданный дополнительный реквизит.

Причина 2: Неправильно указан тип реквизита при его создании

При создании дополнительного реквизита через "Дополнительные реквизиты" мы выбирали "Тип значения". Если по ошибке был выбран тип, который не подразумевает редактирование (например, булево поле без флажка "Ввод значения" или какой-либо справочный тип, настроенный как только для чтения), то поле не будет активным.

  1. Как проверить: Перейдем в "Настройки" → "Администрирование" → "Общие настройки" → "Дополнительные реквизиты". Найдем наши реквизиты "Длина" и "Ширина" и внимательно проверим их "Тип значения" и другие настройки. Для ввода числа обязательно должен быть выбран "Число".
  2. Как исправить: Если тип значения был выбран неверно, изменим его на "Число" и сохраним изменения. Возможно, после этого потребуется повторно открыть и сохранить документ "Заказ покупателя", чтобы изменения вступили в силу.

Причина 3: Добавлен реквизит к неправильному объекту

Механизм дополнительных реквизитов позволяет добавлять поля к различным объектам программы: к самому документу (шапке), к его табличным частям, к справочникам и т.д. Если мы создали дополнительный реквизит для шапки документа Документ.ЗаказПокупателя, а пытаемся разместить его в табличной части Документ.ЗаказПокупателя.ТабличнаяЧасть.Товары, то поле может быть недоступно для редактирования или вовсе не отображаться.

  1. Как проверить: В окне "Дополнительные реквизиты и сведения" ("Настройки" → "Администрирование" → "Общие настройки" → "Дополнительные реквизиты") еще раз убедимся, что наши реквизиты "Длина" и "Ширина" созданы именно для объекта Документ.ЗаказПокупателя.ТабличнаяЧасть.Товары.
  2. Как исправить: Если реквизит создан не для того объекта, нам придется удалить его и создать заново, правильно указав объект Документ.ЗаказПокупателя.ТабличнаяЧасть.Товары.

Заключение: Выбор оптимального подхода

Мы рассмотрели два основных способа добавления дополнительных колонок "Длина" и "Ширина" в табличную часть документа "Заказ покупателя" в 1С:УНФ, позволяющих сделать их активными и редактируемыми. Каждый из этих подходов имеет свои особенности и наилучшим образом подходит для определенных сценариев:

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

← На главную