Имя: Пароль:
1C
1С v8
Кассовая книга
0 tertva_1C
 
26.09.11
08:24
Всем привет, переписываю запрос по документам кассовой книги, чтобы туда помимо ПКО и РКО попадали документы ОперацияБУХ, запрос такой :

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

УПОРЯДОЧИТЬ ПО
   День,
   ЭтоПКО УБЫВ,
   НомерДок,
   ДатаДок,
   Документ
ИТОГИ ПО
   ОБЩИЕ,
   День,
   Документ,
   Счет
АВТОУПОРЯДОЧИВАНИЕ

В принципе он все выбирает так как надо, но в ТЗ в полях приход и расход есть строки со значением NULL как от них избавиться ? ЕСТЬNULL(КассовыеДокументы.Документ.СуммаДокумента, 0) не работает....
1 tertva_1C
 
26.09.11
09:21
!АП
2 tertva_1C
 
26.09.11
10:06
Что нет ни каких мыслей ?
3 Naumov
 
26.09.11
10:25
есть мысль, что ручные операции не должны попадать в кассовую книгу
4 tertva_1C
 
26.09.11
10:31
АГА ты это ГБ объясни..., в общем поля относимые к Расходу и Приходу надо отразить в суммируемых полях в группировке, и все тогда работает