1. Для нормального заполнения Книги покупок в разделе "Зачет НДС с авансов" нужны обороты по регистру НДС Продажи (естественно по тем СФ, где есть остатки на дату свертки).
Примерный код после свертки на 01.01.2015:
//реквизит обработки ОперБух - операция в которую будем вставлять движения
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Сч76",ПланыСчетов.Хозрасчетный.НДСпоАвансамИПредоплатам);
Запрос.УстановитьПараметр("Сч62",ПланыСчетов.Хозрасчетный.РасчетыПоАвансамПолученным);
Запрос.УстановитьПараметр("ДатО",Дата("20150101000000"));
Запрос.Текст = "ВЫБРАТЬ
| ХозрасчетныйОстатки76.Субконто1 КАК Контрагент,
| ХозрасчетныйОстатки76.Субконто2 КАК ДокСФ,
| СУММА(ХозрасчетныйОстатки76.СуммаОстаток) КАК Остаток76,
| СУММА(ЕСТЬNULL(ХозрасчетныйОстатки62.СуммаОстатокКт, 0)) КАК Остаток62
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатО, Счет = &Сч76, , ) КАК ХозрасчетныйОстатки76
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатО, Счет = &Сч62, , ) КАК ХозрасчетныйОстатки62
| ПО ХозрасчетныйОстатки76.Субконто1 = ХозрасчетныйОстатки62.Субконто1
| И ХозрасчетныйОстатки76.Субконто2 = ХозрасчетныйОстатки62.Субконто3
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОстатки76.Субконто1,
| ХозрасчетныйОстатки76.Субконто2
|
|УПОРЯДОЧИТЬ ПО
| Контрагент,
| ДокСФ";
ТабРез = Запрос.Выполнить().Выгрузить();
НаборЗаписей = РегистрыНакопления.НДСЗаписиКнигиПродаж.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ОперБух);
НаборЗаписей.Записать();
ОперБухОб = ОперБух.ПолучитьОбъект();
Если ОперБух.ТаблицаРегистровНакопления.Найти("НДСЗаписиКнигиПродаж","Имя") = Неопределено Тогда
СтрРег = ОперБухОб.ТаблицаРегистровНакопления.Добавить();
СтрРег.Имя = "НДСЗаписиКнигиПродаж";
СтрРег.Представление = "НДС Продажи";
ОперБухОб.Записать();
КонецЕсли;
Для Каждого СтрДок из ТабРез Цикл
Если СтрДок.ДокСФ.Дата < Дата("20110101000000") Тогда //была другая система учета ндс с авансов
Продолжить;
КонецЕсли;
Если СтрДок.Остаток76 <= 0 Тогда
Продолжить;
КонецЕсли;
ЗаписьНабора = НаборЗаписей.Добавить();
ЗаписьНабора.Активность = Истина;
ЗаписьНабора.Период = СтрДок.ДокСФ.Дата;
ЗаписьНабора.ВидЦенности = Перечисления.ВидыЦенностей.АвансыПолученные;
ЗаписьНабора.Организация = СтрДок.ДокСФ.Организация;
ЗаписьНабора.Покупатель = СтрДок.ДокСФ.Контрагент;
ЗаписьНабора.СчетФактура = СтрДок.ДокСФ.Ссылка;
ЗаписьНабора.СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118;
ЗаписьНабора.ДатаОплаты = СтрДок.ДокСФ.Дата;
ЗаписьНабора.ДокументОплаты = СтрДок.ДокСФ.Ссылка;
ЗаписьНабора.Событие = Перечисления.СобытияПоНДСПродажи.ПолученАванс;
ЗаписьНабора.ДатаСобытия = СтрДок.ДокСФ.Дата;
Попытка
ЗаписьНабора.ДоговорКонтрагента = СтрДок.ДокСФ.РасшифровкаПлатежа[0].ДоговорКонтрагента; //когда документсф - Поступление на расчетный счет
Исключение
ЗаписьНабора.ДоговорКонтрагента = СтрДок.ДокСФ.ДоговорКонтрагента; //когда документсф - документ расчетов с контрагентом
КонецПопытки;
Если СтрДок.Остаток62 > 0 Тогда
ЗаписьНабора.СуммаБезНДС = СтрДок.Остаток62-СтрДок.Остаток76;// СтрДок.ДокСФ.СуммаДокумента;
Иначе
ЗаписьНабора.СуммаБезНДС = СтрДок.Остаток76*100/18;// СтрДок.ДокСФ.СуммаДокумента;
КонецЕсли;
ЗаписьНабора.НДС = СтрДок.Остаток76; //СтрДок.ДокСФ.РасшифровкаПлатежа[0].СуммаНДС;
ЗаписьНабора.ДатаДокументаОплаты = СтрДок.ДокСФ.ДатаВходящегоДокумента;
ЗаписьНабора.НомерДокументаОплаты = СтрДок.ДокСФ.НомерВходящегоДокумента;
КонецЦикла;
НаборЗаписей.Записать();
Показать
2. При пакетном формировании СФ на аванс вылезают и по прошлым периодам. Чтобы этого избежать - необходимо снять пометки удаления с СФ из пункта 1