Загрузка данных
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
Если РучнаяКорректировка Тогда
Возврат;
КонецЕсли;
ПараметрыПроведения = Документы.ПоступлениеНаРасчетныйСчет.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ
ТаблицаВзаиморасчетов = УчетВзаиморасчетов.ПодготовитьТаблицуВзаиморасчетовПогашениеЗадолженности(
ПараметрыПроведения.РасшифровкаПлатежа, ПараметрыПроведения.Реквизиты, Отказ);
ТаблицаВозвратОтПодотчетногоЛицаВВалюте = УчетДенежныхСредств.ПодготовитьТаблицуВозвратОтПодотчетногоЛицаВВалюте(
ПараметрыПроведения.ВозвратОтПодотчетногоЛицаВВалюте);
ТаблицаПрочихРасчетов = УчетВзаиморасчетов.ПодготовитьТаблицуПрочихРасчетовОплатаПокупателя(
ТаблицаВзаиморасчетов, ПараметрыПроведения.Реквизиты);
ТаблицыРасчетовДляУСН = Документы.ПоступлениеНаРасчетныйСчет.ПодготовитьТаблицыРасчетовДляУСН(
ПараметрыПроведения.Реквизиты, ТаблицаВзаиморасчетов, Отказ);
ТаблицаВзаиморасчетыУСН = ТаблицыРасчетовДляУСН.ТаблицаВзаиморасчетыУСН;
ТаблицаПрочихРасчетовУСН = ТаблицыРасчетовДляУСН.ТаблицаПрочихРасчетовУСН;
ТаблицаВозвратыПоВзаиморасчетамУСН = ТаблицыРасчетовДляУСН.ТаблицаВозвратыПоВзаиморасчетамУСН;
КУДиРПереквалификация = ТаблицыРасчетовДляУСН.КУДиРПереквалификация;
КУДиРПатент = ТаблицыРасчетовДляУСН.КУДиРПатент;
ТаблицаВзаиморасчетов = УчетВзаиморасчетов.ОчиститьСуммыСпециальныхРежимовПогашениеЗадолженности(
ПараметрыПроведения.Реквизиты, ТаблицаВзаиморасчетов, Отказ);
ТаблицаСуммовыхРазниц = УчетНДС.ПодготовитьТаблицуСуммовыхРазниц(ТаблицаВзаиморасчетов,
ПараметрыПроведения.Реквизиты, Отказ);
ТаблицаНДСПоРеализациямНеплательщика = УчетУСН.ПодготовитьТаблицуНДСПоРеализацииНеплательщиком(ТаблицаВзаиморасчетыУСН,
ПараметрыПроведения.Реквизиты);
// Структура таблиц для отражения в налоговом учете УСН
СтруктураТаблицУСН = Новый Структура("ТаблицаРасчетов, ТаблицаНДСПродажи, ПокупкаПродажаВалюты, КУДиРПереквалификация, КУДиРПатент",
ТаблицаВзаиморасчетыУСН, ТаблицаНДСПоРеализациямНеплательщика, ПараметрыПроведения.ПокупкаПродажаВалюты, КУДиРПереквалификация, КУДиРПатент);
// Разметка операций Автоматизированной УСН
ТаблицаРазметкиАУСН = РазметкаОперацийАУСН.ПодготовитьТаблицуПоступлениеДенежныхСредств(
ПараметрыПроведения.РеквизитыАУСН,
ТаблицаВзаиморасчетыУСН,
ТаблицаНДСПоРеализациямНеплательщика,
ПараметрыПроведения.РазметкаАУСНБанка);
// Учет доходов и расходов ИП
ТаблицаОплатПокупателяИП = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицуОплатыПокупателя(
ТаблицаВзаиморасчетов, ПараметрыПроведения.Реквизиты);
ТаблицыПоступленияОтПродажПоПлатежнымКартамИП =
УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицыПоступленияОтПродажПоПлатежнымКартам(
ПараметрыПроведения.РасшифровкаПлатежа,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
ТаблицыПоступленияОтФакторинговойКомпанииИП =
УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицыПоступленияОтФакторинговойКомпании(
ПараметрыПроведения.РасшифровкаПлатежа,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
ТаблицаУслугИП = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицуПоступленияМПЗ(
ПараметрыПроведения.ПоступлениеМПЗИПТаблицаУслуг,
ПараметрыПроведения.ПоступлениеМПЗИПРеквизиты);
СтруктураТаблицМПЗ = Новый Структура("ТаблицаУслуг", ТаблицаУслугИП);
// соберем таблицу прочих расчетов
Если ЗначениеЗаполнено(ТаблицаПрочихРасчетовУСН) Тогда
ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(ТаблицаПрочихРасчетовУСН, ТаблицаПрочихРасчетов);
КонецЕсли;
Если ЗначениеЗаполнено(ТаблицыПоступленияОтПродажПоПлатежнымКартамИП.ТаблицаПрочиеРасчеты) Тогда
ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(
ТаблицыПоступленияОтПродажПоПлатежнымКартамИП.ТаблицаПрочиеРасчеты, ТаблицаПрочихРасчетов);
КонецЕсли;
Если ЗначениеЗаполнено(ТаблицыПоступленияОтФакторинговойКомпанииИП.ТаблицаПрочиеРасчеты) Тогда
ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(
ТаблицыПоступленияОтФакторинговойКомпанииИП.ТаблицаПрочиеРасчеты, ТаблицаПрочихРасчетов);
КонецЕсли;
Если Не ПроведениеСервер.ГрупповоеПерепроведение(ЭтотОбъект) Тогда
ТаблицаСтатусовСчетов = СтатусыДокументов.ПодготовитьТаблицуСтатусовОплатыСчетов(
ПараметрыПроведения.ОплатаСчетов, ПараметрыПроведения.Реквизиты);
КонецЕсли;
// ФОРМИРОВАНИЕ ДВИЖЕНИЙ
УчетВзаиморасчетов.СформироватьДвиженияПоПрочимРасчетам(ТаблицаПрочихРасчетов, Движения, Отказ);
УчетВзаиморасчетов.СформироватьДвиженияПогашениеЗадолженности(ТаблицаВзаиморасчетов,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетВзаиморасчетов.СформироватьТолькоДвиженияПоСчетамУСНЗачетВозврата(ТаблицаВозвратыПоВзаиморасчетамУСН,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетВзаиморасчетов.СформироватьТолькоДвиженияПоСчетамУСНПогашениеЗадолженности(ТаблицаВзаиморасчетыУСН,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
НачалоПростогоУчета = ЕдиныйНалоговыйСчет.НачалоПростогоУчета();
Если Дата < НачалоПростогоУчета Тогда
ЕдиныйНалоговыйСчет.ЗарегистрироватьВозвратНаЕдиныйНалоговыйСчет(ПараметрыПроведения.Реквизиты,
ПараметрыПроведения.РасшифровкаПлатежаПрочее, Движения, Отказ);
КонецЕсли;
УчетДоходовРасходов.СформироватьДвиженияСуммовыеРазницыРасчетыВУЕ(ТаблицаСуммовыхРазниц,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетНДС.СформироватьДвиженияКурсовыеРазницы(ПараметрыПроведения.Реквизиты,
ТаблицаВзаиморасчетов, Движения, Отказ);
УчетНДС.СформироватьДвиженияСуммовыеРазницы(ТаблицаСуммовыхРазниц, ПараметрыПроведения.Реквизиты,
Движения, Отказ);
УчетДенежныхСредств.СформироватьДвиженияПродажаВалюты(ПараметрыПроведения.ПродажаВалюты,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетДенежныхСредств.СформироватьДвиженияПриобретениеВалюты(ПараметрыПроведения.ПриобретениеВалюты,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетДенежныхСредств.СформироватьДвиженияВозвратОтПодотчетногоЛицаВВалюте(
ТаблицаВозвратОтПодотчетногоЛицаВВалюте, Движения, Отказ);
УчетДенежныхСредств.СформироватьДвиженияПрочееПоступление(ПараметрыПроведения.РасшифровкаПлатежаПрочее,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетЗарплаты.СформироватьДвиженияПоВозвратамНалоговИВзносовСФОТ(ПараметрыПроведения.РасшифровкаПлатежаПрочее,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УставныйКапитал.СформироватьДвиженияВзносВУставныйКапитал(ПараметрыПроведения.ВзносВУставныйКапитал,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
НалоговыйУчетУСН.СформироватьДвиженияУСН(ЭтотОбъект, СтруктураТаблицУСН);
РазметкаОперацийАУСН.СформироватьДвиженияРазметки(ПараметрыПроведения.РеквизитыАУСН,
ТаблицаРазметкиАУСН, Движения);
// Учет доходов и расходов ИП
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияОплатаПокупателя(
ТаблицаОплатПокупателяИП,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияЗачетОплатыПокупателя(
ТаблицыПоступленияОтПродажПоПлатежнымКартамИП.ТаблицаИПМПЗОтгруженные,
ТаблицыПоступленияОтПродажПоПлатежнымКартамИП.ТаблицаВзаиморасчеты,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияЗачетОплатыПокупателя(
ТаблицыПоступленияОтФакторинговойКомпанииИП.ТаблицаИПМПЗОтгруженные,
ТаблицыПоступленияОтФакторинговойКомпанииИП.ТаблицаВзаиморасчеты,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияПоступлениеМПЗ(
СтруктураТаблицМПЗ,
ПараметрыПроведения.ПоступлениеМПЗИПТаблицаВзаиморасчетов,,
ПараметрыПроведения.ПоступлениеМПЗИПРеквизиты, Движения, Отказ);
// Переоценка валютных остатков - после формирования проводок всеми другими механизмами
ТаблицаПереоценка = УчетДоходовРасходов.ПодготовитьТаблицуПереоценкиДвиженийДокумента(
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетДоходовРасходов.СформироватьДвиженияПереоценкаВалютныхОстатков(ТаблицаПереоценка,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетДоходовРасходов.СформироватьДвиженияРасчетПереоценкиВалютныхСредств(ТаблицаПереоценка,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетУСН.СформироватьДвиженияПереоценкаВалютныхОстатков(ТаблицаПереоценка,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
СтатусыДокументов.СформироватьДвиженияОплатаСчетов(
ПараметрыПроведения.ОплатаСчетов, ПараметрыПроведения.Реквизиты, Движения, Отказ);
Если Не ПроведениеСервер.ГрупповоеПерепроведение(ЭтотОбъект) Тогда
СтатусыДокументов.СформироватьДвиженияСтатусовДокументов(
ТаблицаСтатусовСчетов, ПараметрыПроведения.Реквизиты);
ТаблицаЗадачОплатыУставногоКапитала = ВыполнениеЗадачБухгалтера.ЗадачиПоОплатеУставногоКапитала(Организация);
Если ТаблицаЗадачОплатыУставногоКапитала.Количество() > 0 Тогда
СтатусОплатыУставногоКапитала = УставныйКапитал.СтатусОплатыУставногоКапиталаПоДаннымДокумента(
ПараметрыПроведения.ВзносВУставныйКапитал,
ПараметрыПроведения.Реквизиты);
ВыполнениеЗадачБухгалтера.ОбновитьСтатусОплатыУставногоКапитала(
ТаблицаЗадачОплатыУставногоКапитала, СтатусОплатыУставногоКапитала);
КонецЕсли;
КонецЕсли;
// Отложенные расчеты с контрагентами.
УчетВзаиморасчетовОтложенноеПроведение.ЗарегистрироватьОтложенныеРасчетыСКонтрагентами(
ЭтотОбъект, Отказ, ПараметрыПроведения.РасчетыСКонтрагентамиОтложенноеПроведение);
// Регистрация в последовательности
РаботаСПоследовательностями.ЗарегистрироватьОтложенныеРасчетыВПоследовательности(
ЭтотОбъект, Отказ, ПараметрыПроведения.РасчетыСКонтрагентамиОтложенноеПроведение);
ПроведениеСервер.УстановитьЗаписьОчищаемыхНаборовЗаписей(ЭтотОбъект);