Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Помогите разобраться с запросом

Помогите разобраться с запросом
Я
   mrleo
 
12.12.17 - 11:35
Не пойму в чем проблема. Запрос выглядит следующим образом:
Запрос.Текст =
"ВЫБРАТЬ
|    КорректировкаДолга.Ссылка,
|   СУММА(КорректировкаДолга.ДебиторскаяЗадолженность.Сумма) КАК СуммаКорректировки
|ИЗ 
|    Документ.КорректировкаДолга КАК КорректировкаДолга 
|ГДЕ 
|    КорректировкаДолга.КонтрагентДебитор В ИЕРАРХИИ (&ГрупКонтр)
|    И 
|    КорректировкаДолга.Ссылка.Дата >= &ДатаНач 
|    И 
|    КорректировкаДолга.Ссылка.Дата <= &ДатаКон"; 
Обращение к дате выполняется
Стр.Дат = Формат(Выборка.Ссылка.Дата,"ДЛФ=Д");
При обращении к СуммаКорректировки выдается ошибка - поле СуммаКорректировки не обнаружено
Стр.Сумм = Выборка.Ссылка.СуммаКорректировки;
В чем тут проблема?
 
 
   silent person
 
1 - 12.12.17 - 11:38
может так
Стр.Сумм = Выборка.СуммаКорректировки;
   Симпатяга
 
2 - 12.12.17 - 11:38
(0) Стр.Сумм = Выборка.СуммаКорректировки
   mrleo
 
3 - 12.12.17 - 11:41
(1),(2) В этом случае запрос выполняется, а сумма нулевая, хотя для этой даты она не равна нулю
   Петрович 2018
 
4 - 12.12.17 - 11:42
(0) Попробуй НАЧАЛОПЕРИОДА(&ДатаНач, ДЕНЬ) и КОНЕЦПЕРИОДА(&ДатаКон, ДЕНЬ)
   hhhh
 
5 - 12.12.17 - 11:44
(3) попробуй
|ИЗ 
|    Документ.КорректировкаДолга.ДебиторскаяЗадолженность
   mrleo
 
6 - 12.12.17 - 12:05
(4) с датами все в порядке
(5) такой вариант не проходит, т.к. в этом случае не идет строка запроса
 КорректировкаДолга.КонтрагентДебитор В ИЕРАРХИИ (&ГрупКонтр)
   Гипервизор
 
7 - 12.12.17 - 12:08
ДебиторскаяЗадолженность это ТЧ документа? Тогда перепишите запрос, чтобы весь запрос к ТЧ.
   mrleo
 
8 - 12.12.17 - 12:11
Все спасибо, рабочий вариант запроса:
Запрос.Текст =
"ВЫБРАТЬ 
|    КорректировкаДолга.Ссылка
|ИЗ 
|    Документ.КорректировкаДолга КАК КорректировкаДолга 
|ГДЕ 
|    КорректировкаДолга.КонтрагентДебитор В ИЕРАРХИИ (&ГрупКонтр)
|    И 
|    КорректировкаДолга.Ссылка.Дата >= &ДатаНач 
|    И 
|    КорректировкаДолга.Ссылка.Дата <= &ДатаКон"; 
 
Обращение к результатам    Стр.Дат = Формат(Выборка.Ссылка.Дата,"ДЛФ=Д");            Стр.Сумм = Выборка.Ссылка.СуммаДтЗадолженности;
   mrleo
 
9 - 12.12.17 - 12:20
*Всем спасибо
   Radkt
 
10 - 12.12.17 - 12:30
СуммаДтЗадолженности лучше получать в запросе, так как получение через точку это тоже мини запрос, чем меньше запросов тем лучше
 
 Рекламное место пустует
   Vladal
 
11 - 12.12.17 - 12:35
"ВЫБРАТЬ
|    КорректировкаДолга.Ссылка,
|   СУММА(КорректировкаДолга.ДебиторскаяЗадолженность.Сумма) КАК СуммаКорректировки
|ИЗ 
|    Документ.КорректировкаДолга КАК КорректировкаДолга 
|ГДЕ 
|    КорректировкаДолга.КонтрагентДебитор В ИЕРАРХИИ (&ГрупКонтр)
|    И 
|    КорректировкаДолга.Ссылка.Дата >= &ДатаНач 
|    И 
|    КорректировкаДолга.Ссылка.Дата <= &ДатаКон"

а где СГРУППИРОВАТЬ ПО ?
   Vladal
 
12 - 12.12.17 - 12:37
Если надо по конкретному документу вывести сумму, то такой вариант сойдёт.
А если надо сделать выборку за период и построить отчет по взаиморасчетам - то лучше брать из регистра.
   Сти
 
13 - 12.12.17 - 13:00
+(11)  а еще вот это вот все:

КорректировкаДолга.Ссылка.Дата

работать будет, конечно, но зачем через ссылку-то?
   Vladal
 
14 - 12.12.17 - 13:04
(13) Выборка из документа, а не регистра.
Так что лучше в запросе все поля описать и вытащить в выборке, чем потом дергать реквизиты объекта через точку.
   D_E_S_131
 
15 - 12.12.17 - 13:05
а еще красивее так:

И КорректировкаДолга.Ссылка.Дата Между &ДатаНач И &ДатаКон
   Сти
 
16 - 12.12.17 - 13:06
(11) Сгруппировать, кстати, тут не нужно, сразу не обратил внимания, что тут
СУММА(КорректировкаДолга.ДебиторскаяЗадолженность.Сумма) КАК СуммаКорректировки
, то есть суммирование колонки "Сумма" табличной части, оно и без группировки просуммирует, но тогда Выборка.СуммаКорректировки это не значение, а таблица значений с одной строкой.
Стр.Сумм = Выборка.СуммаКорректировки[0].Сумма
даст нужные цифорки.

Хотя такое применение суммирования в запросе встречал очень редко.
   Сти
 
17 - 12.12.17 - 13:09
(14) КорректировкаДолга.Ссылка.Дата это то же самое, что и КорректировкаДолга.Дата,
но в первом случае в реальном запросе к БД будет сделано соединение таблицы документа ко второму экземпляру этой же таблицы, и уже из второй будут браться эти самые даты. На фига? )

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует