V82.ОбщиеМодули.УправлениеЗапасамиРасширеннаяАналитика.ДобавитьПроводку C# (CSharp) 메소드

ДобавитьПроводку() 공개 메소드

public ДобавитьПроводку ( ) : void
리턴 void
        public void ДобавитьПроводку(/*СтруктураПараметров, ИмяРегистра, Движение,КэшПоИерархииСчетов, Сумма, ВидУчета = Неопределено*/)
        {
            /*//Проверим, чтобы не было проводки между балансовым и забалансовым счетом
            */
            if(true/*ИмяРегистра = "Хозрасчетный" И
              ((ЗначениеЗаполнено(Движение.СчетУчета) И Движение.СчетУчета.Забалансовый
              И ЗначениеЗаполнено(Движение.КорСчетУчета) И НЕ Движение.КорСчетУчета.Забалансовый)
              ИЛИ (ЗначениеЗаполнено(Движение.КорСчетУчета) И Движение.КорСчетУчета.Забалансовый
              И ЗначениеЗаполнено(Движение.СчетУчета) И НЕ Движение.СчетУчета.Забалансовый))*/)
            {
                //Отказ = Ложь;
                //Заголовок = "Проведение документа """ + СокрЛП(СтруктураПараметров.Ссылка) + """: ";
                /*ОбщегоНазначения.СообщитьОбОшибке("Корреспонденция между балансовыми и забалансовыми счетами не допустима!
            |Проводка Дт " + Движение.СчетУчета + " Кт " + Движение.КорСчетУчета + " сформирована не будет",Отказ, Заголовок);*/
            }
            //Проводка = СтруктураПараметров.Движения[ИмяРегистра].Добавить();
            if(true/*ИмяРегистра = "Хозрасчетный"*/)
            {
                //Количество = Движение.Количество;
            }
            /*// Заполняем вид учета
            */
            if(true/*ИмяРегистра = "Налоговый" И ВидУчета <> Неопределено*/)
            {
                //Проводка.ВидУчетаКт = ВидУчета;
                /*// Вид учета Дт может отличаться от вида учета в Кт в следующих случаях:
            */
                /*// - если речь о расходах, не учитываемых в НУ
            */
                if(true/*(ТипЗНЧ(Движение) <> Тип("Структура"))
            И ЕстьРеквизитВТаблицеДвижений(Движение,"КорСтатьяЗатрат")
            И ЗначениеЗаполнено(Движение.КорСтатьяЗатрат)
            И Движение.КорСтатьяЗатрат.ВидРасходовНУ = Перечисления.ВидыРасходовНУ.НеУчитываемыеВЦеляхНалогообложения*/)
                {
                    //НеУчитываемые = Истина;
                }
                /*// - если временную разницу в доходах (расходах) отразить нельзя
            */
                /*ОтразитьПостояннуюРазницуВДоходах =
            ЕстьРеквизитВТаблицеДвижений(Движение,"СчитатьРазницыПостоянными")
            И ЗначениеЗаполнено(Движение.СчитатьРазницыПостоянными)
            И Движение.СчитатьРазницыПостоянными;*/
                if(true/*(НеУчитываемые И ВидУчета = Перечисления.ВидыУчетаПоПБУ18.НУ)
                ИЛИ (ОтразитьПостояннуюРазницуВДоходах И ВидУчета = Перечисления.ВидыУчетаПоПБУ18.ВР)*/)
                {
                    //Проводка.ВидУчетаДт = Перечисления.ВидыУчетаПоПБУ18.ПР;
                }
            }
            //Проводка.Период = СтруктураПараметров.Дата;
            /*// Исправительная запись может выполняться предыдущим периодом
            */
            if(true/*ЕстьРеквизитВТаблицеДвижений(Движение,"ДатаИсправительнойЗаписи")
            И ЗначениеЗаполнено(Движение.ДатаИсправительнойЗаписи)*/)
            {
                //Проводка.Период = Движение.ДатаИсправительнойЗаписи;
            }
            //Проводка.Регистратор   = СтруктураПараметров.Ссылка;
            //Проводка.Активность    = Истина;
            //Проводка.Организация   = Движение.Организация;
            if(true/*ИмяРегистра = "Хозрасчетный"*/)
            {
                //Проводка.СчетКт    	= Движение.СчетУчета;
                //Проводка.СчетДт		= Движение.КорСчетУчета;
                //ЗаполнитьСубконтоПоСписаниюТоваровРеглРасширеннаяАналитика(Проводка, Движение, КэшПоИерархииСчетов, "Бух");
            }
            //Проводка.Сумма = Сумма;
            if(true/*Проводка.СчетКт.Количественный*/)
            {
                if(true/*НЕ НалоговыеРазницы(ВидУчета)*/)
                {
                    //Проводка.КоличествоКт  = Количество;
                }
            }
            /*// Количество
            */
            if(true/*ЗначениеЗаполнено(Проводка.СчетДт)*/)
            {
                if(true/*Проводка.СчетДт.Количественный*/)
                {
                    if(true/*НЕ НалоговыеРазницы(ВидУчета)*/)
                    {
                        if(true/*ИмяРегистра = "Хозрасчетный"*/)
                        {
                            if(true/*ЕстьРеквизитВТаблицеДвижений(Движение,"КоличествоПолучатель")*/)
                            {
                                //Проводка.КоличествоДт  = Движение.КоличествоПолучатель;
                            }
                        }
                    }
                }
                if(true/*ИмяРегистра = "Хозрасчетный" И Проводка.СчетДт.Валютный*/)
                {
                    if(true/*ЕстьРеквизитВТаблицеДвижений(Движение,"СуммаВал")*/)
                    {
                        //Проводка.ВалютнаяСуммаДт  = Движение.СуммаВал;
                    }
                    if(true/*ЕстьРеквизитВТаблицеДвижений(Движение,"Валюта")*/)
                    {
                        //Проводка.ВалютаДт  = Движение.Валюта;
                    }
                }
            }
            if(true/*ЗначениеЗаполнено(Проводка.СчетКт)*/)
            {
                if(true/*ИмяРегистра = "Хозрасчетный" И Проводка.СчетКт.Валютный*/)
                {
                    if(true/*ЕстьРеквизитВТаблицеДвижений(Движение,"СуммаВал")*/)
                    {
                        //Проводка.ВалютнаяСуммаКт  = Движение.СуммаВал;
                    }
                    if(true/*ЕстьРеквизитВТаблицеДвижений(Движение,"Валюта")*/)
                    {
                        //Проводка.ВалютаКт  = Движение.Валюта;
                    }
                }
            }
            /*// В проводке должна отличаться аналитика и быть заполнен хотя бы один ресурс
            */
            /*НезначащаяПроводка =
            СовпадаетАналитикаДтКт(Проводка)
            ИЛИ ((Проводка.Сумма = 0) И (Проводка.КоличествоДт = 0) И (Проводка.КоличествоКт = 0));*/
            /*// Как правило, должны быть заполнены оба счета ...
            */
            //ПустыеСчета = (НЕ ЗначениеЗаполнено(Проводка.СчетДт)) ИЛИ (НЕ ЗначениеЗаполнено(Проводка.СчетКт));
            /*// ... но для НУ есть исключения
            */
            if(true/*ПустыеСчета И ИмяРегистра = "Налоговый"*/)
            {
                /*// Если проводка по разницам, то достаточно, чтобы был заполнен хотя бы один счет
            */
                if(true/*ЗначениеЗаполнено(Проводка.СчетДт) И НалоговыеРазницы(Проводка.ВидУчетаДт)*/)
                {
                    //ПустыеСчета = Ложь;
                }
            }
            if(true/*НезначащаяПроводка ИЛИ ПустыеСчета*/)
            {
                //СтруктураПараметров.Движения[ИмяРегистра].Удалить(Проводка);
            }
            //СтруктураПараметровДляСодержания = Новый Структура("КодыОпераций, ТипЗначенияРегистратора",Перечисления.КодыОперацийПартииТоваров, ТипЗНЧ(СтруктураПараметров.Ссылка));
            //СтрокаДвиженияДляСодержания = Новый Структура("КодОперацииПартииТоваров",Движение.КодОперации);
            //Проводка.Содержание = УправлениеЗапасамиПартионныйУчетФормированиеПроводокРегл.ПолучитьСодержаниеПроводки(СтрокаДвиженияДляСодержания, СтруктураПараметровДляСодержания);
        }
УправлениеЗапасамиРасширеннаяАналитика