Добрый день всем.
Столкнулся с такой проблемой: при попытке заполнить временную таблицу данными из ТаблицыЗначений, SQL ругается следующим образом:
State 21S01, native 213, message [Microsoft][ODBC SQL Server Driver][SQL Server]Insert Error: Column name or number of supplied values does not match table definition.
Я так понял, что он ругается на несоответствие типов, но я все, вроде делал по правилам, как в мануале написано.
Сам запрос:
//Создадим временную таблицу для заполнения корректировками...
ТекстЗапроса = "
|CREATE TABLE #Корректировка (КредДокумент CHAR(9), ДилиК INT, СуммаКорректировки NUMERIC(15,2), PRIMARY KEY CLUSTERED (КредДокумент))
|";
Запрос.Выполнить(ТекстЗапроса);
//Выберем корректировки
ТекстЗапроса = "
|SELECT
| $Рег.КредДокумент AS КредДокумент,
| Рег.DEBKRED AS ДилиК,
| SUM($Рег.СуммаВал) AS [СуммаКорректировки $Число]
|FROM
| _1SJourn AS Жур
|INNER JOIN
| $Регистр.Поставщики AS Рег ON Рег.IDDoc = Жур.IDDoc
| AND Жур.IDDocDef = $ВидДокумента.КорректировкаДолга
| AND $Рег.КодОперации IN (SELECT Val FROM #TempOpCodes)
|GROUP BY
| $Рег.КредДокумент,
| Рег.DEBKRED
|";
СписокКодов = СоздатьОбъект("СписокЗначений");
СписокКодов.ДобавитьЗначение(Перечисление.КодыОпераций.Прочее);
СписокКодов.ДобавитьЗначение(Перечисление.КодыОпераций.ПрочееВал);
Запрос.УложитьСписокОбъектов(СписокКодов,"#TempOpCodes");
ВремТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
//Заполним временную таблицу значениями
Запрос.Подготовить("INSERT INTO #Корректировка Values (?)");
Запрос.ВыполнитьSQL_ИзТЗ(ВремТЗ);
Ругается при выполнении последнего запроса.
Прошу помочь, а то я всю голову изломал уже