Имя: Пароль:
1C
1C 7.7
v7: OLE
,
0 treor
 
29.07.16
16:23
Здравствуйте.
Проблемы при настройке взаимодействия двух 1с7. Делаю первый раз и видно не очень правильно(((

Процедура ИнициализацияПеременныхOLE()
    
    БИOLE = База77ДоДеноминации.CreateObject("БухгалтерскиеИтоги");
    СпрОСOLE = База77ДоДеноминации.CreateObject("Справочник.ОсновныеСредства");
    СчетOLE = База77ДоДеноминации.CreateObject("Счет");
    СчетOLE02 = СчетOLE.НайтиПоКоду("02.1");
    
КонецПроцедуры

Функция ПолучитьОСпоOLE()
    
    СпрОСOLE.НайтиПоКоду(ОС.Код, 0);
    Возврат СпрОСOLE;    
КонецФункции

Процедура ПолучитьОстаток02НаДату()

    ОСOLE = ПолучитьОСпоOLE();
    БИOLE.ИспользоватьСубконто(База77ДоДеноминации.ВидыСубконто.ОсновныеСредства, ОСOLE);
    БИOLE.ВыполнитьЗапрос(ДатаОтбора,, СчетOLE02);
    Сообщить(БИOLE.СНК())
    
КонецПроцедуры

Процедура Выполнить()
    
    РезультатПодключения = ПодключитьсяПоOLE1с77();
    
    Если РезультатПодключения = 0 Тогда
        Предупреждение("Не удалось подключится к указанной базе - проверьте вводные!");
    Иначе
        Сообщить("Есть контакт!!!");
        ИнициализацияПеременныхOLE();
        ПолучитьОстаток02НаДату();
    КонецЕсли;

    ОтключитьOLE1с77()
КонецПроцедуры

В окне сообщений выдает:
Есть контакт!!!
0
1 oslokot
 
29.07.16
16:25
Держи нас в курсе
2 Ёпрст
 
29.07.16
16:26
(0)

Возврат СпрОСOLE.ТекущийЭлемент();
3 treor
 
29.07.16
16:29
(2)К сожалению, не помогло((( Результат прежний
4 lubitelxml
 
29.07.16
16:30
отладчик украли?
5 Ёпрст
 
29.07.16
16:32
(3) ОС.Код
ОС - это что ?
Воткни проверку, что основное средство хотя бы найдено, для начала.
6 treor
 
29.07.16
16:38
(3)
ОС - реквизит формы. Значение выбирается пользователем.

Если СпрОСOLE.НайтиПоКоду(ОС.Код, 0) = 1 Тогда
        Сообщить("ОС найдено!");
КонецЕсли;

В строке сообщений:
ОС найдено!
7 Ёпрст
 
29.07.16
16:39
(6) и это не группа ?
8 Ёпрст
 
29.07.16
16:42
Сообщить(БИOLE.ВыполнитьЗапрос(ДатаОтбора,, СчетOLE02));
че пишет хоть ?
9 treor
 
29.07.16
16:44
Кривые мои рученьки(((
Заменила:

    СчетOLE = База77ДоДеноминации.CreateObject("Счет");
    СчетOLE02 = СчетOLE.НайтиПоКоду("02.1");

На

    СчетOLE = База77ДоДеноминации.CreateObject("Счет");
    СчетOLE.НайтиПоКоду("02.1");
    СчетOLE02 = СчетOLE;

Все работает)
Всем спасибо за помощь! Извините за беспокойство...
10 Ёпрст
 
29.07.16
16:47
(9) есть такое,нпайтипокоду возвращает 0 или 1. Снеговик всё портит, возвращая в похожих методах саму ссылку, сразу и не заметно, где еще ошибка
11 hhhh
 
29.07.16
16:54
(10) вроде две 7.7 тут.