Имя: Пароль:
1C
1C 7.7
v7: Подключение из 7.7 к 8.3 (как получить документ)
,
0 StackOverflow
 
25.05.18
13:14
Вот код:

Процедура Подключение()
    
    БазаОЛЕ=СоздатьОбъект("V83.COMConnector");
    
    РезультатПодключения= БазаОЛЕ.Connect("File=""" + СокрЛП(ПутьПодключения) + """; Usr=""" + СокрЛП(Пользователь) + """; Pwd=""" + СокрЛП(Пароль) + """");
    
    Если РезультатПодключения = 0 Тогда
        Предупреждение("Не удалось подключится к указанной базе");
    КонецЕсли;
    
    Сообщить("Подключились к базе");
    
    ДокОтражение = БазаОЛЕ.NewObject("Документ.ОтражениеЗарплатыВБухучете");
    Сообщить("Документ получен");
    
КонецПроцедуры

Подключается успешно, и ругается что не может получить документ, а именно на строку
ДокОтражение = БазаОЛЕ.NewObject("Документ.ОтражениеЗарплатыВБухучете");

Как правильно, подскажите пожалуйста
1 1Сергей
 
25.05.18
13:17
Что значит "получить документ"? получить некоторые реквизиты конкретного документа?
2 StackOverflow
 
25.05.18
13:20
(1) Да, задумка была такая: создать обработку в бухгалтерии 7.7 с табличным полем и туда заполнить данные из 8 ошного документа. Но там и табличные поля есть.
3 Aleksandr N
 
25.05.18
13:22
Документ = БазаОЛЕ.Документы.ОтражениеЗарплатыВБухучете.СоздатьДокумент();
4 1Сергей
 
25.05.18
13:23
(2) Может того, запросом получить всё?
5 Aleksandr N
 
25.05.18
13:23
(4) Точно, не увидел уточнение в (2)
6 StackOverflow
 
25.05.18
13:24
(3) Не, Поле агрегатного объекта не обнаружено (Документ) =((
7 StackOverflow
 
25.05.18
13:25
(4) А как? Через Оле?
8 1Сергей
 
25.05.18
13:26
(6) ДокументЫ
9 1Сергей
 
25.05.18
13:26
(7) да, точно так же
10 StackOverflow
 
25.05.18
13:27
(8) я пробовал и документы а потом решил просто документ попробовать. никак не пашет
11 Михаил Козлов
 
25.05.18
13:27
(6) Что-то Вы неверно написали.
(7) запрос = БазаОле.NewObject("Запрос");
12 StackOverflow
 
25.05.18
13:28
(9) а можно наводочку, а то пока не понял каким образом
13 StackOverflow
 
25.05.18
13:28
(11) Спасибо
14 StackOverflow
 
25.05.18
13:29
(11) Поле агрегатного объекта не обнаружено (NewObject)
15 StackOverflow
 
25.05.18
13:29
или туда запрос уже передавать?
16 ПегийЛунь
 
25.05.18
13:36
(10)Всё таки "Документы"
http://capitally.ru/exchange/podklyuchenie-1s-k-1s/
17 1Сергей
 
25.05.18
13:41
РезультатПодключения.NewObject("Запрос");
18 Михаил Козлов
 
25.05.18
13:44
(15) БазеОле у Вас, скорее всего, не того типа. Попробуйте вместо БазаОле РезультатПодключения.
19 StackOverflow
 
25.05.18
13:45
(17) Спасибо заработало. Но я по другому сделал
Документ = РезультатПодключения.Документы.ОтражениеЗарплатыВБухучете.СоздатьДокумент();
20 StackOverflow
 
25.05.18
13:45
Всё, всем спасибо )
21 HawkEye
 
25.05.18
22:01
(20) что-то типа:
       База = "";  
    Если глИнициализацияБазы(база, 1) = 0 Тогда
            Возврат;
        КонецЕсли;  
        ВидДока = База.Документы.ТребованиеНакладная;
        СоздалиНовый = 0;
        Если СокрЛП(номерБух8) <> "" Тогда
            //есть номер бух
            док = ВидДока.НайтиПоНомеру(номерБух8,ДатаДок);
            Если док.пустая() = -1 Тогда
                создалиновый = 1;  
                ДокБП = ВидДока.СоздатьДокумент();
                ДокБП.Номер = номерБух8;  
            Иначе
                ДокБП = Док.ПолучитьОбъект();  
            КонецЕсли;
        Иначе
            создалиновый = 1;  
            ДокБП = ВидДока.СоздатьДокумент();
        КонецЕсли;
22 Franchiser
 
гуру
26.05.18
00:56
Запихни все в модуль внешнего соединения
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший