Всем доброго времени суток!
У меня есть вот такой код:
&НаКлиенте
Процедура ВыборТипыОтгрузок(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт
Тип = ВыбранныйЭлемент;
Если Тип = ПредопределенноеЗначение("Перечисление.ТипыОтгрузок.СоСклада") Тогда
Для Каждого Идентификатор Из Элементы.Товары.ВыделенныеСтроки Цикл
СтрокаДляОбработки = Объект.Товары.НайтиПоИдентификатору(Идентификатор);
СтрокаДляОбработки.ТипОтгрузки = ПредопределенноеЗначение("Перечисление.ТипыОтгрузок.СоСклада");
КонецЦикла;
Иначе
Для Каждого Идентификатор Из Элементы.Товары.ВыделенныеСтроки Цикл
СтрокаДляОбработки = Объект.Товары.НайтиПоИдентификатору(Идентификатор);
СтрокаДляОбработки.ТипОтгрузки = ПредопределенноеЗначение("Перечисление.ТипыОтгрузок.СЗавода");
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Показать
Суть этого кода в том, что он меняет в выбранных строках значение в колонке ТипОтгрузки на выбранный пользователем. Выбор пользователя у меня это Тип = ВыбранныйЭлемент, где ВыбранныйЭлемент это ЭлементСпискаЗначений.
Проблема в том, что всегда (вне зависимости от выбора пользователя) Срабатывает вторая часть кода (та, что после Иначе). Как я понял это происходит из-за того, что строка
Если Тип = ПредопределенноеЗначение("Перечисление.ТипыОтгрузок.СоСклада") Тогда
не работает, то есть Выбранное пользователем значение не сравнивается с ПредопределенноеЗначение("Перечисление.ТипыОтгрузок.СоСклада") и ставится ложь.
Можете подсказать, как сделать так, чтобы получилось сравнение и всё работало?