V82.ОбщиеМодули.УправлениеЗаказами.Заказ_ЗаполнитьТабличныеЧастиВозможнымРазмещением C# (CSharp) Method

Заказ_ЗаполнитьТабличныеЧастиВозможнымРазмещением() public method

        public void Заказ_ЗаполнитьТабличныеЧастиВозможнымРазмещением(/*Параметры, Товары, ВозвратнаяТара*/)
        {
            //Авторезервирование = Параметры.Авторезервирование;
            //Авторазмещение     = Параметры.Авторазмещение;
            if(true/*НЕ Авторезервирование И НЕ Авторазмещение*/)
            {
            }
            //Заказ = Параметры.Заказ;
            //ЗаказСсылка = Заказ.Ссылка;
            //ЕстьСкладЗаказчик = Ложь;
            //ЕстьПредпочтительноеРазмещение = Ложь;
            //ЕстьМассивСтатусовПартий = Ложь;
            //МассивСтатусовПартий = Новый Массив;
            //ЗаполнятьСуммы = ложь;
            //СкладПоУмолчанию = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойСклад");
            //СтратегияАвторезервирования = Параметры.СтратегияАвторезервированияПоЗаказам;
            //ОбособленныйУчет = Параметры.Свойство("ОбособленныйУчет") И Параметры.ОбособленныйУчет;
            if(true/*НЕ ЗначениеЗаполнено(СтратегияАвторезервирования)*/)
            {
                //СтратегияАвторезервирования = Перечисления.СтратегииАвторезервированияНоменклатуры.СначалаВЗаказахПоставщикамПотомНаСкладах;
            }
            //ЗапросСвободныйОстаток = Новый Запрос;
            if(true/*ТипЗнч(ЗаказСсылка)=Тип("ДокументСсылка.ЗаказПокупателя")*/)
            {
                //СкладГруппа = Заказ.СкладГруппа;
                //ЗапросСвободныйОстаток.УстановитьПараметр("ПредпочтительноеРазмещение", ?(ТипЗнч(СкладГруппа) = Тип("СправочникСсылка.Склады"), СкладГруппа, СкладПоУмолчанию));
                //ЕстьПредпочтительноеРазмещение = Истина;
                //ЗапросСвободныйОстаток.УстановитьПараметр("СкладЗаказчик", Неопределено);
                if(true/*ЗначениеЗаполнено(СкладГруппа)
            И ТипЗнч(СкладГруппа) = Тип("СправочникСсылка.ГруппыДоступностиСкладов")*/)
                {
                    //ГруппаДоступностиСкладов = СкладГруппа;
                }
                //ЗаполнятьСуммы = истина;
                //ДатаОтгрузки = Заказ.ДатаОтгрузки;
            }
            //ЗапросСвободныйОстаток.УстановитьПараметр("ДатаОтгрузки", ?(НЕ ЗначениеЗаполнено(ДатаОтгрузки), Заказ.Дата, ДатаОтгрузки));
            //ЗапросСвободныйОстаток.УстановитьПараметр("ДокументСсылка", Заказ);
            //ЗапросСвободныйОстаток.УстановитьПараметр("Организация",    Заказ.Организация);
            //ЗапросСвободныйОстаток.УстановитьПараметр( "СтатусПартии",  МассивСтатусовПартий);
            //флРезервированиеТоваров = ложь;
            if(true/*Параметры.Свойство("РезервированиеТоваров")*/)
            {
                //ЗаполнятьСуммы = ложь;
                //флРезервированиеТоваров = истина;
                //ИмяРеквизитаРазмещение = "НовоеРазмещение";
                if(true/*ТипЗнч(ЗаказСсылка) = Тип("ДокументСсылка.ВнутреннийЗаказ")*/)
                {
                    /*ТекстЗапросаПоНоменклатуре = "
            |	ВЫБРАТЬ
            |		РегистрВнутренниеЗаказыОстатки.Номенклатура
            |	ИЗ
            |		РегистрНакопления.ВнутренниеЗаказы.Остатки(, ВнутреннийЗаказ = &СсылкаЗаказ
            |		) КАК РегистрВнутренниеЗаказыОстатки";*/
                }
                //ЗапросСписокНоменклатуры = новый Запрос;
                //ЗапросСписокНоменклатуры.Текст = ТекстЗапросаПоНоменклатуре;
                //ЗапросСписокНоменклатуры.УстановитьПараметр("СсылкаЗаказ",Заказ);
                //Результат = ЗапросСписокНоменклатуры.Выполнить();
                if(true/*Результат.Пустой()*/)
                {
                }
                //Выборка = Результат.Выбрать();
                //МассивНоменклатуры = новый Массив;
                while(true/*Выборка.Следующий()*/)
                {
                    //МассивНоменклатуры.Добавить(Выборка.Номенклатура);
                }
                //;;
            }
            /*ТекстФильтраПоСкладам = "
            |(
            |	ВЫБРАТЬ
            |		ГруппыДоступности.Склад
            |	ИЗ
            |		РегистрСведений.СоставГруппДоступностиСкладов КАК ГруппыДоступности
            |	ГДЕ ГруппыДоступности.ГруппаДоступности = &ГруппаДоступностиСкладов)";*/
            //ЗапросСвободныйОстаток.УстановитьПараметр("МассивНоменклатуры",       МассивНоменклатуры);
            //ЗапросСвободныйОстаток.УстановитьПараметр("ГруппаДоступностиСкладов", ГруппаДоступностиСкладов);
            //ЗапросСвободныйОстаток.УстановитьПараметр( "Новый",       Справочники.Качество.Новый);
            if(true/*Авторезервирование*/)
            {
                //УсловиеСклад = "";
                if(true/*ЗначениеЗаполнено(ГруппаДоступностиСкладов)*/)
                {
                    //УсловиеСклад = " Склад В" + ТекстФильтраПоСкладам;
                    if(true/*ЕстьПредпочтительноеРазмещение*/)
                    {
                        //УсловиеСклад = УсловиеСклад+" ИЛИ Склад = &ПредпочтительноеРазмещение";
                    }
                }
                if(true/*ЕстьСкладЗаказчик*/)
                {
                    if(true/*УсловиеСклад = ""*/)
                    {
                        //УсловиеСклад = "Склад <> &СкладЗаказчик";
                    }
                }
                /*ЗапросСвободныйОстаток.Текст =
            "ВЫБРАТЬ РАЗРЕШЕННЫЕ
            |	ТоварыНаСкладахОстатки.Номенклатура,
            |	ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
            |	ТоварыНаСкладахОстатки.Склад                      КАК Размещение,
            |	NULL                                              КАК ТоварТара,
            |	NULL                                              КАК ДоговорКонтрагента,
            |	NULL                                              КАК СтатусПартии,
            |	ТоварыНаСкладахОстатки.КоличествоОстаток          КАК Количество,
            |	ТоварыОрганизацийОстатки.КоличествоОстаток        КАК ОстатокПоОрганизации,
            |	ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток  КАК КоличествоРазмещенное,
            |	ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток КАК КоличествоКПередаче,
            |	1                                                 КАК СортировкаРазмещение,"
            +?(ЕстьПредпочтительноеРазмещение, "
            |	ВЫБОР
            |		КОГДА ТоварыНаСкладахОстатки.Склад = &ПредпочтительноеРазмещение ТОГДА
            |			0
            |		ИНАЧЕ
            |			1
            |	КОНЕЦ"
            ,"0")+" 											  КАК СортировкаСклад,
            |	NULL                                              КАК ДатаПоступления
            |ИЗ
            |	РегистрНакопления.ТоварыНаСкладах.Остатки(,
            |		Номенклатура В (&МассивНоменклатуры) И Качество = &Новый
            |" + ?(УсловиеСклад<>""," И ("+УсловиеСклад+")","") + ") КАК ТоварыНаСкладахОстатки

            |ЛЕВОЕ СОЕДИНЕНИЕ
            |   РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Номенклатура В (&МассивНоменклатуры)) КАК ТоварыВРезервеНаСкладахОстатки
            |ПО ТоварыНаСкладахОстатки.Номенклатура                 = ТоварыВРезервеНаСкладахОстатки.Номенклатура
            |   И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
            |   И ТоварыНаСкладахОстатки.Склад                      = ТоварыВРезервеНаСкладахОстатки.Склад
            |ЛЕВОЕ СОЕДИНЕНИЕ
            |   РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, Номенклатура В (&МассивНоменклатуры) И Качество = &Новый ) КАК ТоварыКПередачеСоСкладовОстатки
            |ПО ТоварыНаСкладахОстатки.Номенклатура                 = ТоварыКПередачеСоСкладовОстатки.Номенклатура
            |   И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
            |   И ТоварыНаСкладахОстатки.Склад                      = ТоварыКПередачеСоСкладовОстатки.Склад
            |ЛЕВОЕ СОЕДИНЕНИЕ
            |	РегистрНакопления.ТоварыОрганизаций.Остатки(, Организация = &Организация И Номенклатура В (&МассивНоменклатуры) И Качество = &Новый) КАК ТоварыОрганизацийОстатки
            |ПО   ТоварыНаСкладахОстатки.Номенклатура               = ТоварыОрганизацийОстатки.Номенклатура
            |   И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ТоварыОрганизацийОстатки.ХарактеристикаНоменклатуры
            |";*/
            }
            if(true/*Авторезервирование И Авторазмещение*/)
            {
                /*ЗапросСвободныйОстаток.Текст = ЗапросСвободныйОстаток.Текст +
            "
            |ОБЪЕДИНИТЬ ВСЕ
            |";*/
            }
            if(true/*Авторазмещение*/)
            {
                //УсловиеСклад = "";
                if(true/*ЗначениеЗаполнено(ГруппаДоступностиСкладов)*/)
                {
                    //УсловиеСклад = " ЗаказПоставщику.Склад В" + ТекстФильтраПоСкладам;
                    if(true/*ЕстьПредпочтительноеРазмещение*/)
                    {
                        //УсловиеСклад = УсловиеСклад+" ИЛИ ЗаказПоставщику.Склад = &ПредпочтительноеРазмещение";
                    }
                }
                if(true/*ЕстьСкладЗаказчик*/)
                {
                    if(true/*УсловиеСклад = ""*/)
                    {
                        //УсловиеСклад = "ЗаказПоставщику.Склад <> &СкладЗаказчик";
                    }
                }
                /*ЗапросСвободныйОстаток.Текст = ЗапросСвободныйОстаток.Текст +
            "ВЫБРАТЬ " + ?(ЗапросСвободныйОстаток.Текст = "","РАЗРЕШЕННЫЕ","") + "
            |	ЗаказыПоставщикамОстатки.Номенклатура,
            |	ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры,
            |	ЗаказыПоставщикамОстатки.ЗаказПоставщику                 КАК Размещение,
            |	ОстаткиРазмещенных.ТоварТара,
            |	ЗаказыПоставщикамОстатки.ДоговорКонтрагента,
            |	ЗаказыПоставщикамОстатки.СтатусПартии,
            |	ЗаказыПоставщикамОстатки.КоличествоОстаток               КАК Количество,
            |	ЗаказыПоставщикамОстатки.КоличествоОстаток               КАК ОстатокПоОрганизации,
            |	ОстаткиРазмещенных.КоличествоОстаток                     КАК КоличествоРазмещенное,
            |	0                                                        КАК КоличествоКПередаче,
            |	0                                                        КАК СортировкаРазмещение,"+
            ?(ЕстьПредпочтительноеРазмещение,"
            |	ВЫБОР
            |		КОГДА ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад = &ПредпочтительноеРазмещение ТОГДА
            |			0
            |		ИНАЧЕ
            |			1
            |	КОНЕЦ","0")+"                                            КАК СортировкаСклад,
            |	ЗаказыПоставщикамОстатки.ЗаказПоставщику.ДатаПоступления КАК ДатаПоступления
            |ИЗ
            |	РегистрНакопления.ЗаказыПоставщикам.Остатки(,
            |		ЗаказПоставщику.ДатаПоступления <= &ДатаОтгрузки
            |		И ЗаказПоставщику.Организация = &Организация
            |		И Номенклатура В (&МассивНоменклатуры)
            |" + ?(УсловиеСклад<>""," И ("+УсловиеСклад+")","") + "
            |" + ?(ЕстьМассивСтатусовПартий," И СтатусПартии В (&СтатусПартии)","")+"
            |       ) КАК ЗаказыПоставщикамОстатки
            |ЛЕВОЕ СОЕДИНЕНИЕ
            |   РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки(, Номенклатура В (&МассивНоменклатуры)) КАК ОстаткиРазмещенных
            |ПО ЗаказыПоставщикамОстатки.Номенклатура                 = ОстаткиРазмещенных.Номенклатура
            |   И ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры = ОстаткиРазмещенных.ХарактеристикаНоменклатуры
            |   И ЗаказыПоставщикамОстатки.ЗаказПоставщику            = ОстаткиРазмещенных.ЗаказПоставщику
            |";*/
            }
            if(true/*Авторезервирование И Авторазмещение*/)
            {
                if(true/*СтратегияАвторезервирования = Перечисления.СтратегииАвторезервированияНоменклатуры.СначалаВЗаказахПоставщикамПотомНаСкладах*/)
                {
                    /*// Стратегия авторезервирования: Сначала в заказах поставщикам потом на складах
            */
                    /*ЗапросСвободныйОстаток.Текст = ЗапросСвободныйОстаток.Текст + "
            |УПОРЯДОЧИТЬ ПО                 // Определяет стратегию авторезервирования и авторазмещения
            |	СортировкаРазмещение,       // Сначала в заказах, потом на складах
            |	СортировкаСклад,            // Сначала предпочтительный склад, затем остальные
            |	ДатаПоступления УБЫВ,       // В порядке убывания дат отгрузки
            |	Размещение УБЫВ             // Заказы в обратном порядке";*/
                }
            }
            //Таблица = ЗапросСвободныйОстаток.Выполнить().Выгрузить();
            /*// Получим права пользователя на превышение остатков по организации.
            */
            //ПраваНаПревышениеОстатковПоОрганизации = УправлениеДопПравамиПользователей.РазрешеноПревышениеОстаткаТоваровОрганизации(Заказ.Организация);
            /*// Вычислим по каждой строке количества, которые можно разместить
            */
            //Сч = 0;
            while(true/*Сч < Таблица.Количество()*/)
            {
                //СтрокаТаблицы = Таблица.Получить(Сч);
                if(true/*СтрокаТаблицы.Количество <= 0*/)
                {
                    //Таблица.Удалить(СтрокаТаблицы);
                }
            }
            /*;

            ПустаяХарактеристикаНоменклатуры = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();*/
            /*// Вычтем из найденных остатков количество, размещение по которому явно указано
            */
            /*// в табличных частях документа. Для этого последовательно обойдем табличные части
            */
            /*// Товары и Возвратная тара.
            */
            /*// Заполним массив, хранящий две таблицы значений, соответствующих авторазмещению товаров и тары
            */
            //МассивТаблицСтрок = Новый Массив(2);
            /*// Изменяем табличную часть
            */
            if(true/*Параметры.РезервироватьПоСериям*/)
            {
                //ЗаполнитьПоСериям(Заказ, Товары,ИмяРеквизитаРазмещение,Параметры.Свойство("РезервированиеТоваров"));
            }
        }
УправлениеЗаказами