7.7 Помогите с обработкой "Клонируем объекты в стороннюю базу 7.7 DBF".

Тема в разделе "Обмен данными в "1С:Предприятие 7.7"", создана пользователем fantas, 22 июл 2018.

  1. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Есть обработка Клонируем объекты в стороннюю базу 7.7 DBF. Все установил, как описано в статье.
    На ОС Windows 7 х32 все установил как описано в статье. Драйвер Microsoft FoxPro установил для всех пользователей ОС. В обработке процедура ПриОткрытии():
    Код:
     
    //======================================================================
    Процедура ПриОткрытии()
    попытка
            ЗагрузитьВнешнююКомпоненту("1cpp.dll");
            Сообщить("Компонента 1С++ загружена!");
        Исключение
            Сообщить("Пытались, но не загрузили компоненту 1С++ :(");
        КонецПопытки;
    
    глОлеДБ = СоздатьОбъект("OLEDBData");
        Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;Collating Sequence=MACHINE";
    
        Рез = глОлеДБ.Соединение(Соединение);
        гЗапрос = глОлеДБ.СоздатьКоманду();
        гЗапрос.Выполнить("EXECSCRIPT('SET ANSI OFF')"); 
        // Устанавливаем время ожидания захвата таблиц , если во время выполнения запроса кто то проводит документы
        // Очень полезная функция - аналогична времени ожидания в 1С
        гЗапрос.Выполнить("EXECSCRIPT('SET REPROCESS TO 60 SECONDS')");
        // Убираем буфепизацию, чтобы данные возвращаемые запросам всегда были актуальны
        гЗапрос.Выполнить("EXECSCRIPT('SET REFRESH TO 0,-1')");   
    
        гЗапрос.Выполнить("Exec('SET TABLEVALIDATE TO 0')");// Отключили блокировки
        ТаблицаССылок = СоздатьОбъект("ИндексированнаяТаблица");
        ТаблицаССылок.НоваяКолонка("Объект");
        ТаблицаССылок.НоваяКолонка("ВидОбъекта");
        ТаблицаССылок.НоваяКолонка("ТипОбъекта");
        ТаблицаССылок.НоваяКолонка("ОбъектИд");
        ТаблицаССылок.НоваяКолонка("Отметка");
        ТаблицаССылок.ДобавитьИндекс("Объект","*Объект");
        ТаблицаССылок.ДобавитьИндекс("Отметка","*Отметка");
    
        _Форма=СоздатьОбъект("Форма");
        _Форма.УстановитьФорму(Форма);
        РасшФормы = СоздатьОбъект("РасширениеФормы");
        РасшФормы.УстановитьФорму(Форма);
        СтарВысота=0;СтарШирина=0;
        метаВорк = СоздатьОбъект("MetaDataWork");
    
    КонецПроцедуры // ПриОткрытии
    
    Выдает ошибку:
    В чем проблема?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.626
    Симпатии:
    542
    Баллы:
    204
  3. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Та, что в статье icpp3231_20101103. Уже нашел и скачал icpp-3-2-4-1, попробую через нее.
    Последнее редактирование: 23 июл 2018
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.626
    Симпатии:
    542
    Баллы:
    204
  5. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Переделал так
    Код:
    попытка
    ЗагрузитьВнешнююКомпоненту(""+КаталогИБ()+"\1cpp.dll");
    Сообщить("Компонента 1С++ загружена!");
    Исключение
    Сообщить("Пытались, но не загрузили компоненту 1С++ :(");
    КонецПопытки;
    На 1cpp 3.2.4.1 та же ошибка
    Последнее редактирование: 23 июл 2018
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.626
    Симпатии:
    542
    Баллы:
    204
    А логин-пароль там есть? Ну на базу?
  7. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Сделал так
    Код:
    Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;User ID='User';Password='pass';Mask Password=False;Collating Sequence=MACHINE";
    Та же ошибка. В базу 1С зашел разделено под другим пользователем, не под User.
    --- Объединение сообщений, 23 июл 2018 ---
    на md пароля нет
    --- Объединение сообщений, 23 июл 2018 ---
    и так
    Код:
    Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;User ID="+"User"+";Password="+"pass"+";Mask Password=False;Collating Sequence=MACHINE";
    та же ошибка
    Последнее редактирование: 23 июл 2018
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.626
    Симпатии:
    542
    Баллы:
    204
    Вообще убрать пароль/пользователя и подключиться
  9. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Переместил/переименовал каталог с базой, обработку, сменил строку соединения
    Код:
    Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;Collating Sequence=MACHINE";
    ошибка та же
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.626
    Симпатии:
    542
    Баллы:
    204
    А версия 1с у вас какая? Случайно не локальная?
  11. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Для SQL 27 релиз, сама база файловая.
    --- Объединение сообщений, 26 июл 2018 ---
    И так пробовал
    Код:
    Соединение = "Provider=VFPOLEDB.1;Data Source=D:\h\;Mode=ReadWrite;User ID="""";Password="""";Mask Password=False;Collating Sequence=MACHINE"
    и так
    Код:
    Соединение = "Provider=VFPOLEDB.1;Data Source=D:\h\;Mode=ReadWrite;Collating Sequence=MACHINE";
    ошибка та же.
    Пользователей убрал вообще, захожу неавторизованным в базу.
    Последнее редактирование: 26 июл 2018
  12. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Установил сетевую 1С 7.7 - 27 релиз, та же ошибка.
  13. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Код:
    //======================================================================
    
    Процедура ПриОткрытии()
       
        попытка
            ЗагрузитьВнешнююКомпоненту("1cpp.dll");
            Сообщить("Компонента 1С++ загружена!");
        Исключение
            Сообщить("Пытались, но не загрузили компоненту 1С++ :(");
        КонецПопытки;
       
        попытка
            ЗагрузитьВнешнююКомпоненту("FormEx.dll");
            Сообщить("Компонента FormEx загружена!");
        Исключение
            Сообщить("Пытались, но не загрузили компоненту FormEx :(");
        КонецПопытки;
       
        глОлеДБ = СоздатьОбъект("OLEDBData");   
        Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;Collating Sequence=MACHINE";
    Работает. Занавес ))
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.626
    Симпатии:
    542
    Баллы:
    204
    Получатся нужна была FormEx? Любопытно..
  15. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Скорее всего если требуется функционал использующий возможности dll-ок 1cpp и FormEx нужно их загружать при старте 1С, поместив их в каталог BIN платформы (ну или при открытии объекта, который их использует).
    --- Объединение сообщений, 30 июл 2018 ---
    Но обработка бомба, ее можно использовать при свертке ИБ при критических размерах dbf-файлов (до этого использовал для таких ситуаций DbfScruber, но утитилка не работает на новых версиях ОС, только XP и 2003 Server).
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.626
    Симпатии:
    542
    Баллы:
    204
    Просто странно... Функционал FormEx содержится в 1с++.