|
|
|
| У меня возникла такая задача. Нужно программисту 1С дать задачу чтобы он сотворил какую либо выгрузку из базы на сервер. Чтоб потом эти данные можно было просматривать на сайте.
То есть как он это будет делать это его проблема, а моя проблема в том в каком формате мне они нужны. То есть как я понимаю можно выгрузить в текстовый файл можно в *.dbf. Вот в этом и возникает проблема можно ли средствами РНР вытащить данные из *.dbf файла. И если да то как это делается, мож это просто, но я с трудом представляю структуру файла и тем более, то как читать данные из такого файла.
Мож есть какие то более другие способы взаимодействия 1С и РНР.
Подскажите пожалуста. | |
|
|
|
|
|
|
|
для: s1271tvg
(22.09.2004 в 14:18)
| | Структуру файла dbf достать не сложно... Но мне кажется следует попытаться задачу решать более простыми способами.
Какая используется база данных и нет ли возможности у вас достучаться до неё из PHP-скрипта (нельзя ли её открыть для одного IP-адреса - вашего Web-сервера)? | |
|
|
|
|
автор: elenaki (23.09.2004 в 12:26) |
|
|
для: cheops
(22.09.2004 в 20:03)
| | мне кажется, легче будет сделать экспорт из 1С в текстовый файл, а оттуда - PHP прочитает
и перенесет данные в базу MySQL. где-то была моя темка про FoxPro примерно с такой же
проблемой. есть программы-трансляторы, читающие dbf и переводящие их в sql. но ни одна
мне не понравилась. | |
|
|
|
|
|
|
|
для: elenaki
(23.09.2004 в 12:26)
| | Нет ну примерно как я вижу, что должно делаться. Программист 1С пришет обработку выкладывающую данные из базы 1С на сервер, причем обработка эта выполняется еженедельно или ежедневно это уже никого не должно касаться. А когда посетитель заходит на сайт и то моя задача средствами РНР предоставить ему эти данные.
Однако не беду я мозги не кому парить сделаю все с текстовым файлом и все, наверное. Хотя с базой mysql былобы сподручнее.
А вообще реально сделать такую выкладку напрямую средствами 1С из базы 1С в базу mysql на сервере? | |
|
|
|
|
автор: elenaki (23.09.2004 в 15:21) |
|
|
для: s1271tvg
(23.09.2004 в 14:01)
| | а в чем проблема - перенеси из текстового файла в базу! главное, чтоб разделители были,
отделяющие поля записей друг от друга, и не было разных "хитрых" символов, как у меня -
всякие /r, пробелы и т.п., которые пришлось предварительно чистить. а из csv- файла за 5
секунд все перенелось, легко и быстро. знаю, что 1С может делать экспорт в Excel, а оттуда
можно сохранить как *.csv (может, и напрямую из 1С в *.csv можно, не в курсе) | |
|
|
|
|
|
|
|
для: s1271tvg
(23.09.2004 в 14:01)
| | Ну можно, наверное, прямо в базу MySQL писать (из 1 С).
Тут cheops более осведомлен. Гош, ты ведь какой то драйвер пользуешь для MySQL?
И ODBC-шный драйвер есть... Хотя можно ли это делать именно из 1С - не знаю. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(23.09.2004 в 23:03)
| | Мне вот чего интересно... ведь 1С-ники не сами базу данных создают, а используют сторонюю? Так или нет? Краем уха слышал, что кто-то даже пытался использовать MySQL под это дело... В любом случае это же распределённое приложение, с отдельным сервером базы данных, а если у него есть сервер и клиенты почему бы не подсоединится к базе на прямую прямо из PHP-скрипта, минуя все промежуточные форматы?
Но для этого нужно знать какая используется база данных и она должна быть открыта в сети для машины, на которой исполняется PHP-скрипт. | |
|
|
|
|
|
|
|
для: cheops
(23.09.2004 в 23:21)
| | >1С-ники не сами базу данных создают, а используют сторонюю? Так или нет?
Ох..., по моему у них своя база. Вот формат файлов может быть и какой нибудь известный. Воможно, как раз, DBF. Но все это не точно (смутные воспоминания). Потому дальше "врать" не буду. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(23.09.2004 в 23:53)
| | А может я про что другое слышал :))) Тогда лучше, как elenaki предлагает через текстовый файл - по крайней мере ошибоки вылавливать проще, чем при работе с DBF... | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(23.09.2004 в 23:53)
| | Насколько я слышал существуют 4 версии 1С:
стандартная, ПРОФ, сетевая, SQL
Первые три хранят данные в .dbf формате, а SQL-ая версия использует в качестве СУБД MS SQL. | |
|
|
|
|
|
|
|
для: Кузнецов М.В.
(24.09.2004 в 10:43)
| | Это если речь идет про бухгалтерию. А вот 1С:документооборот, вроде использует какое-то оригинальное объектно-ориентированное хранилище, поскольку все что было до этого их якобы не устроило из соображений гарантии сохранности данных (шифрование и устойчивость к программно-аппаратным сбоям). Поэтому с этой системой можно работать только посредством API, который они предоставляют. Ну а там уже через ODBC можно написать чего-нить такое, чтобы заинтегрить все это безобразие с какой-либо другой СУБД. Правда, те, кто это делал, говорят, что в таком варианте работает все очень не быстро. | |
|
|
|
|
|
|
|
для: cheops
(22.09.2004 в 20:03)
| | Какая используется база и как там вообще все организовано я не знаю с заказчиком еще не могу нормально встретиться, и поговорить по этому поводу.
А вообще я имел ввиду немного другое. Про структуру дбф просто получается я не так выразился.
Мне хотелось бы понять вот что. Можно ли вытаскивать из дбф файла данные как из базы данных, тоесть я имею ввиду открыть файл и обратиться к определенному полю.
тоесть что то наподобие как к базе
select * from basename where produkt=$produkt
|
или что нибудь в этом духе.
Нужно ли для этого открывать дбф файл особым образом (специальной функцией) или что то еще. А мож это вообще невозможно. | |
|
|
|
|
|
|
|
для: s1271tvg
(28.09.2004 в 08:56)
| | Для работы PHP с DBF есть специальные функции.
У нас в справочнике на сайте их нет. Поэтому чтобы посмотреть Вам нужно мануал.
Но основная проблема не это. Для того чтобы PHP мог работать с DBF он должен быть скомпилированон с опцией --enable-dbase
Если этого нет, то работать с DBF не получится. :(
Чтобы посмотреть запуcтите функцию phpinfo(). В самом верху будет поле Configure Command Там находятся опции, с которыми был сконфигурирован PHP.
PS: Если все же DBF подключен - пишите, подумаем дальше :) | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(28.09.2004 в 10:52)
| | Ага спасибо узнаю напишу. | |
|
|
|