Black Friday: Cashback 35% при покупке 1С лицензий на счет INFOSTART.RU
0. BioAngel 47 24.07.06 11:34 Сейчас в теме

Внешняя компонента для доступа к paradox через BDE (BDEBase 2.0.3.20 от 14.06.2006)

Встала как-то передо мной задача работать с таблицами парадокса в 1С. Так как встроенных средств для этого нет, а побродив по форумам я наткнулся на лишь на пару статей, в которых описывалась работа с парадоксом через ADO, что мне показалось не очень удобно, я решил написать свою компоненту для доступа.
Методы старался делать где это возможно максимально близкие к xBase.
Вроде самое необходимое реализовал. Впоследствии компонента будет дополняться.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. ildarmcs 24.07.06 11:34 Сейчас в теме
Скачал, поставил, потестил. Работает.
Нормально. Спасибо.
А планируется ли через BDE сделать доступ из 1С 8.0 к InberBase - подобным базам?
24. BioAngel 47 04.06.13 23:13 Сейчас в теме
Пример создания таблицы paradox
Попытка
База = New("Addin.BDEBase");
Исключение
Сообщить("Не удалось создать объекты Addin.BDEBase!");
КонецПопытки;
//База.РежимОтладки(1);
База.ДобавитьПоле("Fml", "S" , 50 , 1); // фио
База.СоздатьФайл("D:\newdb.db",);
База.Добавить();
//База.Fml = Стр.Fml;
База.УстановитьЗначениеПоля("Fml","Фёдор Емельяненко");
База.Записать();
База.ЗакрытьФайл();
2. BioAngel 47 24.07.06 11:49 Сейчас в теме
пока не планируется, собственно отсутствуют задачи для данной СУБД
3. znh 29 07.04.07 07:20 Сейчас в теме
Спасибо. Особенно за метод Фильтрация();
4. wer_alex 18.09.08 16:19 Сейчас в теме
Все хорошо и решил воспользоваться. Нет одной только функции . Удалить все помеченные записи (команда Раск).
Необходимо через 1С свернуть базу Paradox на определенную дату.
5. BioAngel 47 30.09.08 15:48 Сейчас в теме
Возможность по доработке отсутствует, затерялись исходники и что то мне подсказывает они не найдутся. :(
6. Muhin555 14 04.02.10 10:05 Сейчас в теме
Здесь уже использовали эту разработку www.paltusov.ru Вот для обмена с R-Keeper………
Прикрепленные файлы:
restdemo.zip
7. BioAngel 47 04.02.10 19:55 Сейчас в теме
Не уловил суть комментария если честно :D
8. Muhin555 14 12.03.10 00:34 Сейчас в теме
в посте №6 привожу пример использования вашей разработки ;)
9. egor_gsm 18.02.11 10:47 Сейчас в теме
Народ, закиньте плиз пример использования н 7.7 Интересует выгрузка данных в Paradox .DB файл!! Очень надо !!! Help !!
10. BioAngel 47 17.05.11 22:11 Сейчас в теме
Если ЗагрузитьВнешнююКомпоненту("BDEBase.dll")=0 Тогда
Сообщить("Не удалось обнаружить компоненту BDEBase.dll!");
КонецЕсли;
Попытка
БДЕ = СоздатьОбъект("Addin.BDEBase");
Исключение
Сообщить("Не удалось создать объекты Addin.dbBase!");
КонецПопытки;

БДЕ.ОткрытьФайл ( "C:\bdeBase\pLogData.DB", );
пока БДЕ.ВКонце() = 0 Цикл
сообщить(БДЕ.Num);
Бде.Следующая();
КонецЦикла;
11. igor_gk 46 12.10.11 11:42 Сейчас в теме
Попытаюсь использовать для импорта в 1С 8.2 из X-DOOR (есть такая бухгалтерская программа, базы - PARADOX).
Получится?
12. BioAngel 47 12.10.11 14:38 Сейчас в теме
С данной системой не знаком.
Всё зависит от поставленной задачи)
13. igor_gk 46 12.10.11 14:44 Сейчас в теме
Да там просто файлики, в которых хранится всякая хрень - справочники, таблицы планы счетов.
Вобщем мне бы доступ к файликам получить и прочитать из них данные (из-под 1С v. 8.2)...
14. BioAngel 47 12.10.11 15:56 Сейчас в теме
Обычно проблем не вызывает, будут сложности пишите.
15. mikhailovaew 126 20.10.11 14:00 Сейчас в теме
Гляжу - одного плюсика для рейтинга не хватает, а работа вроде серьезная.
Так что + )))
16. Михаська 12 09.02.12 11:26 Сейчас в теме
17. BioAngel 47 09.02.12 17:19 Сейчас в теме
Поддержку форматов осуществляет BDE
18. ge_ni 298 21.09.12 14:32 Сейчас в теме
Здравствуйте!
Давно не пользовался. а на днях попробовал и получил по варианту подключения компоненты 2 ошибку 0х800004005 под Win7. Придушил Брандмауэр полностью... не помогает. По варианту подключения компоненты 1 пишет, что отсутствует CLSID! Я так понимаю он где то в системном реестре пишется, ну и радость эта имеет двоичное представление??? Что характерно у Jmail.dll, FormEx, 1CPP эта радость есть и не требует никаких усилий. Думаю: если бы Вы перетранслировать старые исходники в какой-то новой версиии интерпретатора то проблемма снялась бы сама... С уважением Евгений
19. ge_ni 298 21.09.12 15:49 Сейчас в теме
Извините! Вроде сам разрулил! 2 строчки в реестре и всё! Однако... это требует достаточной квалификации. Хотя в отношении Вашей *.dll, вполне возможно, что Вам всё-равно, кто и как её будет истользовать... Работает то классно!
20. BioAngel 47 25.09.12 15:31 Сейчас в теме
как уже писал ранее "Возможность по доработке отсутствует, затерялись исходники" ((
21. Vovanich 10.01.13 23:09 Сейчас в теме
Пытаюсь подрубится к СКУД ОРИОН с помощью длл...Всё ок только отфильтровать по дате не получается...Может подскажет кто как отфильтровать записи за определенный период?в строку загоняю отбор "([TimeVal]>'"+НачДата+"') и ([TimeVal]<'"+конецдня(КонДата)+"') а тащит все записи с начала года. Хотя датаНач = 01.12.2012 КонДата = 31.12.2012
22. BioAngel 47 12.01.13 14:12 Сейчас в теме
Пришлите пример файла и обработку
37. ejik2012 04.07.14 14:55 Сейчас в теме
(22) поделись пожалуйста секретом как фильтрацию по полям с Датой делать ))))
23. N_aix 09.03.13 16:09 Сейчас в теме
25. kozorez 6 27.09.13 05:03 Сейчас в теме
26. kozorez 6 27.09.13 18:59 Сейчас в теме
подскажите, как отфильтровать таблицу по дате?
27. BioAngel 47 27.09.13 19:11 Сейчас в теме
Фильтрация(<Режим>,<КритерийФильтрации>,<Параметры>)

