|
Можно ли по OLE выполнять запросы из 1с 7.7 в 1с 8.2 | ☑ | ||
---|---|---|---|---|
0
sidalexsandr
13.12.12
✎
17:54
|
Можно ли по OLE выполнять запросы из 1с 7.7 в 1с 8.2?
|
|||
1
ДенисЧ
13.12.12
✎
17:55
|
Тебе нужно разрешение? :-)
|
|||
2
Popkorm
13.12.12
✎
17:56
|
(0) разрешаю
|
|||
3
Ахиллес
13.12.12
✎
17:56
|
(0) Даже к экселю можно.
|
|||
4
Popkorm
13.12.12
✎
17:57
|
Запрос = V7.CreateObject("Запрос");
|
|||
5
sidalexsandr
13.12.12
✎
17:59
|
(4) К 8.
|
|||
6
Popkorm
13.12.12
✎
18:00
|
(5) так и не купил книгу да?!:
v8: Подскажите где купить книгу автора Митичкин по 1с 8 в Санкт-Петербурге? |
|||
7
Popkorm
13.12.12
✎
18:00
|
(5) в (4) делается из 8-ке
|
|||
8
Popkorm
13.12.12
✎
18:02
|
+(7) можно из 8-ки в 7.7 читать/записывать/создавать
|
|||
9
palpetrovich
13.12.12
✎
18:06
|
Процедура Подключить()
База82 = CreateObject("V82.ComConnector"); Попытка Соединение = База82.Connect("File="+КаталогБазы82+"; Usr="+Пользователь82+"; Pwd="+Пароль82); Исключение Возврат; КонецПопытки; КонецПроцедуры Процедура ПрочитатьНоменклатуру() Запрос = Соединение.NewObject("Запрос"); Запрос.Текст = " |ВЫБРАТЬ |СписокНоменклатуры.Ссылка КАК Номенклатура |ИЗ |Справочник.Номенклатура КАК СписокНоменклатуры |"; Рез = Запрос.Выполнить(); ТЗ = Рез.Выгрузить(); Для инд=1 По ТЗ.Количество()-1 Цикл ТекСтрока = ТЗ.Получить(инд); Сообщить("Номенклатура "+ТекСтрока.Номенклатура.Наименование); КонецЦикла; КонецПроцедуры |
|||
10
sidalexsandr
13.12.12
✎
18:54
|
(9) Через ТаблицуЗначений вариант. Но таблица значений может переполниться и начать глючить.
А так не будет ?: Рез = Запрос.Выполнить(); Р = Рез.Выбрать(); Пока Р.Следующий() Цикл // .... КонецЦикла; |
|||
11
Serginio1
13.12.12
✎
19:08
|
Пока Р.Следующий()<>0 Цикл
// .... КонецЦикла; |
|||
12
hhhh
13.12.12
✎
20:16
|
(10) это в 7.7 глючит. А в 8 не заглючит.
|
|||
13
Рэйв
13.12.12
✎
20:19
|
Я лично предпоситаю по СОМ из 77 к 8 , а не наоборот
Запрос=NewObject("Запрос") Запрос.Текст="Выьрать..." и так дале. |
|||
14
sidalexsandr
14.12.12
✎
09:46
|
(13) Спасибо, но можно по подробней.
|
|||
15
Serginio1
14.12.12
✎
11:37
|
Процедура ЗагрузитьГуидыБанков()
Спр=СоздатьОбъект("Справочник.Банки"); Сервер=ПодключитьсяКВосьмерке(); Спр8=Сервер.справочники.Банки; Выборка=Спр8.Выбрать(); Пока Выборка.Следующий()<>0 Цикл Объект = Выборка.ПолучитьОбъект(); Код=Объект.Код; Если спр.НайтиПоКоду(Код,0)=1 Тогда Если Спр.Ref<>Сервер.XMLСтрока(Объект.Ссылка) Тогда Спр.Ref=Сервер.XMLСтрока(Объект.Ссылка); Спр.Записать(); Сообщить("---"+Спр); КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры Можешь создать внешнюю обработку в которой вызвать что тебе нужно создать в модуле обработки методы например Функция ВычислитьВыражение(Выражение) Экспорт возврат вычислить(Выражение); КонецФункции Функция ВычислитьСвойствоОбъекта(Объект,Свойство) Экспорт возврат Объект[Свойство]; КонецФункции И вызывать из семерки ПутьКОбработке=ТвойПутьКepf; ДляВнешнегоСоединения= Сервер.ВнешниеОбработки.Создать(ПутьКОбработке); Если Мета="Справочник" Тогда Объект=ДляВнешнегоСоединения.ВычислитьВыражение("Справочники."+ВидПриемник+".СоздатьЭлемент()"); ИначеЕсли Мета="Документ" Тогда Объект=ДляВнешнегоСоединения.ВычислитьВыражение("Документы."+ВидПриемник+".СоздатьДокумент()"); ДляВнешнегоСоединения.ВычислитьСвойствоОбъекта(Объект,ТЧПриемника).Добавить(); Иначе Объект=ДляВнешнегоСоединения.ВычислитьВыражение("РегистрыНакопления."+ВидПриемник+".СоздатьНаборЗаписей()"); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |