Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

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

v7: Помогите с обработкой "Клонируем объекты в стороннюю базу 7.7 DBF"
Я
   Mister-X07
 
26.07.18 - 12:18
Есть обаботка "Клонируем объекты в стороннюю базу 7.7 DBF" http://catalog.mista.ru/public/102101/ детище ЕПРСТ. На ОС Windows 7 х32 все установил как описано в статье. Драйвер Microsoft FoxPro установил для всех пользователей ОС. В обработке процедуры еще прописал загрузку компоненты 1с++ ПриОткрытии():
//======================================================================

Процедура ПриОткрытии()
попытка
        ЗагрузитьВнешнююКомпоненту(""+КаталогИБ()+"\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");
    
КонецПроцедуры// ПриОткрытии

Выдает такую ошибку
[qout]Компонента 1С++ загружена!
Рез = глОлеДБ.Соединение(Соединение);
{D:\H\EXTFORMS\KO.ERT(596)}: FAILED! IDataInitialize::GetDataSource(): Не найден указанный модуль.[/qout]
В чем может быть проблема?
 
 
   Mister-X07
 
1 - 26.07.18 - 12:19
1С SQl релиз 27. Пробовал на платформе сетевой 27 релиз - та же ошибка.
   Mister-X07
 
2 - 26.07.18 - 12:20
В базу захожу разделенно.
   Mister-X07
 
3 - 26.07.18 - 12:23
Пользователей удалил, т.е. захожу неавторизованный.
   Mister-X07
 
4 - 26.07.18 - 15:31
актуально
   Mister-X07
 
5 - 26.07.18 - 16:02
Версия 1c++ 3.2.4.1
   Бубр
 
6 - 26.07.18 - 16:32
пробовал   1срр  другую  стабильную версию ?
   Бубр
 
7 - 26.07.18 - 16:33
IDataInitialize::GetDataSource()  - это внутренности компоненты
   Смотрящий
 
8 - 26.07.18 - 16:45
(0) Путь с которого регистрировалась длл, и путь по которому ты загружаешь внешнюю компоненту должны совпадать.
   Смотрящий
 
9 - 26.07.18 - 16:45
+(8) Обычно длл скадывают не в каталог бд а в каталог движка 1С
   Mister-X07
 
10 - 26.07.18 - 16:49
(9) кидал в папку с базой, та же ошибка...
 
 Рекламное место пустует
   Смотрящий
 
11 - 26.07.18 - 16:50
Засунь в папку с базой руками ее через регсвр зарегистрируй.
   Mister-X07
 
12 - 26.07.18 - 18:01
При регистрации пишет:
....
Неверная ошибка доступа к памяти
   Mister-X07
 
13 - 26.07.18 - 18:07
Перед этим:
Не удалось загрузить модуль <путь к dll-ке>
   Mister-X07
 
14 - 26.07.18 - 18:08
путь к дд-ке d:\1cv77\bin\1cpp.dll
   Mister-X07
 
15 - 26.07.18 - 18:08
dll-ке
   Mister-X07
 
16 - 26.07.18 - 18:09
командную строку запустил под админом
   Mister-X07
 
17 - 26.07.18 - 18:13
Если рамзестить dll-ку в корене диска, то пишет:
Не найден указанный модуль
   Mister-X07
 
18 - 26.07.18 - 18:13
при регистрации
   Djelf
 
19 - 26.07.18 - 18:19
(18) Кого ты собрался регистрировать? 1с++?
Ее уже очень давно не надо регистрировать, вы с какого дерева упали?
Справка/О программе. Проверяешь что нужная версия загрузилась и все!
   Mister-X07
 
20 - 26.07.18 - 22:07
(19) Да, пишет инфо о 1С++ в справке. Но вопрос в (0) остается актуален.
   Mister-X07
 
21 - 26.07.18 - 22:08
(19) а ForMex.dll надо зарегить?
   Franchiser
 
22 - 26.07.18 - 23:37
(21) В коде обработки formex надо подключать и 1cpp. Или приначалеработысистемы()
   Злопчинский
 
23 - 27.07.18 - 00:22
Приначале работы системы первой загружаешь 1Cpp, вторым - Формекс
   Djelf
 
24 - 27.07.18 - 10:08
(20) У тебя криво встал драйвер фокса.

Попробуй снести/поставить заново и переключатель "для себя/для всех пользователей" не забудь переключить "для всех".
   Mister-X07
 
25 - 27.07.18 - 11:25
(22) спс
   Mister-X07
 
26 - 27.07.18 - 11:38
(24) давно уже сделал, но это не решило проблему.
Такая строка соединения:

Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;Collating Sequence=MACHINE";

годиться только если в базе нет юзеров, я правильно понял?
   Djelf
 
27 - 27.07.18 - 12:23
(26) Пользователи тут не причем. Должно работать.
Но ты внимательно читал у Ёпрст`а?

> После записи, обязательное требование - переиндексация базы и пересчет итогов (если переносили и движения тоже)

Эта обработка не на каждый день...
   Mister-X07
 
28 - 27.07.18 - 12:38
(27) я пока не могу ее открыть, это уже после перекидки в другую базу надо это делать в той базе
   Mister-X07
 
29 - 27.07.18 - 12:53
(27)
переписал так
//======================================================================

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

и заработало! А формекс то я не загрузил перед соединением, теперь буду знать как работать с этими ddl-ками )). Занавес.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует