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 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Ведущий программист 1С
Омск
зарплата от 70 000 руб. до 110 000 руб.
Полный день

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

Консультант-аналитик 1С
Рязань
зарплата до 80 000 руб.
Полный день

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