Вот порядок реализации
1. Для каждого бухгалтерского счета на кототом есть предоплата создаем аналогичный забалансовый налоговый счет добавлением впереди кода символа "Н"
Например: 361-Н361, 631-Н631
2. Создаем операцию по каждому налоговому счету с авансами (для Счетов расчета с покупателями это "кредит", а поставщиками - "дебет")
3. В модуле документа рассчитываем предоплату по такому налоговому счету стандартной процедурой (она должна быть не больше суммы документа).
4. И если предоплата есть устанавливаем программно отклонения в реквизитах документа. И вводим проводку которая закрывает налоговый счет на сумму такой предоплаты
Процедуры глобального модуля
Процедура А1_ОбработатьПредоплатуПоставщикаДоНКУ(Конт,УчитыватьОтклоненияДляНалогаНаПрибыль,СчетКонтрагента,Контрагент,ПервыйДок,Фирма,Валюта,ВидНДС,СуммаУменьшенияСебестоимостиДляНалогаНаПрибыль) Экспорт
//А1 для учета предоплаты при переходе на НКУ
Если (УчитыватьОтклоненияДляНалогаНаПрибыль=0)или((УчитыватьОтклоненияДляНалогаНаПрибыль=2)и(СуммаУменьшенияСебестоимостиДляНалогаНаПрибыль<>0)) Тогда
СуммаОдоНКУ = 0; НДСОдоНКУ = 0;
СчетКонтрагентаУчетаПредоплатыДОкНКУ=СчетПоКоду("Н"+СокрЛП(СчетКонтрагента));
Если СчетКонтрагентаУчетаПредоплатыДОкНКУ.Код<>"" Тогда
глРассчитатьСуммуПредварительнойОплаты(Конт.ТекущийДокумент(),Контрагент,СчетКонтрагентаУчетаПредоплатыДОкНКУ,Валюта,ВидНДС,СуммаОдоНКУ,НДСОдоНКУ,"Дебет",ПервыйДок,Фирма);
Если СуммаОдоНКУ>0 Тогда
//СуммаВтороеСобытиедоНКУ = Мин(Конт.Итог("СуммаБезНДС"),(СуммаОдоНКУ - НДСОдоНКУ));
СуммаВтороеСобытиедоНКУ = Мин(Окр(Конт.Итог("СуммаСНДС"),2,1),СуммаОдоНКУ);
глПроводка(Конт,,СчетКонтрагентаУчетаПредоплатыДОкНКУ,СуммаВтороеСобытиедоНКУ,"Закрыли предоплату поставщика",,,,,Контрагент,ПервыйДок,,,,"ПП");
Если Конт.Вид()="ПриходнаяНакладная" Тогда
Если Конт.ЧтоПриходуем<>Перечисление.ЧтоПриходуем.ТМЦ Тогда
Если (СуммаУменьшенияСебестоимостиДляНалогаНаПрибыль<>0)и(УчитыватьОтклоненияДляНалогаНаПрибыль<>0) Тогда
глКомментарий("Возможно ошибочно учтена введено налоговое отклонение: "+СуммаУменьшенияСебестоимостиДляНалогаНаПрибыль+" грн. Поставщик: "+Контрагент+", документ: "+Конт.ТекущийДокумент(),,Конт,"!");
КонецЕсли;
Возврат;
КонецЕсли;
КонецЕсли;
УчитыватьОтклоненияДляНалогаНаПрибыль=2;
Конт.УчитыватьОтклоненияДляНалогаНаПрибыль=2;
СуммаУменьшенияСебестоимостиДляНалогаНаПрибыль = СуммаВтороеСобытиедоНКУ;
Конт.СуммаУменьшенияСебестоимостиДляНалогаНаПрибыль = СуммаВтороеСобытиедоНКУ;
глКомментарий("Учтена предоплата поставщику на 01.04.2011: "+СуммаВтороеСобытиедоНКУ+" грн. Осталось закрыть: "+(СуммаОдоНКУ-СуммаВтороеСобытиедоНКУ)+" грн. Поставщик: "+Контрагент+", документ: "+Конт.ТекущийДокумент(),,Конт);
КонецЕсли;
КонецЕсли;
КонецЕсли;
//А1
КонецПроцедуры
Процедура А1_ОбработатьПредоплатуПокупателяДоНКУ(Конт,УчитыватьОтклоненияДляНалогаНаПрибыль,СчетКонтрагента,Контрагент,ПервыйДок,Фирма,Валюта,ВидНДС,СуммаУменьшенияДоходовДляНалогаНаПрибыль) Экспорт
//А1 для учета предоплаты при переходе на НКУ
СуммаОдоНКУ = 0; НДСОдоНКУ = 0;
СчетКонтрагентаУчетаПредоплатыДОкНКУ=СчетПоКоду("Н"+СокрЛП(СчетКонтрагента));
Если СчетКонтрагентаУчетаПредоплатыДОкНКУ.Код<>"" Тогда
глРассчитатьСуммуПредварительнойОплаты(Конт.ТекущийДокумент(),Контрагент,СчетКонтрагентаУчетаПредоплатыДОкНКУ,Валюта,ВидНДС,СуммаОдоНКУ,НДСОдоНКУ,"Кредит",ПервыйДок,Фирма);
Если СуммаОдоНКУ>0 Тогда
СуммаВтороеСобытиедоНКУ = Мин(Окр(Конт.Итог("СуммаСНДС"),2,1),СуммаОдоНКУ);
УчитыватьОтклоненияДляНалогаНаПрибыль=1;
СуммаУменьшенияДоходовДляНалогаНаПрибыль = СуммаВтороеСобытиедоНКУ;
Конт.УчитыватьОтклоненияДляНалогаНаПрибыль=1;
Конт.СуммаУменьшенияДоходовДляНалогаНаПрибыль = СуммаВтороеСобытиедоНКУ;
глПроводка(Конт,СчетКонтрагентаУчетаПредоплатыДОкНКУ,,СуммаВтороеСобытиедоНКУ,"Закрыли предоплату покупателя",,Контрагент,ПервыйДок,,,,,,,"ПП");
глКомментарий("Учтена предоплата покупателя на 01.04.2011 в сумме: "+СуммаВтороеСобытиедоНКУ+" грн. Осталось закрыть: "+(СуммаОдоНКУ-СуммаВтороеСобытиедоНКУ)+" грн. Поставщик: "+Контрагент+", документ: "+Конт.ТекущийДокумент(),,Конт);
КонецЕсли;
КонецЕсли;
//А1
КонецПроцедуры