&НаСервере
Функция ПроверитьВозможностьРаспределения()
СтрокаСообщение = "";
ОтказРаспределения = Ложь;
СтруктураВозврата = Новый Структура("Сообщение, Отказ", "", ОтказРаспределения);
Если Объект.Товары.Итог("Количество") > Объект.Вместимость.Итог("Количество") Тогда
СтрокаСообщение = СтрокаСообщение + "Недостаточная вместимость выбранных вагонов";
ОтказРаспределения = Истина;
КонецЕсли;
//
ТЗВременно = Объект.Вместимость.Выгрузить(); // Имя табличной части
ТЗВременно.Колонки.Добавить("Дубли");
ТЗВременно.ЗаполнитьЗначения(1,"Дубли");
ТЗВременно.Свернуть("Вагон","Дубли");
Если ТЗВременно.Количество() < Объект.Вместимость.Количество() Тогда // дубли есть
СтрокаСообщение = СтрокаСообщение + "; Есть дубли вагонов: ";
Для Каждого Строка из ТЗВременно Цикл
Если Строка.Дубли > 1 Тогда
СтрокаСообщение = СтрокаСообщение + Строка.Вагон + ", ";
КонецЕсли;
КонецЦикла;
ОтказРаспределения = Истина;
КонецЕсли;
//
СтруктураВозврата.Вставить("Сообщение",СтрокаСообщение);
СтруктураВозврата.Вставить("Отказ", ОтказРаспределения);
Возврат СтруктураВозврата;
КонецФункции