|
Построитель отчета и Запрос.Выполнить() возвращается разный результат | ☑ | ||
---|---|---|---|---|
0
Sasha_H
09.08.12
✎
13:37
|
собственно сабж.
Что конкретно происходит один и тот-же запрос выполняю на двух разных консолях запроса. Консоль запросов который использует "Построитель" возвращает пустые данные, а вот консоль запроса котороя исполнена через метод Запрос.Выполнить() возвращает данные. Сам запрос: ВЫБРАТЬ ОжидаемыеДенежныеСредстваПоКассе.ДоговорКонтрагента, ОжидаемыеДенежныеСредстваПоКассе.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ОжидаемыеДенежныеСредстваПоКассе.Номенклатура, ОжидаемыеДенежныеСредстваПоКассе.ЕдиницаИзмерения, ОжидаемыеДенежныеСредстваПоКассе.СтавкаНДС, ОжидаемыеДенежныеСредстваПоКассе.Цена, ОжидаемыеДенежныеСредстваПоКассе.Организация, ОжидаемыеДенежныеСредстваПоКассе.Контрагент, ОжидаемыеДенежныеСредстваПоКассе.КоличествоОстаток КАК Количество, ОжидаемыеДенежныеСредстваПоКассе.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов ПОМЕСТИТЬ ВремТаблица ИЗ РегистрНакопления.ОжидаемыеДенежныеСредстваПоКассе.Остатки(&ДатаАнализа, ) КАК ОжидаемыеДенежныеСредстваПоКассе ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты(, &ДатаАнализа, , , ) КАК ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты ПО ОжидаемыеДенежныеСредстваПоКассе.ДоговорКонтрагента = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.ДоговорКонтрагента И ОжидаемыеДенежныеСредстваПоКассе.ДокументРасчетовСКонтрагентом = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.ДокументРасчетовСКонтрагентом И ОжидаемыеДенежныеСредстваПоКассе.Контрагент = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.Контрагент И ОжидаемыеДенежныеСредстваПоКассе.Организация = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.Организация ГДЕ ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.СуммаВзаиморасчетовРасход > 0 И ЕСТЬNULL(ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток, 0) = 0 ИНДЕКСИРОВАТЬ ПО ДокументРасчетовСКонтрагентом ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВремТаблица.ДокументРасчетовСКонтрагентом ПОМЕСТИТЬ ДокРасчетов ИЗ ВремТаблица КАК ВремТаблица СГРУППИРОВАТЬ ПО ВремТаблица.ДокументРасчетовСКонтрагентом ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДокРасчетов.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ДвиженияДенежныхСредствОбороты.ДокументДвижения КАК ДокументДвижения, ДвиженияДенежныхСредствОбороты.ДокументДвижения.Дата КАК ДатаСортировки ИЗ ДокРасчетов КАК ДокРасчетов ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты(, &ДатаАнализа, , ) КАК ДвиженияДенежныхСредствОбороты ПО ДокРасчетов.ДокументРасчетовСКонтрагентом = ДвиженияДенежныхСредствОбороты.ДокументРасчетовСКонтрагентом ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом, ВзаиморасчетыСКонтрагентами.Регистратор, ВзаиморасчетыСКонтрагентами.Регистратор.Дата ИЗ ВремТаблица КАК ВремТаблица ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Обороты(, &ДатаАнализа, Регистратор, ) КАК ВзаиморасчетыСКонтрагентами ПО ВремТаблица.ДокументРасчетовСКонтрагентом = ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом ГДЕ (ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя ИЛИ ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаДолга) УПОРЯДОЧИТЬ ПО ДатаСортировки |
|||
1
hhhh
09.08.12
✎
13:42
|
мы то откуда знаем, каких-то левых консолей наскачивали в инете и теперь сидите, удивляетесь.
|
|||
2
Sasha_H
09.08.12
✎
13:44
|
(1) никак нет, проверка кодом тот же результатик дала.
Построитель = Новый ПостроительОтчета; ЭлементыФормы.ПолеТабличногоДокумента.Очистить(); Граница = Новый Граница(КонецДня(ДатаНач), ВидГраницы.Включая); Построитель.Параметры.Вставить("ДатаАнализа",Граница); Построитель.Текст = "ВЫБРАТЬ | ОжидаемыеДенежныеСредстваПоКассе.ДоговорКонтрагента, | ОжидаемыеДенежныеСредстваПоКассе.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, | ОжидаемыеДенежныеСредстваПоКассе.Номенклатура, | ОжидаемыеДенежныеСредстваПоКассе.ЕдиницаИзмерения, | ОжидаемыеДенежныеСредстваПоКассе.СтавкаНДС, | ОжидаемыеДенежныеСредстваПоКассе.Цена, | ОжидаемыеДенежныеСредстваПоКассе.Организация, | ОжидаемыеДенежныеСредстваПоКассе.Контрагент, | ОжидаемыеДенежныеСредстваПоКассе.КоличествоОстаток КАК Количество, | ОжидаемыеДенежныеСредстваПоКассе.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов |ПОМЕСТИТЬ ВремТаблица |ИЗ | РегистрНакопления.ОжидаемыеДенежныеСредстваПоКассе.Остатки(&ДатаАнализа, ) КАК ОжидаемыеДенежныеСредстваПоКассе | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты(, &ДатаАнализа, , , ) КАК ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты | ПО ОжидаемыеДенежныеСредстваПоКассе.ДоговорКонтрагента = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.ДоговорКонтрагента | И ОжидаемыеДенежныеСредстваПоКассе.ДокументРасчетовСКонтрагентом = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.ДокументРасчетовСКонтрагентом | И ОжидаемыеДенежныеСредстваПоКассе.Контрагент = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.Контрагент | И ОжидаемыеДенежныеСредстваПоКассе.Организация = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.Организация |ГДЕ | ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.СуммаВзаиморасчетовРасход > 0 | И ЕСТЬNULL(ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток, 0) = 0 | |ИНДЕКСИРОВАТЬ ПО | ДокументРасчетовСКонтрагентом |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВремТаблица.ДокументРасчетовСКонтрагентом |ПОМЕСТИТЬ ДокРасчетов |ИЗ | ВремТаблица КАК ВремТаблица | |СГРУППИРОВАТЬ ПО | ВремТаблица.ДокументРасчетовСКонтрагентом |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДокРасчетов.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, | ДвиженияДенежныхСредствОбороты.ДокументДвижения КАК ДокументДвижения, | ДвиженияДенежныхСредствОбороты.ДокументДвижения.Дата КАК ДатаСортировки |ИЗ | ДокРасчетов КАК ДокРасчетов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты(, &ДатаАнализа, , ) КАК ДвиженияДенежныхСредствОбороты | ПО ДокРасчетов.ДокументРасчетовСКонтрагентом = ДвиженияДенежныхСредствОбороты.ДокументРасчетовСКонтрагентом | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом, | ВзаиморасчетыСКонтрагентами.Регистратор, | ВзаиморасчетыСКонтрагентами.Регистратор.Дата |ИЗ | ВремТаблица КАК ВремТаблица | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Обороты(, &ДатаАнализа, Регистратор, ) КАК ВзаиморасчетыСКонтрагентами | ПО ВремТаблица.ДокументРасчетовСКонтрагентом = ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом |ГДЕ | (ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя | ИЛИ ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаДолга) | |УПОРЯДОЧИТЬ ПО | ДатаСортировки"; Построитель.Выполнить(); Построитель.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе; Построитель.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно; Построитель.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно; Построитель.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика); Построитель.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок; Построитель.ТекстЗаголовка = "Отчет по документах движений"; Построитель.Вывести(ЭлементыФормы.ПолеТабличногоДокумента); ТаблицаДокументовДвижений = Построитель.Результат.Выгрузить(); |
|||
3
Sasha_H
09.08.12
✎
13:52
|
///////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ДокРасчетов.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ДвиженияДенежныхСредствОбороты.ДокументДвижения КАК ДокументДвижения, ДвиженияДенежныхСредствОбороты.ДокументДвижения.Дата КАК ДатаСортировки ИЗ ДокРасчетов КАК ДокРасчетов ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты(, &ДатаАнализа, , ) КАК ДвиженияДенежныхСредствОбороты ПО ДокРасчетов.ДокументРасчетовСКонтрагентом = ДвиженияДенежныхСредствОбороты.ДокументРасчетовСКонтрагентом консоля отчетов умирает вот здеся, когда пытаюсь соединить временную таблицу из регистром. Написали ЛЕВОЕ СОЕДИНЕНИЕ, нет данных. Написал тупо вот так: ВЫБРАТЬ ДокРасчетов.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом ИЗ ДокРасчетов КАК ДокРасчетов данных нет. Насколько я понимаю построитель захлебнулся с использованием временных таблиц, ограничение чтоли стоит наверное. |
|||
4
ptiz
09.08.12
✎
13:55
|
У построителя есть метод .ПолучитьЗапрос()
Сравни (перед Построитель.Выполнить()) работающий запрос и "построительный" |
|||
5
Sasha_H
09.08.12
✎
14:00
|
да они одинаковы сравнивал, проблема в том, что построитель уже не видит данных при получении из третей временной таблицы
|
|||
6
Sasha_H
09.08.12
✎
14:00
|
видимо бочина платформенная
|
|||
7
Sasha_H
09.08.12
✎
14:08
|
(4) ты был прав!
|
|||
8
Sasha_H
09.08.12
✎
14:10
|
ВЫБРАТЬ
ОжидаемыеДенежныеСредстваПоКассе.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом ПОМЕСТИТЬ ВремТаблица ИЗ РегистрНакопления.ОжидаемыеДенежныеСредстваПоКассе.Остатки(&ДатаАнализа, ) КАК ОжидаемыеДенежныеСредстваПоКассе ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты(, &ДатаАнализа, , , ) КАК ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты ПО ОжидаемыеДенежныеСредстваПоКассе.ДоговорКонтрагента = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.ДоговорКонтрагента И ОжидаемыеДенежныеСредстваПоКассе.ДокументРасчетовСКонтрагентом = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.ДокументРасчетовСКонтрагентом И ОжидаемыеДенежныеСредстваПоКассе.Контрагент = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.Контрагент И ОжидаемыеДенежныеСредстваПоКассе.Организация = ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.Организация ГДЕ ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.СуммаВзаиморасчетовРасход > 0 И ЕСТЬNULL(ВзаиморасчетыПоДокументамРасчетовОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток, 0) = 0 ИНДЕКСИРОВАТЬ ПО ДокументРасчетовСКонтрагентом ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВремТаблица.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом ПОМЕСТИТЬ ДокРасчетов ИЗ ВремТаблица КАК ВремТаблица СГРУППИРОВАТЬ ПО ВремТаблица.ДокументРасчетовСКонтрагентом ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДокРасчетов.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ДвиженияДенежныхСредствОбороты.ДокументДвижения КАК ДокументДвижения, ДвиженияДенежныхСредствОбороты.ДокументДвижения.Дата КАК ДатаСортировки ИЗ ДокРасчетов КАК ДокРасчетов ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты(, &ДатаАнализа, , ) КАК ДвиженияДенежныхСредствОбороты ПО ДокРасчетов.ДокументРасчетовСКонтрагентом = ДвиженияДенежныхСредствОбороты.ДокументРасчетовСКонтрагентом ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом, ВзаиморасчетыСКонтрагентами.Регистратор, ВзаиморасчетыСКонтрагентами.Регистратор.Дата ИЗ ВремТаблица КАК ВремТаблица ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Обороты(, &ДатаАнализа, Регистратор, ) КАК ВзаиморасчетыСКонтрагентами ПО ВремТаблица.ДокументРасчетовСКонтрагентом = ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом ГДЕ (ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя ИЛИ ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаДолга) УПОРЯДОЧИТЬ ПО ДатаСортировки |
|||
9
Sasha_H
09.08.12
✎
14:10
|
ип...... учий встроенный оптимизатор!
|
|||
10
Sasha_H
09.08.12
✎
14:11
|
А мне необходимо получить именно по всех измерениях информацию так как там подвисняк
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |