Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> УТП. Расчет себестоимости по организациям.          
justlink Подменю пользователя
сообщение 13.02.12, 11:45
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте. У меня очень сложный, как мне кажется вопрос.
Суть в следующем - есть конфигурация УТП, обновленная до версии 1.2.6.1
В базе ведется учет по нескольким организациям. Товары нескольких организаций хранятся на одном складе. При списывании/реализации товаров по одной организации по управленческому учету списываются партии не обязательно этой организации. И это правильно, т.к. в УТП в регистре накопления Партии Товаров На Складах Упр нет измерения "Организация". Т.е. управленческий учет себестоимости ведется в разрезе склада.

А теперь - вопрос - как сделать так, чтобы при списании списывались партии именно той организации, по которой происходит списание. Ну, или хотя бы делалась такая попытка smile.gif
Алгоритм такой - при списании ищем партию нужной организации. Если такой партии нет, ну что ж поделаешь, списываем то что есть, но выдаем предупреждающее сообщение.

Пока сделал вот что - в общем модуле "УправлениеЗапасамипартионныйУчет" в процедуре "СписаниеПартий" добавил строки:

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


Но это не совсем то, т.к. в этом варианте если отсутствует товар нужной организации, то вообще ничего не спишется.
Мне бы подошла сортировка строк коллекции СтрокаДереваПартий.Строки по реквизиту ДокументОприходования.Организация. Сначала нужная мне организация, а потом всё остальное.

Вопрос - как отсортировать коллекцию строк строки дерева значений?

Ardi Подменю пользователя
сообщение 13.02.12, 11:51
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Проходимся по остаткам 2 раза. Сначала
текОрг=НашаОрг.
Потом
текОрг<>НашаОрг


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

justlink Подменю пользователя
сообщение 13.02.12, 14:02
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Проще всё-таки оказалось сделать сортировку дерева партий. Может кому-нибудь будет полезен кусочек кода:
Нужные партии сдвигаются в начало списка.

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

Ardi Подменю пользователя
сообщение 14.02.12, 3:10
Сообщение #4

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Интересный код.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 04.07.25, 10:04
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!