V82.ОбщиеМодули.Ценообразование.ПолучитьЦенуНоменклатуры C# (CSharp) Method

ПолучитьЦенуНоменклатуры() public method

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