Имя: Пароль:
1C
1С v8
Перенос данных из 1С7.7
0 fdv_83
 
24.06.19
11:32
Здравствуйте. Есть самописная конфигурация на 1С7.7 и есть её аналог на 1С8 управляемые формы (клиент-сервер). Необходимо организовать перенос данных из 1С7.7 в 1С8. В обработке по переносу без проблем подключаюсь на клиенте к базе 7.7.Проблема в том, как организовать подключение к базе на стороне сервера для дальнейшего переноса данных.
1 dk
 
24.06.19
11:41
сервер 64 битный? или вообще линух
2 dk
 
24.06.19
11:42
можно не тянуть из 7 в 8 а толкать из 7 в 8
т.е. что мешает из 77 подключиться к 8?
3 fdv_83
 
24.06.19
11:44
Сервер 32 битный. Эта обработка была написана для обычных форм. Теперь её надо приспособить для УФ
4 hhhh
 
24.06.19
11:50
(3) делайте обмен через файлы. Вот нахрена подключаться?
5 StanLee
 
24.06.19
11:52
так же как и на клиенте, подключаетесь к 7.7 и высасываете все нужные данные
6 ptiz
 
24.06.19
11:57
(3) Открой базу в режимы толстого клиента.
7 ink-nsk
 
24.06.19
12:00
(3)
1. обратится к тому чья это обработка и попросить такую же для управляемых
2. попробовать переписать самому, но если там есть модальный режим, то можно и замучится
3. забить и перенести как советует (4)
8 fdv_83
 
24.06.19
12:05
(5) &НаСервере
Функция КомандаПодключитьсяНаСервере()
    OLEБаза = "";
    OLEБаза = Новый COMОбъект("V77S.Application");
    ЕстьПодключение = Ложь;
    Попытка
        СтрокаПодключения = "/D"""+СокрЛП(ПутьКБазе)+""" /N"""+СокрЛП(Пользователь)+""" /P"""+СокрЛП(Пароль)+"""";
        Открыта = OLEБаза.Initialize(OLEБаза.RMTrade,СтрокаПодключения,"NO_SPLASH_SHOW");
        Если Открыта Тогда
            Сообщить("Подключение выполнено!");
            ЕстьПодключение = Истина;
        Иначе
            Сообщить("Ошибка при подключении! "+ОписаниеОшибки());
        КонецЕсли;
    Исключение
        Сообщить("Ошибка при подключении! "+ОписаниеОшибки());
    КонецПопытки;
    Если ЕстьПодключение Тогда
        ПутьКБазе = OLEБаза.КаталогИБ();
    КонецЕсли;
    СтруктураДляВозврата = Новый Структура("OLEБаза,ЕстьПодключение",OLEБаза,ЕстьПодключение);
    Возврат СтруктураДляВозврата;
КонецФункции

&НаКлиенте
Функция КомандаПодключиться()
    КомандаПодключитьсяНаСервере();
КонецФункции

Выдаёт следующую ошибку


{Обработка.ПереносДанных.Форма.ФормаУправляемая.Форма(9012)}: Ошибка при вызове метода контекста (КомандаПодключитьсяНаСервере)
    КомандаПодключитьсяНаСервере();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
    форма: Элемент
    имя: {http://v8.1c.ru/8.1/data/core}Value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'

по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
    форма: Элемент
    имя: {http://v8.1c.ru/8.1/data/core}Value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'
9 fdv_83
 
24.06.19
12:06
(7) Я её сам писал, он на обычных формах, а вот на УФ получается морока
10 ptiz
 
24.06.19
12:10
(9) Нельзя гонять OLEБаза между клиентом и сервером
11 fdv_83
 
24.06.19
12:11
(10) А как тогда быть? Какие методы есть?
12 hhhh
 
24.06.19
12:12
(9) ну тогда проверь чтобы на сервер не передавался у тебя com-объект. Переписывай сначала в структуру, все реквизиты объекта, а потом уже передавай на сервер. причем реквизиты тоже не должны быть com. тоже их переделывай.
13 ptiz
 
24.06.19
13:15
(11) Делать всё на сервере.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой