M
mvv
Добрый день, форумчане.
Ответьте мне на таокй вопрос, пожалуйста:
что должно попадать в книгу покупок в полу "Оплата". Мои бухи говорят, что у них графа "Дата оплаты СФ" не заполняется и, поэтому, книгу покупок в налогой не принимают. Посмтротрел, модуль формы Документа совпадает со стандартной 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;
КонецФункции
покупок в полу "Оплата"
т.е. в поле "Оплата"
Ответьте мне на таокй вопрос, пожалуйста:
что должно попадать в книгу покупок в полу "Оплата". Мои бухи говорят, что у них графа "Дата оплаты СФ" не заполняется и, поэтому, книгу покупок в налогой не принимают. Посмтротрел, модуль формы Документа совпадает со стандартной 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;
КонецФункции
покупок в полу "Оплата"
т.е. в поле "Оплата"