Подскажите пожалуйста, сформировал запросы для сверки ндс по счетам 62 и 76, строки не разбиваются подробно.
Сформировал запросы для сверки суммы НДС по счетам 62 и 76. У некоторых контрагентов строки не разбиваются подробно, тем самым показывая не правильные расчеты по НДС
У него получился одинаковый договор и одинаковый документ поступления, что сделал не так?
Запрос для счета 62.02
Запрос по 76.АВ
В первом запросе вытаскивает сумму Оборота (Общую сумму по документам)
Во втором вытягивает 3 строки и теряет третью строку как раз с недостающей суммой ндс
А вот как разбивает в книге покупок
У него получился одинаковый договор и одинаковый документ поступления, что сделал не так?
Запрос для счета 62.02
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотКт,
| ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
| ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Договор,
| ХозрасчетныйОстаткиИОбороты.Субконто3 КАК ДокументРасчетов
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дата1, &Дата2, , , , , ) КАК ХозрасчетныйОстаткиИОбороты
|ГДЕ
| ХозрасчетныйОстаткиИОбороты.Счет = &Счет1";
Если ЗначениеЗаполнено(ЭтотОбъект.Контрагент) Тогда
Запрос.Текст = Запрос.Текст + "
| И ХозрасчетныйОстаткиИОбороты.Субконто1 = &Субконто1";
Запрос.УстановитьПараметр("Субконто1", ЭтотОбъект.Контрагент);
Если ЗначениеЗаполнено(ЭтотОбъект.ДоговорКонтрагента) Тогда
Запрос.Текст = Запрос.Текст + "
| И ХозрасчетныйОстаткиИОбороты.Субконто2 = &Субконто2";
Запрос.УстановитьПараметр("Субконто2", ЭтотОбъект.ДоговорКонтрагента);
КонецЕсли;
КонецЕсли;
Запрос.УстановитьПараметр("Счет1",ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02"));
Запрос.УстановитьПараметр("Дата1", НачалоДня(ЭтотОбъект.НачалоПериода));
Запрос.УстановитьПараметр("Дата2", КонецДня(ЭтотОБъект.КонецПериода));
ТЗ1 = Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из ТЗ1 Цикл
//Найдем документы поступления по 62.02
Если (Найти(Стр.ДокументРасчетов, "Поступление на расч") > 0) И Стр.СуммаОборотДТ > 0 Тогда
А = ЭтотОбъект.Отчет.Добавить();
А.Контрагент = Стр.Контрагент;
А.Договор = Стр.Договор;
А.СуммаДокумента = Стр.СуммаОборотДт;
А.ДокументРасчетов = Стр.ДокументРасчетов;
КонецЕсли;
ПоказатьЗапрос по 76.АВ
Процедура ПолучитьЗаписиКнигиПокупокКредит()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| НДСЗаписиКнигиПокупок.СчетФактура КАК ДокументРасчетов,
| НДСЗаписиКнигиПокупок.СтавкаНДС,
| НДСЗаписиКнигиПокупок.ДоговорКонтрагента,
| НДСЗаписиКнигиПокупок.СуммаБезНДС КАК СуммаБезНДС,
| НДСЗаписиКнигиПокупок.НДС КАК НДС,
| НДСЗаписиКнигиПокупок.Поставщик КАК Контрагент,
| НДСЗаписиКнигиПокупок.ДатаСобытия
|ИЗ
| РегистрНакопления.НДСЗаписиКнигиПокупок КАК НДСЗаписиКнигиПокупок
|ГДЕ
| НДСЗаписиКнигиПокупок.Период МЕЖДУ &Дата1 И &Дата2";
Запрос.УстановитьПараметр("Дата1", НачалоДня(ЭтотОбъект.НачалоПериода));
Запрос.УстановитьПараметр("Дата2", КонецДня(ЭтотОбъект.КонецПериода));
ТЗПокупок = Запрос.Выполнить().Выгрузить();
//Установим НДС по документам из книги покупок
Для Каждого Струк из ЭтотОбъект.Отчет Цикл
ОтборНДС = Новый Структура;
ОтборНДС.Вставить("ДокументРасчетов",Струк.ДокументРасчетов);
ОтборНДС.Вставить("Контрагент",Струк.Контрагент);
ОтборНДС.Вставить("ДоговорКонтрагента",Струк.Договор);
МассНДС = ТЗПОкупок.НайтиСтроки(ОтборНДС);
Если МассНДС.Количество() > 0 Тогда
СтрМас1 = МассНДС.Получить(0);
Струк.СтавкаНДС = СтрМас1.СтавкаНДС;
КонецЕсли;
ПоказатьВ первом запросе вытаскивает сумму Оборота (Общую сумму по документам)
Во втором вытягивает 3 строки и теряет третью строку как раз с недостающей суммой ндс
А вот как разбивает в книге покупок
Прикрепленные файлы:
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не понял что конкретно у Вас не работает.
Из того что заметил. 1 запрос:
- (рекомендация) пользуйтесь СхемаЗапроса;
- Отбор закиньте в параметры виртуальной таблицы;
- Зачем Вам ОстаткиИОбороты если используете только Обороты?
- Группируйте по Контрагент, Договор, ДокументРасчетов.
2 запрос
- Группируйте
- по 1 документу могут быть несколько ставок НДС
Из того что заметил. 1 запрос:
- (рекомендация) пользуйтесь СхемаЗапроса;
- Отбор закиньте в параметры виртуальной таблицы;
- Зачем Вам ОстаткиИОбороты если используете только Обороты?
- Группируйте по Контрагент, Договор, ДокументРасчетов.
2 запрос
- Группируйте
- по 1 документу могут быть несколько ставок НДС
Повторюсь. По 1 документу могут быть несколько строк с записью в регистр НДСЗаписиКнигиПокупок
НайденныеСтроки= ТЗПОкупок.НайтиСтроки(ОтборНДС);
Если НайденныеСтроки.Количество() = 1 Тогда
Струк.СтавкаНДС = НайденныеСтроки[0].СтавкаНДС;
Иначе НайденныеСтроки.Количество() > 1 Тогда
Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл
// Отрабатываем вариант с несколькими строками
КонецЦикла;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот