Встала как-то передо мной задача работать с таблицами парадокса в 1С. Так как встроенных средств для этого нет, а побродив по форумам я наткнулся на лишь на пару статей, в которых описывалась работа с парадоксом через ADO, что мне показалось не очень удобно, я решил написать свою компоненту для доступа.
Методы старался делать где это возможно максимально близкие к xBase.
Вроде самое необходимое реализовал. Впоследствии компонента будет дополняться.
Методы старался делать где это возможно максимально близкие к xBase.
Вроде самое необходимое реализовал. Впоследствии компонента будет дополняться.
Атрибуты:
- <Поле>
Методы:
- СоздатьФайл()
- ОткрытьФайл()
- Открыта()
- ЗакрытьФайл()
- ОчиститьФайл ()
- Первая()
- Последняя()
- Следующая()
- Предыдущая()
- НомерЗаписи()
- Перейти()
- ВКонце()
- ВНачале()
- Найти()
- ПолучитьЗначениеПоля()
- УстановитьЗначениеПоля()
- Добавить()
- Скопировать()
- АвтоСохранение()
- Записать()
- Отменить()
- Удалить()
- Очистить()
- КоличествоЗаписей()
- КоличествоПолей()
- ОписаниеПоля()
- ОписаниеТаблицы()
- ПолучитьНазваниеПоля()
- НомерПоля()
- ДобавитьПоле()
- КодОшибки()
- РежимОтладки()
- Фильтрация()
Подробное описание методов в прилагаемом als-файле.
новое в версии 2.0.3.20 от 14.06.2006
+ Новый метод Фильтрация(); -Установить режим фильтрации записей в базе.
* Косметические исправления
Скачал, поставил, потестил. Работает.
Нормально. Спасибо.
А планируется ли через BDE сделать доступ из 1С 8.0 к InberBase — подобным базам?
пока не планируется, собственно отсутствуют задачи для данной СУБД
Спасибо. Особенно за метод Фильтрация();
Все хорошо и решил воспользоваться. Нет одной только функции . Удалить все помеченные записи (команда Раск).
Необходимо через 1С свернуть базу Paradox на определенную дату.
Возможность по доработке отсутствует, затерялись исходники и что то мне подсказывает они не найдутся. 🙁
Здесь уже использовали эту разработку http://www.paltusov.ru Вот для обмена с R-Keeper………
Не уловил суть комментария если честно 😀
в посте №6 привожу пример использования вашей разработки 😉
Народ, закиньте плиз пример использования н 7.7 Интересует выгрузка данных в Paradox .DB файл!! Очень надо !!! Help !!
Если ЗагрузитьВнешнююКомпоненту(«BDEBase.dll»)=0 Тогда
Сообщить(«Не удалось обнаружить компоненту BDEBase.dll!»);
КонецЕсли;
Попытка
БДЕ = СоздатьОбъект(«Addin.BDEBase»);
Исключение
Сообщить(«Не удалось создать объекты Addin.dbBase!»);
КонецПопытки;
БДЕ.ОткрытьФайл ( «C:deBasepLogData.DB», );
пока БДЕ.ВКонце() = 0 Цикл
сообщить(БДЕ.Num);
Бде.Следующая();
КонецЦикла;
Попытаюсь использовать для импорта в 1С 8.2 из X-DOOR (есть такая бухгалтерская программа, базы — PARADOX).
Получится?
С данной системой не знаком.
Всё зависит от поставленной задачи)
Да там просто файлики, в которых хранится всякая хрень — справочники, таблицы планы счетов.
Вобщем мне бы доступ к файликам получить и прочитать из них данные (из-под 1С v. 8.2)…
Обычно проблем не вызывает, будут сложности пишите.
Гляжу — одного плюсика для рейтинга не хватает, а работа вроде серьезная.
Так что + )))
с paradox 7 не дружит(
Поддержку форматов осуществляет BDE
Здравствуйте!
Давно не пользовался. а на днях попробовал и получил по варианту подключения компоненты 2 ошибку 0х800004005 под Win7. Придушил Брандмауэр полностью… не помогает. По варианту подключения компоненты 1 пишет, что отсутствует CLSID! Я так понимаю он где то в системном реестре пишется, ну и радость эта имеет двоичное представление??? Что характерно у Jmail.dll, FormEx, 1CPP эта радость есть и не требует никаких усилий. Думаю: если бы Вы перетранслировать старые исходники в какой-то новой версиии интерпретатора то проблемма снялась бы сама… С уважением Евгений
Извините! Вроде сам разрулил! 2 строчки в реестре и всё! Однако… это требует достаточной квалификации. Хотя в отношении Вашей *.dll, вполне возможно, что Вам всё-равно, кто и как её будет истользовать… Работает то классно!
как уже писал ранее «Возможность по доработке отсутствует, затерялись исходники» ((
Пытаюсь подрубится к СКУД ОРИОН с помощью длл…Всё ок только отфильтровать по дате не получается…Может подскажет кто как отфильтровать записи за определенный период?в строку загоняю отбор «([TimeVal]>'»+НачДата+»‘) и ([TimeVal]<‘»+конецдня(КонДата)+»‘) а тащит все записи с начала года. Хотя датаНач = 01.12.2012 КонДата = 31.12.2012
Пришлите пример файла и обработку
Спасибо.
Пример создания таблицы paradox
Попытка
База = New(«Addin.BDEBase»);
Исключение
Сообщить(«Не удалось создать объекты Addin.BDEBase!»);
КонецПопытки;
//База.РежимОтладки(1);
База.ДобавитьПоле(«Fml», «S» , 50 , 1); // фио
База.СоздатьФайл(«D:
ewdb.db»,);
База.Добавить();
//База.Fml = Стр.Fml;
База.УстановитьЗначениеПоля(«Fml»,»Фёдор Емельяненко»);
База.Записать();
База.ЗакрытьФайл();
Отличная разработка!!!
подскажите, как отфильтровать таблицу по дате?
Фильтрация(<Режим>,<КритерийФильтрации>,<Параметры>)
Назначение:
Установить режим фильтрации записей в базе.
Возвращает:
Текущее числовое значение режима фильтрации (на момент до исполнения метода).
Параметры:
<Режим> — выражение: 1 — задает режим фильтрации в базе, 0 — снимает (по умолчанию — 0)
<КритерийФильтрации> — В описании критерия фильтрации можно указывать имена полей и литералы (явно заданные значения); можно использовать обычные операции отношения и логические операторы И , ИЛИ , НЕ , например:
Эта запись фильтра оставит в таблице записи, в которых поля Doljnost=»»доцент»» и TabNum больше 3000
Фильтрация(1,»([Doljnost]=’доцент’) И ([TabNum] > 3000)»,0)
после долгих проб и ошибок работает фильтрация по дате
только при попытке добавить условие, фильтр сбрасывается…
так не работает.. а хотелось бы..
даже два условия вместе не работают
Пришлите в личку пример таблицы и обработку на которых проблема воспроизводиться.
как вариант пробуйте вставить пробелы перед и после «И»
Всё получилось! нужны пробелы.
еще интересует последний параметр
Фильтрация(<Режим>,<КритерийФильтрации>,<Параметры>) нигде не нашёл описание, а так обработка супер!
BioAngel, Здравствуйте !
Использую вашу разработку для регулярного чтения данных из другой базы данных, но функция ОткрытьФайл() срабатывает только на 100 файлах, затем на 101-м файле возвращает «0». Это ограничения компоненты или в каких то настройках BDE можно увеличить этот параметр? Файлы начинают открываться только после перезапуска сеанса 1С.
похоже нашел во что упираюсь, в ограничение Paradox 100 паролей на сессию.
Функция КодОшибки() выдает Too many passwords. 🙁
Никак не обойти, не закрывая сеанс 1С ?
без доработки видимо не получится, но как уже писал ранние исходники давно утрачены вместе с жёстким диском
(34) подскажите, кириллица нормально читается компонентой? Если использовать ADODB, то при чтении кириллицы выходят кракозябры и даже не знаю как лечить это.
возможно кодировка в заголовке таблицы не соответствует её содержанию, в любом случае надо проверять
(22) поделись пожалуйста секретом как фильтрацию по полям с Датой делать ))))
31 сообщение посмотрите