Книга покупок

  • Автор темы mvv
  • Дата начала
M
#1
Добрый день, форумчане.
Ответьте мне на таокй вопрос, пожалуйста:
что должно попадать в книгу покупок в полу "Оплата". Мои бухи говорят, что у них графа "Дата оплаты СФ" не заполняется и, поэтому, книгу покупок в налогой не принимают. Посмтротрел, модуль формы Документа совпадает со стандартной 1С.

Вот что у меня:

//*****************************************************************************
Функция НоваяСтрокаКнигиПокупок(ДокОпл,Док,СтрокаТабУчтенныхСумм,ДатаНомерСФ = "")

ПроводкиДокумента = СоздатьОбъект("Операция");
ПроводкиДокумента.ИспользоватьСубконто(ВидыСубконто.СчетаФактурыПолученные, Док);
Если ПроводкиДокумента.ВыбратьОперацииСПроводками(ДокОпл,ДокОпл,"ЗПК") = 1 Тогда
НоваяСтрока();
ДатаНомерСчетаФактуры = ?(ПустоеЗначение(ДатаНомерСФ) = 0, ДатаНомерСФ, Док.ДатаНомерСчетаФактуры);
СчетФактура = Док.ТекущийДокумент();
Если (СчетФактура.ДатаДок < '01.01.2006') или (Док <> ДокОпл) Тогда
Оплата = ДокОпл.ТекущийДокумент();
КонецЕсли;

Если Док.Вид()="СчетФактураПолученный" Тогда
Приход = Док.ДокументОприходования;
Иначе
Приход = Док.ТекущийДокумент();
КонецЕсли;
Контрагент = Док.Контрагент;
ТипЗаписи = Перечисление.ТипыЗаписейКнигиПокупок.НДСАвто;
Авто = 1;

СуммоваяРазница = 0;

Пока ПроводкиДокумента.ПолучитьПроводку()=1 Цикл
Если ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.20.Б") Тогда
БезНДС20 = БезНДС20 + ПроводкиДокумента.Сумма;
ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.20.Н") Тогда
НДС20 = НДС20 + ПроводкиДокумента.Сумма;
ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.10.Б") Тогда
БезНДС10 = БезНДС10 + ПроводкиДокумента.Сумма;
ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.10.Н") Тогда
НДС10 = НДС10 + ПроводкиДокумента.Сумма;
ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.0") Тогда
НДС0 = НДС0 + ПроводкиДокумента.Сумма;
ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.БН") Тогда
Освобождаемые = Освобождаемые + ПроводкиДокумента.Сумма;
КонецЕсли;
КонецЦикла;

Всего = БезНДС20 + НДС20 + БезНДС10 + НДС10 + НДС0 + Освобождаемые;

Если ((ДокОпл.Вид() = "Выписка") или (ДокОпл.Вид() = "РасходныйОрдер"))
и (ДатаДок >= '01.05.2006') и (ДокОпл.ДатаДок >= '01.05.2006') Тогда
ПроводкиДокумента = СоздатьОбъект("Операция");
ПроводкиДокумента.ИспользоватьСубконто(ВидыСубконто.СчетаФактурыПолученные, Док);
Если ПроводкиДокумента.ВыбратьОперацииСПроводками(ДокОпл,ДокОпл,"19") = 1 Тогда
Пока ПроводкиДокумента.ПолучитьПроводку()=1 Цикл
Если ПроводкиДокумента.Д*цензура*.Счет.Родитель(1) = СчетПоКоду("19") Тогда
СуммоваяРазница = СуммоваяРазница + ПроводкиДокумента.Сумма
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;

Если ((СуммоваяРазница > 0 ) и (ОтражатьПоложительныеСуммовыеРазницыВДопЛисте = Да)) или
((СуммоваяРазница < 0 ) и (ОтражатьОтрицательныеСуммовыеРазницыВДопЛисте = Да)) Тогда
ПериодСФ = КонМесяца(Док.ДатаДок);
ПериодДокОпл = КонМесяца(ДокОпл.ДатаДок);
ЗаписьДопЛиста = ?((ПериодДокОпл <> ПериодСФ) и (ДокОпл.ДатаДок>='01.05.2006'),1,0);
ДатаДопЛиста = ?(ЗаписьДопЛиста = 1,Док.ДатаДок,"");
КонецЕсли;

Если Всего = 0 Тогда
УдалитьСтроку();

Иначе
ОтразитьУчтенныеСуммы(Док,СтрокаТабУчтенныхСумм);
Возврат 1;
КонецЕсли;
КонецЕсли;

Возврат 0;

КонецФункции


покупок в полу "Оплата"
т.е. в поле "Оплата"
 

puh14

Well-known member
11.07.2008
1 412
0
#2
дата документа Выписка или расходныйордер, который кроет СЧФ. Если банк не бьют - тогда и оплаты нет.
 
M
#3
дата документа Выписка или расходныйордер, который кроет СЧФ. Если банк не бьют - тогда и оплаты нет.

Да, но выражение

Если (СчетФактура.ДатаДок < '01.01.2006') или (Док <> ДокОпл) Тогда
Оплата = ДокОпл.ТекущийДокумент();
КонецЕсли;

говорит о другом - что оплаты показываются только у СФ до изменений в формированиях отгрузок
 

puh14

Well-known member
11.07.2008
1 412
0
#4
Так тебе нужны данные до 2006 года? Там по другому оплата считалась.Посмотри в древнем релизе до 2006 года.
а второе условие - всего-лишь проверка на ошибку, чтобы сам себя не покрыл.


оплаты показываются только у СФ до изменений в формированиях отгрузок
Ты имеешь в виду законодательные изменения, или изменения документа?
 
M
#5
Нет, мне нужны оплаты этого года. Тогда я не пойму где написано какую оплату ставить...
 
K
#6
посмотри в документе Формирование записей книги покупок, и Запись книги покупок - как заполняется поле документ оплаты
 

puh14

Well-known member
11.07.2008
1 412
0
#7
Когда ты формируешь документ Выписка или расходныйордер то указываешь какой документ кроешь, и дата документа Выписка или расходныйордер и является датой оплаты. Сумма берется из операций этого документа. Походу у тебя банк не били - тогда ниоткуда ты суммы с датами не вытащишь.