🔥 Горящие вакансии
Все статьи

УТ: Настройка связи полей Номенклатура и Характеристика номенклатуры в 1С

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti

Рассмотрим задачу, когда нужно настроить связи для полей формы Номенклатура и Характеристика номенклатуры.

Рассмотрим на примере настройки связи полей на форме записи нового добавленного регистра сведений пр_АссортиментТоваров в конфигурации УТ 11.0.7.21:

УТ: Настройка связи полей Номенклатура и Характеристика номенклатуры в 1С

Поля регистра сведений

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

Для этого:

У реквизита Характеристика регистра сведений пр_АссортиментТоваров в свойстве Проверка заполнения устанавливаем значение Выдавать ошибку, свойство Связи параметров выбора заполняем как на рисунке:

УТ: Настройка связи полей Номенклатура и Характеристика номенклатуры в 1С

Связи параметров выбора

Далее на форму записи регистра добавляем реквизит ХарактеристикиИспользуются с типом Булево:

УТ: Настройка связи полей Номенклатура и Характеристика номенклатуры в 1С

Добавление реквизита формы записи ХарактеристикиИспользуются

Далее в модуль формы записи добавляем переменную:

&НаКлиенте
Перем КэшированныеЗначения;

Далее добавляем обработчик события формы ПриСозданииНаСервере, текст процедуры:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Запись.ИсходныйКлючЗаписи.Пустой() Тогда
ХарактеристикиИспользуются = Справочники.Номенклатура.ПроверитьИспользованиеХарактеристик(Запись.Номенклатура);
Элементы.Характеристика.Доступность = ХарактеристикиИспользуются;
КонецЕсли;
КонецПроцедуры

Далее добавляем обработчик события формы ПриЧтенииНаСервере, текст процедуры:

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ХарактеристикиИспользуются = Справочники.Номенклатура.ПроверитьИспользованиеХарактеристик(Запись.Номенклатура);
Элементы.Характеристика.Доступность = ХарактеристикиИспользуются;
КонецПроцедуры

Далее полю Номенклатура назначаем обработчик события ПриИзменении, процедура обработчика:

&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", Запись.Характеристика);

СтруктураСтроки = Новый Структура;
СтруктураСтроки.Вставить("Номенклатура", Запись.Номенклатура);
СтруктураСтроки.Вставить("Характеристика", Запись.Характеристика);
СтруктураСтроки.Вставить("ХарактеристикиИспользуются", ХарактеристикиИспользуются);

ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(СтруктураСтроки, СтруктураДействий, КэшированныеЗначения);

ЗаполнитьЗначенияСвойств(Запись, СтруктураСтроки);

ХарактеристикиИспользуются = СтруктураСтроки.ХарактеристикиИспользуются;
Элементы.Характеристика.Доступность = ХарактеристикиИспользуются;
КонецПроцедуры

Теперь связи полей Номенклатура и Характеристика номенклатуры в 1С УТ настроены.

Оставить коментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Отправить резюме

    Я согласен на обработку персональных данных в соответствии
    со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

    Отправить резюме

      Я согласен на обработку персональных данных в соответствии
      со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

      Pекомендовать друга

        Выбрать вакансию
        • Программист 1С
        • Консультант-аналитик 1С
        • Разработчик Android
        • Разработчик iOS
        • Разработчик React JS (middle)
        • Разработчик React Native (middle)
        • UX/UI дизайнер
        • Аналитик
        • QA engineer (тестировщик)
        • Разработчик PHP (senior)
        • Разработчик React JS
        • Разработчик Flutter
        • Разработчик React Native
        • Проекты для команды специалистов 1С
        • Проекты для специалистов 1С
        • Стажер-программист 1С
        • Ведущий консультант Microsoft Dynamics 365 Sales
        • Руководитель проектов Microsoft Dynamics 365 FO и AX 2012
        • Консультант Microsoft Dynamics AX на зарубежные проекты
        • Ведущий консультант Microsoft Dynamics 365 Finance and Operation
        • Разработчик PHP (фреймворк Yii2 или Laravel)
        • Разработчик Bitrix
        • Ведущий разработчик Microsoft Dynamics AX на зарубежные проекты
        • Разработчик PHP
        Я согласен на обработку персональных данных в соответствии
        со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

        Pекомендовать друга

          Выбрать вакансию
          • Программист 1С
          • Консультант-аналитик 1С
          • Разработчик Android
          • Разработчик iOS
          • Разработчик React JS (middle)
          • Разработчик React Native (middle)
          • UX/UI дизайнер
          • Аналитик
          • QA engineer (тестировщик)
          • Разработчик PHP (senior)
          • Разработчик React JS
          • Разработчик Flutter
          • Разработчик React Native
          • Проекты для команды специалистов 1С
          • Проекты для специалистов 1С
          • Стажер-программист 1С
          • Ведущий консультант Microsoft Dynamics 365 Sales
          • Руководитель проектов Microsoft Dynamics 365 FO и AX 2012
          • Консультант Microsoft Dynamics AX на зарубежные проекты
          • Ведущий консультант Microsoft Dynamics 365 Finance and Operation
          • Разработчик PHP (фреймворк Yii2 или Laravel)
          • Разработчик Bitrix
          • Ведущий разработчик Microsoft Dynamics AX на зарубежные проекты
          • Разработчик PHP
          Я согласен на обработку персональных данных в соответствии
          со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

          Спасибо!

          Мы получили ваше резюме. Менеджер свяжется с вами в течение трех дней

          Горящие вакансии