|
Как таблицу значений значений превратить во временную таблицу SQL ? | ☑ | ||
|---|---|---|---|---|
|
0
DmSk
24.03.08
✎
10:35
|
Как таблицу значений значений превратить во временную таблицу SQL ? Есть ли какой быстрый способ, чем внесение строк таблицы в цикле ?
|
|||
|
1
Sadovnikov
24.03.08
✎
10:36
|
ВыгрузитьТаблицуВSQL(<?>,,,,);
Синтаксис: ВыгрузитьТаблицуВSQL(<ТабЗнач>, <ТабКолонок>, <ИмяТабВSQL>, <ИмяБазыSQL>, <СоздаватьТаблицу>) Назначение: Создает в SQL базе с именем <ИмяБазыSQL> таблицу <ИмяТабВSQL> (если <СоздаватьТаблицу> = 1) структуры, описанной в <ТабКолонок> и заполняет ее данными из <ТабЗнач>. Параметры: <ТабЗнач> - таблица значений, данные из которой будут переноситься в SQL. Доступные типы - строка, целое число, дробное число. <ТабКолонок> - таблица, описывающая тип данных в каждой колонке таблицы ТабЗнач. Имеет 5 колонок (важен порядок): 1 - число, номер колонки в ТабЗнач 2 - строка, имя колонки в SQL 3 - число, тип данных в колонке ТабЗнач 4 - число, длина данных. Имеет смысл для строки (длина строки) и дробного числа (длина целой части) 5 - число, точность данных. Имеет смысл только для дробного числа (длина дробной части части) <ИмяТабВSQL> - строка, имя таблицы в SQL. <ИмяБазыSQL> - строка, имя базы в SQL, где находится таблица. Необязательный параметр. По умолчанию - текущая база данных. <СоздаватьТаблицу> - число, необязательный параметр, создавать новую таблицу (СоздаватьТаблицу = 1) или дописывать данные в существующую (СоздаватьТаблицу = 0). Значение по умолчанию - 1. |
|||
|
2
mikecool
24.03.08
✎
10:36
|
УложитьСписокОбъектов() от 1с++ не подойдет?
|
|||
|
3
Sadovnikov
24.03.08
✎
10:37
|
+(1) RiK_SQL.
|
|||
|
4
DmSk
24.03.08
✎
10:54
|
(2) только ТЗ, УложитьСписокОбъектов() это для списка значений, 1-й ответ само то
|
|||
|
5
DmSk
24.03.08
✎
10:55
|
забыл сказать спасибо
|
|||
|
6
DmSk
24.03.08
✎
10:57
|
поделитесь .als - ом для 1С-ки, чтоб в хелпе можно было открывать
|
|||
|
7
Sadovnikov
24.03.08
✎
11:02
|
(6) als - ом к чему?
|
|||
|
8
DmSk
24.03.08
✎
11:10
|
к 1С-ке 7.7 , ВыгрузитьТаблицуВSQL не работает
|
|||
|
9
DmSk
24.03.08
✎
11:11
|
ВыгрузитьТаблицуВSQL<<?>>(ТЗ_Отчет,,"#TabOst");
{Z:\KKU\ExtForms\Отчеты\ОтчетПоДвижениям.ert(686)}: Процедура не обнаружена (ВыгрузитьТаблицуВSQL) При проверке модуля обнаружены синтаксические ошибки!, скорее всего старая компонента 1С++ |
|||
|
10
Sadovnikov
24.03.08
✎
11:14
|
(9) Обрати внимание на (3). Это не 1С++, а RiK_SQL.
Если юзаешь 1С++, тогда тебе проще будет сделать что-то типа такого: ТекстЗапроса = " |Insert Into "+ИмяВторойБазы+".РаспределениеЗатратАвтоСтроки |(идДок, идСтроки, идФилиал, идПроект, идЦУЗ, идБП, Сумма) |Values |('"+идТекДок+"', ?идСтроки, ?идФилиал, ?идПроект, ?идЦУЗ, ?идБП, ?Сумма) |"; запросЗапись = СоздатьОбъект("ODBCRecordSet"); запросЗапись.Подготовить(ТекстЗапроса); запросЗапись.ДобПараметр(1, 14, 36, 0); //идСтроки запросЗапись.ДобПараметр(1, 14, 9, 0); //идФилиал запросЗапись.ДобПараметр(1, 14, 9, 0); //идПроект запросЗапись.ДобПараметр(1, 14, 9, 0); //идЦУЗ запросЗапись.ДобПараметр(1, 14, 9, 0); //идБП запросЗапись.ДобПараметр(1, 11, 19, 2); //Сумма КоличествоСтрок = итРаспределено.КоличествоСтрок(); итРаспределено.ВыбратьСтроки(); Пока итРаспределено.ПолучитьСтроку() = 1 Цикл Если (итРаспределено.НомерСтроки % 20) = 0 Тогда Состояние("Запись строки: "+итРаспределено.НомерСтроки+" / "+КоличествоСтрок); КонецЕсли; запросЗапись.УстПараметр("идСтроки", итРаспределено.идСтроки); запросЗапись.УстПараметр("идФилиал", РадугаСервис.ЗначениеВСтрокуБД(итРаспределено.Филиал)); запросЗапись.УстПараметр("идПроект", РадугаСервис.ЗначениеВСтрокуБД(итРаспределено.Проект)); запросЗапись.УстПараметр("идЦУЗ", РадугаСервис.ЗначениеВСтрокуБД(итРаспределено.ЦУЗ)); запросЗапись.УстПараметр("идБП", РадугаСервис.ЗначениеВСтрокуБД(итРаспределено.БП)); запросЗапись.УстПараметр("Сумма", итРаспределено.Сумма); Если запросЗапись.Выполнить() = 0 Тогда Сообщить(запросЗапись.ПолучитьОписаниеОшибки()); ОбъектП.ЗакрытьОкноСообщения(); Предупреждение("Не удалось записать новые значения!"); СтатусВозврата(0); Возврат; КонецЕсли; КонецЦикла; |
|||
|
11
Mikeware
24.03.08
✎
11:18
|
А что, в 1С++ ВыполнитьSQL_ИзТЗ(<?>) уже отменили?
ВыполнитьSQL_ИзТЗ(<?>) ExeSQL_FromTV(<?>) Синтаксис: ВыполнитьSQL_ИзТЗ(<tvValues>,<nNumOfRow>) Назначение: метод выполняет параметрический запрос и в качестве параметров берет значения из переданной таблицы. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |