Версия = "1.7.22 11.01.2011";
глТекст = "
|SELECT
| Подотчет.*
|FROM
| $РегистрОбороты.Подотчет(,,Документ,(КредДокумент = :ТекКредДок),(Контрагент,Статья,КредДокумент),(Сумма)) AS Подотчет
|";
ПрямойЗапрос.УстановитьТекстовыйПараметр("ТекКредДок",ТекДок);
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ПрямойЗапрос.РежимОтладки = 1;
ПрямойЗапрос.Текст = глТекст;
ПрямойЗапрос.Выполнить().Выгрузить(ТЗ);
ТЗ.ВыбратьСтроку();
Цитата:SELECT
Подотчет.*
FROM
(
SELECT
ТекущийДокумент
,ВидДокумента
,ПозицияДокумента
,Контрагент
,Статья
,КредДокумент
,SUM(СуммаПриход) AS СуммаПриход
,SUM(СуммаРасход) AS СуммаРасход
,SUM(СуммаОборот) AS СуммаОборот
FROM
(SELECT
docjourn.IDDOC AS ТекущийДокумент
,docjourn.IDDOCDEF AS ВидДокумента
,docjourn.idx_DATE_TIME_IDDOC AS ПозицияДокумента
,ra_8580.Контрагент AS Контрагент
,ra_8580.Статья AS Статья
,ra_8580.КредДокумент AS КредДокумент
,CASE WHEN ra_8580.debkred = 0 THEN ra_8580.Сумма ELSE 0 END AS СуммаПриход
,CASE WHEN ra_8580.debkred = 1 THEN ra_8580.Сумма ELSE 0 END AS СуммаРасход
,CASE WHEN ra_8580.debkred = 0 THEN ra_8580.Сумма ELSE -ra_8580.Сумма END AS СуммаОборот
FROM
[Журнал] AS docjourn
LEFT JOIN [Регистр.Подотчет] AS ra_8580
ON ra_8580.IDDOC = docjourn.IDDOC
WHERE docjourn.ПодотчетФр = 1
WHERE
(ra_8580.КредДокумент = ' ET7T ')
) AS vt_ra_8580
GROUP BY
ТекущийДокумент
,ВидДокумента
,ПозицияДокумента
,Контрагент
,Статья
,КредДокумент
HAVING (SUM(СуммаПриход) <> 0)
OR (SUM(СуммаРасход) <> 0)
OR (SUM(СуммаОборот) <> 0)
) AS Подотчет
ПрямойЗапрос::Выполнить(Строка ТипОбъекта=ИндексированнаяТаблица, Строка ТекстВыполнения=, Число БезПодготовки=0) : near "WHERE": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ТекстЗапроса,ПолучательЗапроса);
{F:\Bases\ВЕС\New\SystemData\Classes\ПрямыеЗапросы\ПрямойЗапрос.ert(13153) }
ПрямойЗапрос.Выполнить().Выгрузить(ТЗ);
{F:\BASES\ВЕС\NEW\EXTFORMS\ТОТЧЕТПОСТАТЬЯМ.ERT(542)}: ПрямойЗапрос::Выполнить(Строка ТипОбъекта=ИндексированнаяТаблица, Строка ТекстВыполнения=, Число БезПодготовки=0) : near "WHERE": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ТекстЗапроса,ПолучательЗапроса);
{F:\Bases\ВЕС\New\SystemData\Classes\ПрямыеЗапросы\ПрямойЗапрос.ert(13153) }
Строки №№3611,3977,4024.
Код в этих строках:
Цитата:Если МетаРегистр.БыстраяОбработкаДвижений = 0 Тогда
ТекстЗапроса = ТекстЗапроса + "AND docjourn."+ИдентификаторРегистра+"Фр = 1
| ";
КонецЕсли;
Кажется в конце оператора условия не хватает строчки:
Цитата:КлючевоеСлово = "AND";
По крайней мере вставил эту строку в первый блок на адресу №3611 и мой запрос заработал!