|
БИ Запрос через OLE в ИБ 7.7. | ☑ | ||
---|---|---|---|---|
0
Zeratul
07.12.11
✎
15:54
|
Все привет! Пишу следующую функцию
Функция ОстаткиМатериалов77(ДатаС,ДатаПо,Материал) Ит = База77.CreateObject("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(База77.ВидыСубконто.Материалы, Материал, 1); Ит.ВыполнитьЗапрос(ДатаС, ДатаПо, "10",,, 1,, "СК"); Ит.ВыбратьСубконто(База77.ВидыСубконто.Материалы); Пока Ит.ПолучитьСубконто(База77.ВидыСубконто.Материалы) = 1 Цикл ОбработкаПрерыванияПользователя(); КонецЦикла; КонецФункции выскакивает ошибка {ВнешняяОбработка.ПодключениеК77.МодульОбъекта(17)}: Ошибка при установке значения атрибута контекста (Материалы) по причине: Типы не совпадают (0) данной функцией смотрю остатки по кол-ву и сумму опеределенного материала в баз 1с 7.7 |
|||
1
Skylark
07.12.11
✎
15:57
|
И чего?
МодульОбъекта(17) это где? Телепаты должны догадаться, какая это строка? |
|||
2
Zeratul
07.12.11
✎
15:59
|
Ит.ИспользоватьСубконто(База77.ВидыСубконто.Материалы, Материал, 1);
вот на этой строке ругается |
|||
3
Skylark
07.12.11
✎
16:03
|
Материал
что это? это элемент справочника Материалы в ОЛЕ-базе 7.7? |
|||
4
GreyK
07.12.11
✎
16:05
|
(0) Не парься, по ОЛЕ передаются только строка, число, дата.
Поменяй истоник и приемник местами, ну если это возможно. |
|||
5
Zeratul
07.12.11
✎
16:08
|
Материал - это ComObject, тип справочник материалы в 1с77
(4) поменять не варинат никак..... |
|||
6
Zeratul
07.12.11
✎
16:19
|
Ит = База77.CreateObject("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто("Материалы", Материал, 1,0); Ит.ВыполнитьЗапрос(Формат(ДатаС,"ДЛФ=Д"), Формат(ДатаПо,"ДЛФ=Д"), "10",0,0,1,0,"СК"); Ит.ВыбратьСубконто("Материалы"); Пока Ит.ПолучитьСубконто("Материалы") = 1 Цикл ОбработкаПрерыванияПользователя(); КонецЦикла; сделал так и почти заработало |
|||
7
Zeratul
07.12.11
✎
16:20
|
теперь на строке
Ит.ВыбратьСубконто("Материалы"); вылетает ошибка Метод объекта не обнаружен (ВыбратьСубконто) |
|||
8
Skylark
07.12.11
✎
16:21
|
(7) а там точно есть чего-нибудь?
|
|||
9
Skylark
07.12.11
✎
16:22
|
может Ит.ВыполнитьЗапрос ничего не выдает
|
|||
10
Skylark
07.12.11
✎
16:23
|
попробуй этот кусок кода выполнить в той базе
|
|||
11
Zeratul
07.12.11
✎
16:23
|
пробовал уже, запрос работает в базе 77
|
|||
12
Zeratul
07.12.11
✎
16:24
|
Ит = База77.CreateObject("БухгалтерскиеИтоги");
ВидыСуб = База77.ВидыСубконто.Материалы; Ит.ИспользоватьСубконто("Материалы", Материал, 1,0); Ит.ВыполнитьЗапрос(Формат(ДатаС,"ДЛФ=Д"), Формат(ДатаПо,"ДЛФ=Д"), "10",0,0,1,0,"СК"); Ит.ВыбратьСубконто(ВидыСуб); Пока Ит.ПолучитьСубконто(ВидыСуб) = 1 Цикл ОбработкаПрерыванияПользователя(); КонецЦикла; теперь на получитьСубконто() ругается )))) |
|||
13
GreyK
07.12.11
✎
16:26
|
(5) Обрисуй задачу. Что, из чего и зачем тебе нужно получить.
Сходу, если скорость не важна, то не отбирай а разворачивай по субконто. А отбор делай в выборке. |
|||
14
Kreont
07.12.11
✎
16:27
|
Через ОЛе надо задавать все параметры, даже те что в СП 7-ки пишет "по умолчанию и не обязательно задвать"
|
|||
15
Skylark
07.12.11
✎
16:28
|
(14) это да, это ценное воспоминание
:-) |
|||
16
Смотрящий от 1С
07.12.11
✎
16:30
|
(0) на твою задачу похоже http://lada-it.ru/index.php/-1/64-ole.html
|
|||
17
Zeratul
07.12.11
✎
16:30
|
Мне нужно получить остатки по конкретному материалу в Базе 77, кол-во и сумму
|
|||
18
Zeratul
07.12.11
✎
16:31
|
(16) спасибо, очень полезная статья
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |