Имя: Пароль:
1C
1С v8
Запрос Сумма по датам
0 Melan
 
17.06.13
12:26
Вот такой запрос:

ВЫБРАТЬ
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата,ДЕНЬ) КАК Дата,
   ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаДокумента
ИЗ
   Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ГДЕ
   Дата МЕЖДУ &ДатаОт И &ДатаДо
ИТОГИ
   СУММА(СуммаДокумента)
ПО
   Дата


получаем:

http://prntscr.com/1ae00t

что нужно изменить в запросе, чтобы получить только суммы?
1 zak555
 
17.06.13
12:27
итоги сумма

по ПЕриод (&ДатаОт И &ДатаДо, ДЕнь")
2 IШаман
 
17.06.13
12:27
Сам то понял что хочешь получить?
3 Wobland
 
17.06.13
12:29
(0) выкинуть дату
4 Melan
 
17.06.13
12:35
Сам я понял, что хочу получить.

Которую дату? если

ИТОГИ
   СУММА(СуммаДокумента)
ПО
   Дата

то синтаксическая ошибка
5 Wobland
 
17.06.13
12:36
(4) теперь нам расскажи
6 Melan
 
17.06.13
12:37
Сумму ПКО по датам за указанный период
7 Melan
 
17.06.13
12:38
*Суммы
8 zak555
 
17.06.13
12:38
ВЫБРАТЬ    
   ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаДокумента
ИЗ
   Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ГДЕ
   Дата МЕЖДУ &ДатаОт И &ДатаДо
ИТОГИ
   СУММА(СуммаДокумента)
ПО
    Период ПЕРИОДАМИ(ДЕНЬ,&ДатаОт,&ДатаДо)
9 Melan
 
17.06.13
12:40
zak555  результат: http://prntscr.com/1ae1k4
10 Галахад
 
гуру
17.06.13
12:41
(6) Гм. А по каким датам, если нужна только сумма?
11 Melan
 
17.06.13
12:42
суммы за каждую дату из указанного промежутка дат
12 Галахад
 
гуру
17.06.13
12:46
Так, что-ли?

ВЫБРАТЬ
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ) КАК Дата,
   СУММА(ПриходныйКассовыйОрдер.СуммаДокумента) КАК СуммаДокумента
ИЗ
   Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ГДЕ
   ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаОт И &ДатаДо

СГРУППИРОВАТЬ ПО
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ)
13 Ненавижу 1С
 
гуру
17.06.13
12:47
+(12) а чел смотрит на детальные записи
14 Melan
 
17.06.13
13:03
Галахад, Спасибо огроменное, все получилось! )
15 Melan
 
17.06.13
13:18
ВЫБРАТЬ
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ) КАК Дата,
   СУММА(ПриходныйКассовыйОрдер.СуммаДокумента) КАК СуммаДокумента
ИЗ
   Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ГДЕ
  ПриходныйКассовыйОрдер.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаОт,ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаДо,ДЕНЬ)
СГРУППИРОВАТЬ ПО
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ)
УПОРЯДОЧИТЬ ПО
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ)


Вот окончательный вариант запроса по теме. А то во многих темах бывет так: задали вопрос, а потом пишут, типа все разобрался... А в чем разобрался, как решил... никому не скажу )
16 Wobland
 
17.06.13
13:20
(15) теперь думай, что будет с результатом, когда в выборку попадёт помеченный на удаление документ
17 Wobland
 
17.06.13
13:21
+(16) и почему бы для твоей цели не употребить готовый регистр
18 Melan
 
17.06.13
13:23
я с 1с работаю через COM из Visual Studio, а чтобы в COM раскопать нужное, надо голову сломать, с отчетами (Кассовая книга к примеру) так и не разобрался как через COM сделать
19 Wobland
 
17.06.13
13:26
(18) запрос=v8.CreateObject("Запрос");
что-то этакое
20 Melan
 
17.06.13
13:27
угу
21 Melan
 
17.06.13
13:28
Dim user = "admin"
       Dim pas = "123"
       Dim file = "D:\Базы 1С\netTest"
       Dim com1s = New V82.COMConnector()
       com1s.PoolCapacity = 10
       com1s.PoolTimeout = 60
       com1s.MaxConnections = 2
       Dim result = com1s.Connect("File='" + file + "';Usr='" + user + "';pwd='" + pas + "';")
       Dim txtQv As String
       Dim txtDateOt As Date = CDate("20.12.2012")
       Dim txtDateDo As Date = CDate("25.12.2012")
       txtQv = "ВЫБРАТЬ " &
                   "НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ) КАК Дата, " &
                   "СУММА(ПриходныйКассовыйОрдер.СуммаДокумента) КАК СуммаДокумента " &
               "ИЗ " &
                   "Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер " &
               "ГДЕ " &
                   "ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаОт И &ДатаДо " &
               "СГРУППИРОВАТЬ ПО " &
                   "НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ) " &
               "УПОРЯДОЧИТЬ ПО " &
                   "НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ)"

       Dim docQv = result.newObject("Запрос")
       docQv.Text = txtQv
       docQv.УстановитьПараметр("ДатаОт", txtDateOt)
       docQv.УстановитьПараметр("ДатаДо", txtDateDo)
       Dim docRes = docQv.Execute()
       Dim docTZ = docRes.Выбрать()
22 Melan
 
17.06.13
13:34
ВЫБРАТЬ
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ) КАК Дата,
   СУММА(ПриходныйКассовыйОрдер.СуммаДокумента) КАК СуммаДокумента
ИЗ
   Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ГДЕ
  ПриходныйКассовыйОрдер.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаОт,ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаДо,ДЕНЬ)
  И ПриходныйКассовыйОрдер.ПометкаУдаления=ЛОЖЬ
  И ПриходныйКассовыйОрдер.Проведен=ИСТИНА
СГРУППИРОВАТЬ ПО
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ)
УПОРЯДОЧИТЬ ПО
   НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Дата, ДЕНЬ)

Вариант с проверкой на проведение и пометкой на удаление
23 Wobland
 
17.06.13
13:37
часто иногда проведённость исключает пометку удаления..
24 Wobland
 
17.06.13
13:38
а ещё документы можно записывать с флагом Проведён и без каких-либо движений в регистре
25 Melan
 
17.06.13
13:44
угу, исключает, вот только может быть и не проведен, но и не удален. а программу пишу для своих нужд, а то бухгалтерам заносить кассу некогда, занятые они.... в зуму играют, вот и пусть типа сисадмин вносит, у него свободного времени много, так раз и за год по трем ИП и сделал.... )
26 Melan
 
17.06.13
13:45
... а укаждого ИП по 5-7 магазинов )
Программист всегда исправляет последнюю ошибку.