Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:02

Документы задним числом

Автор apx_egor, 25 апр 2016, 07:23

0 Пользователей и 1 гость просматривают эту тему.

apx_egor

Доброго всем дня. Прошу помощи в решении вопроса.Делаю отчет который показывает созданные/измененные документы задним числом. Не совсем работает корректно. На скринах пример по одному контрагенту. Документ был создан задним числом 22.01.16 на N сумму,потом несколько раз изменялся и вернулся к этой же сумме. Так вот вопрос в итоге из запроса в СуммаНач по данному периоду тянется не корректная сумма, СуммаНач должна быть 0 а СуммаКон последняя запись регистра.

Далее когда мы будем формировать отчет по другому периоду он должен брать первую сумму из регистра из данного периода и последнюю и показывать если были изменения в сумме, показать разницу.

Дата1 и Дата2, это период документов, которые мы хотем посмотреть, в данном случае Январь.
ДатаНачала и ДатаОкончания, период изменения документов.

Заранее благодарю за наводку на мою ошибку.

ВЫБРАТЬ
ВложенныйЗапрос.Документ.Контрагент КАК Поставщик,
ВложенныйЗапрос.Документ.Контрагент.ИНН КАК ПоставщикИНН,
ВложенныйЗапрос.Документ,
МАКСИМУМ(ВложенныйЗапрос.СуммаНач) КАК СуммаНач,
МАКСИМУМ(ВложенныйЗапрос.СуммаНДСНач) КАК СуммаНДСНач,
МАКСИМУМ(ВложенныйЗапрос.СуммаКон) КАК СуммаКон,
МАКСИМУМ(ВложенныйЗапрос.СуммаНДСКон) КАК СуммаНДСКон,
МАКСИМУМ(ВЫБОР
КОГДА ВложенныйЗапрос.СуммаНач <> ВложенныйЗапрос.СуммаКон
ТОГДА ВложенныйЗапрос.СуммаКон - ВложенныйЗапрос.СуммаНач
КОНЕЦ) КАК РазницаСумм,
МАКСИМУМ(ВЫБОР
КОГДА ВложенныйЗапрос.СуммаНДСНач <> ВложенныйЗапрос.СуммаНДСКон
ТОГДА ВложенныйЗапрос.СуммаНДСКон - ВложенныйЗапрос.СуммаНДСНач
КОНЕЦ) КАК РазницаНДС
ИЗ
(ВЫБРАТЬ
ЗапросНачальный.Документ КАК Документ,
МАКСИМУМ(ЗапросНачальный.СуммаНач) КАК СуммаНач,
МАКСИМУМ(ЗапросНачальный.СуммаНДСНач) КАК СуммаНДСНач,
МАКСИМУМ(ЗапросНачальный.СуммаКон) КАК СуммаКон,
МАКСИМУМ(ЗапросНачальный.СуммаНДСКон) КАК СуммаНДСКон,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗапросНачальный.Ответственный) КАК Ответственный
ИЗ
(ВЫБРАТЬ
ИсторияДокументовСрезПервых.Документ КАК Документ,
ИсторияДокументовСрезПервых.Сумма КАК СуммаНач,
ИсторияДокументовСрезПервых.СуммаНДС КАК СуммаНДСНач,
0 КАК СуммаКон,
0 КАК СуммаНДСКон,
ИсторияДокументовСрезПервых.Ответственный КАК Ответственный
ИЗ
РегистрСведений.ИсторияДокументов.СрезПервых(
&ДатаНачала,
НЕ ТИПЗНАЧЕНИЯ(Документ) = ТИП(Документ.РеализацияТоваровУслуг)
И СуммаНДС <> 0) КАК ИсторияДокументовСрезПервых

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ИсторияДокументовСрезПоследних.Документ,
0,
0,
ИсторияДокументовСрезПоследних.Сумма,
ИсторияДокументовСрезПоследних.СуммаНДС,
ИсторияДокументовСрезПоследних.Ответственный
ИЗ
РегистрСведений.ИсторияДокументов.СрезПоследних(
&ДатаОкончания,
НЕ ТИПЗНАЧЕНИЯ(Документ) = ТИП(Документ.РеализацияТоваровУслуг)
И СуммаНДС <> 0) КАК ИсторияДокументовСрезПоследних) КАК ЗапросНачальный

СГРУППИРОВАТЬ ПО
ЗапросНачальный.Документ) КАК ВложенныйЗапрос
ГДЕ
ВложенныйЗапрос.Документ.Дата <= &Дата2
И ВложенныйЗапрос.Документ.Дата >= &Дата1
И ВложенныйЗапрос.СуммаНДСНач <> ВложенныйЗапрос.СуммаНДСКон

СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Документ,
ВложенныйЗапрос.Документ.Контрагент,
ВложенныйЗапрос.Документ.Контрагент.ИНН


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск