Имя: Пароль:
1C
1С v8
Создание перемещения на основании внутреннего заказа
0 Koliaff
 
01.10.15
11:00
Доброго времени суток. УТ 10.3
Создали внутренний заказ в нем указали товар с двух складов с 1-го и 2-го. На основании этого внутреннего заказа делаем сначала перемещение на 1-й склад. В это перемещение подставляется товар из внутреннего заказа, который зарезервирован им на 1-м складе, но ещё подставляется товар, который есть на 1-м складе в свободном размещении и зарезервирован внутренним заказом на 2-м складе. Эти проблемные строки идут с пустым значением реквизита "документ резерва". Почему так происходит ?
1 RomanYS
 
01.10.15
11:08
При заполнении по заказу система пытается его обеспечить из
1. резерва по заказу
2. свободного остатка

Вроде всё логично.
2 Koliaff
 
01.10.15
11:13
(RomanYS) Если я внутренним заказом зарезервировал товар со 2-го склада, зачем мне система перемещает этот товар с 1-го ? Сейчас получилось что с 1-го склада этот товар уходит, а на 2-м остается в резерве за внутренним заказом.
3 Koliaff
 
01.10.15
11:27
Если ВРезерве > 0 Тогда
                    НоваяСтрока = ТабЧасть.Добавить();
                    ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
                    НоваяСтрока.Количество                   = ВРезерве;
                    НоваяСтрока.ДокументРезерва              = Заказ;
                    НоваяСтрока.ВнутреннийЗаказ              = Заказ;
                    Если Не ФлагТары Тогда
                        Если ЕстьКачество Тогда
                            НоваяСтрока.Качество = Справочники.Качество.Новый;
                        КонецЕсли;
                        ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти( НоваяСтрока, ЭтотОбъект);
                    КонецЕсли;
                    
                    ОстатокВРезерве = ОстатокВРезерве - ВРезерве;
                    ОстатокНаСкладе = ОстатокНаСкладе - ВРезерве;
                    Количество = Количество - ВРезерве;
                КонецЕсли;
                Если Количество > 0 Тогда
                    НоваяСтрока = ТабЧасть.Добавить();
                    ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
                    НоваяСтрока.Количество                   = Количество;
                    НоваяСтрока.ВнутреннийЗаказ              = Заказ;
                    Если Не ФлагТары Тогда
                        Если ЕстьКачество Тогда
                            НоваяСтрока.Качество = Справочники.Качество.Новый;
                        КонецЕсли;
                        ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти( НоваяСтрока, ЭтотОбъект);
                    КонецЕсли;
                    
                    ОстатокНаСкладе = ОстатокНаСкладе - Количество;
                    
                КонецЕсли;


Вот код процедуры по заполнению
4 RomanYS
 
01.10.15
11:33
(2) Система не смотрит остатки на других складах, она пытается максимально обеспечить заказ с текущего склада. (3) Код подтверждает (1)