Здравствуйте. У меня очень сложный, как мне кажется вопрос.
Суть в следующем - есть конфигурация УТП, обновленная до версии 1.2.6.1
В базе ведется учет по нескольким организациям. Товары нескольких организаций хранятся на одном складе. При списывании/реализации товаров по одной организации по управленческому учету списываются партии не обязательно этой организации. И это правильно, т.к. в УТП в регистре накопления Партии Товаров На Складах Упр нет измерения "Организация". Т.е. управленческий учет себестоимости ведется в разрезе склада.
А теперь - вопрос - как сделать так, чтобы при списании списывались партии именно той организации, по которой происходит списание. Ну, или хотя бы делалась такая попытка
Алгоритм такой - при списании ищем партию нужной организации. Если такой партии нет, ну что ж поделаешь, списываем то что есть, но выдаем предупреждающее сообщение.
Пока сделал вот что - в общем модуле "УправлениеЗапасамипартионныйУчет" в процедуре "СписаниеПартий" добавил строки:
Если СтрокаДереваПартий <> Неопределено Тогда
Для Каждого СтрокаПартииРаспределения ИЗ СтрокаДереваПартий.Строки Цикл
Если КоличествоОсталосьПогасить <= 0 Тогда
Прервать;
КонецЕсли;
СтрокаПартии = ПолучитьСтрокуОстатковПартий(СтрокаПартииРаспределения, СтруктураИзмерений, ТаблицаОстатковПартий);
//Пытаемся списать партии по документу оприходования той же организации (УпрУчет)
Если СтрокаПартии.ДокументОприходования.Организация <> СтруктураПараметров.Регистратор.Организация И ИмяРегистра = "ПартииТоваровНаСкладахУпр" Тогда
Продолжить;
КонецЕсли;
//
Но это не совсем то, т.к. в этом варианте если отсутствует товар нужной организации, то вообще ничего не спишется.
Мне бы подошла сортировка строк коллекции СтрокаДереваПартий.Строки по реквизиту ДокументОприходования.Организация. Сначала нужная мне организация, а потом всё остальное.
Вопрос - как отсортировать коллекцию строк строки дерева значений?