|
vba запрос к базе 1с | ☑ | ||
---|---|---|---|---|
0
noob20
15.05.12
✎
17:37
|
Всем привет.
надо в модуле vba обратиться к базе 1с, чтобы получить некоторые проводки. прога вылетает на закомменченных строках с ошибкой run-time error 438 Object doesn't support this property or method. что странно, к некоторым полям выборки могу обратиться, а к некоторым нет - ошибка. КОД Set Query = Connection1C.NewObject("Запрос") Query.УстановитьПараметр "Счет", "76.07" Query.Текст = "ВЫБРАТЬ " _ & "ХозрасчетныйДвиженияССубконто.Период КАК Дата, " _ & "ХозрасчетныйДвиженияССубконто.Регистратор КАК ДокРег, " _ & "ХозрасчетныйДвиженияССубконто.СчетДт.Код КАК СчетДт, " _ & "ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК СубконтоДт1, " _ & "ХозрасчетныйДвиженияССубконто.СубконтоДт2 КАК СубконтоДт2, " _ & "ХозрасчетныйДвиженияССубконто.СчетКт.Код КАК СчетКт, " _ & "ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК СубконтоКт1, " _ & "ХозрасчетныйДвиженияССубконто.СубконтоКт2 КАК СубконтоКт2, " _ & "ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма, " _ & "ХозрасчетныйДвиженияССубконто.Содержание КАК Содержание " _ & "ИЗ " _ & "РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто " _ & "ГДЕ " _ & "ХозрасчетныйДвиженияССубконто.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета) " _ & "И (ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщиками) " _ & "ИЛИ ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамВыданным) " _ & "ИЛИ ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками) " _ & "ИЛИ ХозрасчетныйДвиженияССубконто.СчетДт.Код = &Счет) " Set ResultQuery = Query.Execute() If Not ResultQuery.Пустой() Then Set cmd = CreateObject("ADODB.Command") cmd.ActiveConnection = CurrentProject.Connection cmd.CommandText = "DELETE * FROM JournalEntries" cmd.Execute Set Selection = ResultQuery.Выбрать Dim str1 As String Dim str2 As String Dim str3 As String Dim str4 As String Dim str5 As String Dim str6 As String Dim str7 As String Dim str8 As String Dim str9 As String Dim str10 As String Do While Selection.Следующий str1 = Selection.Дата ' str2 = Selection.ДокРег str3 = Selection.СчетДт ' str4 = Selection.СубконтоДт1 ' str5 = Selection.СубконтоДт2 str6 = Selection.СчетКт ' str7 = Selection.СубконтоКт1 ' str8 = Selection.СубконтоКт2 str9 = Selection.Сумма str10 = Selection.Содержание cmd.CommandText = "INSERT INTO JournalEntries (DateDoc, Document, Dt, DtSub1, DtSub2, Ct, CtSub1, CtSub2, SumDoc, Comment) " _ & "VALUES ('" & str1 & "','" & str2 & "','" & str3 & "','" & str4 & "','" & str5 & _ "','" & str6 & "','" & str7 & "','" & str8 & "','" & str9 & "','" & str10 & "');" cmd.Execute Loop Else MsgBox ("Обновлений нет") End If |
|||
1
sergeante
15.05.12
✎
17:52
|
(0) может не может преобразовать в строку?
|
|||
2
noob20
16.05.12
✎
10:49
|
Да, точно!
Как тогда приведение типов выполнить? из объектов 1с наименования "доставать"? |
|||
3
UFedor
16.05.12
✎
10:57
|
Automation сервер (Automation server)
String (String) Синтаксис: String(<Параметр>) Параметры: <Параметр> (обязательный) Тип: Произвольный. Выражение произвольного типа. Возвращаемое значение: Тип: Строка. Описание: Получает строковое представление значения произвольного типа. Доступность: Интеграция. |
|||
4
UFedor
16.05.12
✎
10:57
|
Да, и у Com коннектора тоже есть
|
|||
5
noob20
16.05.12
✎
13:54
|
Спасибо, теперь норм, работает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |