При переходе с 8.1 на 8.2 перестала работать внешняя обработка. А именно , есть подключаемая внешняя обработка для автоматического проставления складов при реализации.
Есть 6 складов и один отдельный склад, один товар лежит и на 3ем и на 7ом, но нужно списывать только с 3го. На 8.1 все работало как надо , но при переходе на 8.2 товар который лежит на 7ом и на 3ем складе стал проставляться с 7го .
Еще заметил такую вот штуку, скрины ниже. 1й скрин это 8.1 а второй 8.2
Помогите решить этот вопрос
Вот код обработки

```1c
    Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
    СкладРезерва = Справочники.Склады.НайтиПоКоду("00024");

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

    Если ТаблицаСкладов.Количество() <> 0 Тогда
    Если ТаблицаСкладов[0].Склад <> СкладРезерва
    Тогда

    СтрокаТовары.Склад = ТаблицаСкладов[0].Склад;
    КонецЕсли;
    КонецЕсли;

    КонецЦикла;

    КонецЕсли;
    КонецПроцедуры
```

Еще заметил такую вот штуку, скрины ниже. 1й скрин это 8.1 а второй 8.2
---
Добавил в код сортировку . теперь выскакивает ошибка , скрин ниже

```1c
    Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
    СкладРезерва = Справочники.Склады.НайтиПоКоду("00025");

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

    Если ТаблицаСкладов.Количество() <> 0 Тогда
    ТаблицаСкладов.Сортировать("Количество Убыв");
    ОстатокСкл = ТаблицаСкладов[0].Количество;
    Если ОстатокСкл < СтрокаТовары.Количество Тогда
    Сообщить("На складе" +ТаблицаСкладов[0].Склад.наименование+"не достаточно товаров")
    Иначе
    СтрокаТовары.Склад = ТаблицаСкладов[0].Склад;
    КонецЕсли;
    КонецЕсли;

    КонецЦикла;

    КонецЕсли;
    КонецПроцедуры
```
---
ну как бы конвертацию сделать надо?
---
Конвертацию сделал. Суть в том что она ставит не тот склад который нужно
---
значит переписывайте код обработки.
Чтобы он ставил тот.
---
вопрос как ? Все тоже самое , только почему то он отбирает склады не по порядку
---
А где указан порядок? Почему 3 склад должен быть раньше 7?
---
В коде не указан, но почему то на 8.1 он сам выстраивал в нужном порядке
---
Без сортировки нельзя гарантировать порядок результата. Xershi все правильно сказал: используйте запрос с сортировкой.
---
```1c
    ТаблицаСкладов = РегистрыНакопления.ТоварыНаСкладах.Остатки(,Отбор,"Склад","Количество");
```

Переписать на запрос и в нем сортировать.
Или после сортировать таблицу, как вам нужно.
---
еписать на запрос и в нем сортирова
как правильно ? А то чет не получаеться

```1c
    ТаблицаСкладов = РегистрыНакопления.ТоварыНаСкладах.Остатки(,Отбор,"Склад","Количество");
    УПОРЯДОЧИТЬ ПО Склад ИЕРАРХИЯ
```
---
посмотрите курс Кузнецова на Ютубе бесплатно.
---
Добавил в код сортировку . теперь выскакивает ошибка , скрин ниже

```1c
    Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
    СкладРезерва = Справочники.Склады.НайтиПоКоду("00025");

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

    Если ТаблицаСкладов.Количество() <> 0 Тогда
    ТаблицаСкладов.Сортировать("Количество Убыв");
    ОстатокСкл = ТаблицаСкладов[0].Количество;
    Если ОстатокСкл < СтрокаТовары.Количество Тогда
    Сообщить("На складе" +ТаблицаСкладов[0].Склад.наименование+"не достаточно товаров")
    Иначе
    СтрокаТовары.Склад = ТаблицаСкладов[0].Склад;
    КонецЕсли;
    КонецЕсли;

    КонецЦикла;

    КонецЕсли;
    КонецПроцедуры
```
---
А не , все , заработало !
---
Что за конфигурация, что вы до сих пор на 8.1 сидели?
---
ут 10,3
---
А если точнее "Управление торговлей", редакция 10.3 (10.3.1.17)