Всем привет!
Есть на форме кнопка "Подбор" у документ "Заявка на доставку".
Имеется табличная часть товары. Реквизит "Распоряжение" и "Комментарий" ( о них будет идти речь в основном)
Распоряжение имеет ссылочные тип на документы : "Заказ поставщику (ЗП)" и "Распоряжение на отгрузку клиенту (РНОК)"

если вид доставки с нашего склада, то распоряжение имеется ссылочный тип "РНОК", а если на наш, то ЗП.
При нажатии на "Подбор" открывается форма выбора согласно типу ссылки документа.

При выборе появляется ошибка "Неверный первый параметр Ссылка в функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта:
- Значение должно быть ссылкой или именем предопределенного элемента

Код

```1c
    &НаКлиенте
    Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

    Если ИсточникВыбора.ИмяФормы = "Документ.СТ_РаспоряжениеНаОтгрузкуКлиенту.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказПоставщику.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказНаПеремещение.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказПереработчику.Форма.ФормаВыбора" Тогда

    СтрокаРаспоряжение = Объект.Распоряжения.НайтиСтроки(Новый Структура("Распоряжение", ВыбранноеЗначение));
    Если СтрокаРаспоряжение.Количество() = 0 Тогда
    НоваяСтрока = Объект.Распоряжения.Добавить();
    НоваяСтрока.Распоряжение = ВыбранноеЗначение;
    РаспоряжениеПриИзмененииНаСервере(НоваяСтрока.ПолучитьИдентификатор());
    КонецЕсли;

    КонецЕсли;

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

```1c
    Процедура РаспоряжениеПриИзмененииНаСервере(Ид)

    СтруктураСтроки = Новый Структура("Комментарий");
    СтруктураСтроки.Вставить("ВесНетто");
    СтруктураСтроки.Вставить("ВесБрутто");
    СтруктураСтроки.Вставить("Объем");
    СтруктураСтроки.Вставить("КоличествоПалет");

    ТекущаяСтрока = Объект.Распоряжения.НайтиПоИдентификатору(Ид);

    Если ТипЗнч(ТекущаяСтрока.Распоряжение) = Тип("ДокументСсылка.СТ_РаспоряжениеНаОтгрузкуКлиенту") Тогда
    ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ТекущаяСтрока.Распоряжение, "ВесНетто, ВесБрутто, Объем, КоличествоПалет, Комментарий", Истина);
    ЗаполнитьЗначенияСвойств(СтруктураСтроки, ЗначенияРеквизитов);
    Иначе //(Вот сюда я попадаю в отладке независимо от типа документа, то есть первое условие не выполняется)
    ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
    ТекущаяСтрока.Распоряжение,
    "Комментарий",
    Истина);
    ИмяТЧ = "Товары";
    Если ТипЗнч(ТекущаяСтрока.Распоряжение) = Тип("ДокументСсылка.ЗаказПереработчику") Тогда
    ИмяТЧ = "Материалы";
    КонецЕсли;
    ЗаполнитьЗначенияСвойств(СтруктураСтроки, ЗначенияРеквизитов);
    ВесОбъем = СТ_ЗаполнениеДокументовСервер.ВесОбъемПоРаспоряжению(Объект, ТекущаяСтрока.Распоряжение, ИмяТЧ);
    ЗаполнитьЗначенияСвойств(СтруктураСтроки, ВесОбъем);
    КонецЕсли;

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

    РассчитатьИтоговыеПоказатели(ЭтаФорма);

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

Подскажите, пож-та, где косяк?
---
Разобрался)

Добавил

```1c
    Если ИсточникВыбора.ИмяФормы = "Документ.СТ_РаспоряжениеНаОтгрузкуКлиенту.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказПоставщику.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказНаПеремещение.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказПереработчику.Форма.ФормаВыбора" Тогда

    СтрокаРаспоряжение = Объект.Распоряжения.НайтиСтроки(Новый Структура("Распоряжение", ВыбранноеЗначение));
    Если СтрокаРаспоряжение.Количество() = 0 Тогда
    Для Каждого Строка ИЗ ВыбранноеЗначение Цикл
    НоваяСтрока = Объект.Распоряжения.Добавить();
    НоваяСтрока.Распоряжение = Строка;
    КонецЦикла;
    РаспоряжениеПриИзмененииНаСервере(НоваяСтрока.ПолучитьИдентификатор());
    КонецЕсли;

    КонецЕсли;
```
---
В отладке почему-то "Распоряжение" неопределяется
Выражение Значение Тип
ТекущаяСтрока ДанныеФормыЭлементКоллекции ДанныеФормыЭлементКоллекции
ВесБрутто 0 Число
ВесНетто 0 Число
ИсходныйНомерСтроки 0 Число
КоличествоПалет 0 Число
Комментарий "" Строка
НомерСтроки 7 Число
Объем 0 Число
Распоряжение Неопределено
---
Разобрался)

Добавил

```1c
    Если ИсточникВыбора.ИмяФормы = "Документ.СТ_РаспоряжениеНаОтгрузкуКлиенту.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказПоставщику.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказНаПеремещение.Форма.ФормаВыбора"
    Или ИсточникВыбора.ИмяФормы = "Документ.ЗаказПереработчику.Форма.ФормаВыбора" Тогда

    СтрокаРаспоряжение = Объект.Распоряжения.НайтиСтроки(Новый Структура("Распоряжение", ВыбранноеЗначение));
    Если СтрокаРаспоряжение.Количество() = 0 Тогда
    Для Каждого Строка ИЗ ВыбранноеЗначение Цикл
    НоваяСтрока = Объект.Распоряжения.Добавить();
    НоваяСтрока.Распоряжение = Строка;
    КонецЦикла;
    РаспоряжениеПриИзмененииНаСервере(НоваяСтрока.ПолучитьИдентификатор());
    КонецЕсли;

    КонецЕсли;
```