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

Тема в разделе "1C и всё что с ней связано", создана пользователем mvv, 8 июн 2009.

  1. mvv

    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;

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


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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    дата документа Выписка или расходныйордер, который кроет СЧФ. Если банк не бьют - тогда и оплаты нет.
     
  3. mvv

    mvv Гость

    дата документа Выписка или расходныйордер, который кроет СЧФ. Если банк не бьют - тогда и оплаты нет.

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

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

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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Так тебе нужны данные до 2006 года? Там по другому оплата считалась.Посмотри в древнем релизе до 2006 года.
    а второе условие - всего-лишь проверка на ошибку, чтобы сам себя не покрыл.


    Ты имеешь в виду законодательные изменения, или изменения документа?
     
  5. mvv

    mvv Гость

    Нет, мне нужны оплаты этого года. Тогда я не пойму где написано какую оплату ставить...
     
  6. kaa

    kaa Гость

    посмотри в документе Формирование записей книги покупок, и Запись книги покупок - как заполняется поле документ оплаты
     
  7. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Когда ты формируешь документ Выписка или расходныйордер то указываешь какой документ кроешь, и дата документа Выписка или расходныйордер и является датой оплаты. Сумма берется из операций этого документа. Походу у тебя банк не били - тогда ниоткуда ты суммы с датами не вытащишь.
     
  8. mvv

    mvv Гость

    Понял, огромное спасибо.
     
Загрузка...

Поделиться этой страницей