V82.ОбщиеМодули.УправлениеДопПравамиПользователей.ПроверитьДопустимостьЦенОтпуска C# (CSharp) Method

ПроверитьДопустимостьЦенОтпуска() public method

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