Назначение:
Установить режим фильтрации записей в базе.

Возвращает:
Текущее числовое значение режима фильтрации (на момент до исполнения метода).

Параметры:

<Режим> - выражение: 1 - задает режим фильтрации в базе, 0 - снимает (по умолчанию - 0)
<КритерийФильтрации> - В описании критерия фильтрации можно указывать имена полей и литералы (явно заданные значения); можно использовать обычные операции отношения и логические операторы И , ИЛИ , НЕ , например:
Эта запись фильтра оставит в таблице записи, в которых поля Doljnost=""доцент"" и TabNum больше 3000
Фильтрация(1,"([Doljnost]='доцент') И ([TabNum] > 3000)",0)
28. kozorez 6 27.09.13 19:26 Сейчас в теме
после долгих проб и ошибок работает фильтрация по дате
measure.Фильтрация(1,"([RecDTime]>'"+строка(НачДата)+"')",0); 

только при попытке добавить условие, фильтр сбрасывается...
29. kozorez 6 27.09.13 19:30 Сейчас в теме
measure.Фильтрация(1,"([Terminal]=7815)и([Terminal]=7814)И([RecDTime]>'"+строка(НачДата)+"')И([RecDTime]<'"+строка(КонДата)+"')",0);


так не работает.. а хотелось бы..
даже два условия вместе не работают
30. BioAngel 47 27.09.13 19:47 Сейчас в теме
Пришлите в личку пример таблицы и обработку на которых проблема воспроизводиться.
как вариант пробуйте вставить пробелы перед и после "И"
31. kozorez 6 28.09.13 04:35 Сейчас в теме
Всё получилось! нужны пробелы.
measure.Фильтрация(1,"(([Terminal]=7815) или ([Terminal]=7814)) И ([RecDTime]>'"+строка(НачДата)+"') И ([RecDTime]<'"+строка(КонДата+1)+"')",0);


еще интересует последний параметр
Фильтрация(<Режим>,<КритерийФильтрации>,<Параметры>) нигде не нашёл описание, а так обработка супер!

32. Arden 29.10.13 12:10 Сейчас в теме
BioAngel, Здравствуйте !

Использую вашу разработку для регулярного чтения данных из другой базы данных, но функция ОткрытьФайл() срабатывает только на 100 файлах, затем на 101-м файле возвращает "0". Это ограничения компоненты или в каких то настройках BDE можно увеличить этот параметр? Файлы начинают открываться только после перезапуска сеанса 1С.
33. Arden 29.10.13 13:23 Сейчас в теме
похоже нашел во что упираюсь, в ограничение Paradox 100 паролей на сессию.
Функция КодОшибки() выдает Too many passwords. :(

Никак не обойти, не закрывая сеанс 1С ?
34. BioAngel 47 29.10.13 18:30 Сейчас в теме
без доработки видимо не получится, но как уже писал ранние исходники давно утрачены вместе с жёстким диском
35. ejik2012 02.07.14 10:05 Сейчас в теме
(34) подскажите, кириллица нормально читается компонентой? Если использовать ADODB, то при чтении кириллицы выходят кракозябры и даже не знаю как лечить это.
36. BioAngel 47 02.07.14 13:27 Сейчас в теме
возможно кодировка в заголовке таблицы не соответствует её содержанию, в любом случае надо проверять
38. BioAngel 47 04.07.14 23:56 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист/Cтарший программист 1С
Москва
зарплата от 100 000 руб. до 250 000 руб.
Полный день

Программист 1С
Калининград
зарплата от 60 000 руб. до 80 000 руб.
Полный день


Руководитель проектов 1С
Санкт-Петербург
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 150 000 руб.
Полный день