Есть документ, в котором заполняется ТЧ (реквизиты: номенклатура и единицаИзмерения). А в справочнике номенклатура уже прописаны ЕдиницаИзмеренияБухгалтерии и ЕдиницаИзмеренияПересчета. Как сделать чтобы при выборе в единицаИзмерения в ТЧ документа выпадали только эти единицы измерения конкретной номенклатуры, а не все?
---
Я бы предложил воспользоваться доработкой связей параметров выбора. На примере Вашей задачи:

1) Отредактируйте у реквизита "ЕдиницаИзмерения" табличной части связи параметров выбора, добавив связь с колонкой "Номенклатура":
Имя: Номенклатура
Реквизит: Номенклатура
Режим изменения: Очищать

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

```1c
    Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)

    Если Параметры.Свойство("Номенклатура") Тогда

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

    ДанныеВыбора = ЕдиницыИзмеренияНоменклатуры(Параметры.Номенклатура);

    КонецЕсли;

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

    Функция ЕдиницыИзмеренияНоменклатуры(Номенклатура) Экспорт

    СписокЕдиницИзмерения = Новый СписокЗначений;

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

    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда

    СписокЕдиницИзмерения.Добавить(Выборка.ЕдиницаИзмеренияБухгалтерии);
    СписокЕдиницИзмерения.Добавить(Выборка.ЕдиницаИзмеренияПересчета);

    КонецЕсли;

    Возврат СписокЕдиницИзмерения;

    КонецФункции
```

2) В завершении добавьте форму выбора справочника единиц измерения, если ее еще нет. Реализуйте обработчик событий "ПриСозданииНаСервере" формы, где обработайте параметр "Номенклатура", отобрав в списке выбора только нужные единицы измерения:

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

    Если Параметры.Свойство("Номенклатура") Тогда

    СписокЕдиницИзмерения = Справочники.ЕдиницыИзмерения.ЕдиницыИзмеренияНоменклатуры(Параметры.Номенклатура);

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

    КонецЕсли;

    КонецПроцедуры
```
---
Я бы предложил воспользоваться доработкой связей параметров выбора. На примере Вашей задачи:

1) Отредактируйте у реквизита "ЕдиницаИзмерения" табличной части связи параметров выбора, добавив связь с колонкой "Номенклатура":
Имя: Номенклатура
Реквизит: Номенклатура
Режим изменения: Очищать

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

```1c
    Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)

    Если Параметры.Свойство("Номенклатура") Тогда

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

    ДанныеВыбора = ЕдиницыИзмеренияНоменклатуры(Параметры.Номенклатура);

    КонецЕсли;

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

    Функция ЕдиницыИзмеренияНоменклатуры(Номенклатура) Экспорт

    СписокЕдиницИзмерения = Новый СписокЗначений;

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

    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда

    СписокЕдиницИзмерения.Добавить(Выборка.ЕдиницаИзмеренияБухгалтерии);
    СписокЕдиницИзмерения.Добавить(Выборка.ЕдиницаИзмеренияПересчета);

    КонецЕсли;

    Возврат СписокЕдиницИзмерения;

    КонецФункции
```

2) В завершении добавьте форму выбора справочника единиц измерения, если ее еще нет. Реализуйте обработчик событий "ПриСозданииНаСервере" формы, где обработайте параметр "Номенклатура", отобрав в списке выбора только нужные единицы измерения:

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

    Если Параметры.Свойство("Номенклатура") Тогда

    СписокЕдиницИзмерения = Справочники.ЕдиницыИзмерения.ЕдиницыИзмеренияНоменклатуры(Параметры.Номенклатура);

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

    КонецЕсли;

    КонецПроцедуры
```
---
Прекрасный ответ. Браво. Мир Вашему дому.
---
Шикарно) Спасибо