V82.ОбщиеМодули.УправлениеДенежнымиСредствами.ПровестиСписаниеДенежныхСредствУпр C# (CSharp) Method

ПровестиСписаниеДенежныхСредствУпр() public method

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