Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Взаимодействие РНР с 1С
 
 автор: s1271tvg   (22.09.2004 в 14:18)   письмо автору
 
 

У меня возникла такая задача. Нужно программисту 1С дать задачу чтобы он сотворил какую либо выгрузку из базы на сервер. Чтоб потом эти данные можно было просматривать на сайте.
То есть как он это будет делать это его проблема, а моя проблема в том в каком формате мне они нужны. То есть как я понимаю можно выгрузить в текстовый файл можно в *.dbf. Вот в этом и возникает проблема можно ли средствами РНР вытащить данные из *.dbf файла. И если да то как это делается, мож это просто, но я с трудом представляю структуру файла и тем более, то как читать данные из такого файла.
Мож есть какие то более другие способы взаимодействия 1С и РНР.
Подскажите пожалуста.

   
 
 автор: cheops   (22.09.2004 в 20:03)   письмо автору
 
   для: 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. но ни одна
мне не понравилась.

   
 
 автор: s1271tvg   (23.09.2004 в 14:01)   письмо автору
 
   для: 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 можно, не в курсе)

   
 
 автор: glsv (Дизайнер)   (23.09.2004 в 23:03)   письмо автору
 
   для: s1271tvg   (23.09.2004 в 14:01)
 

Ну можно, наверное, прямо в базу MySQL писать (из 1 С).

Тут cheops более осведомлен. Гош, ты ведь какой то драйвер пользуешь для MySQL?
И ODBC-шный драйвер есть... Хотя можно ли это делать именно из 1С - не знаю.

   
 
 автор: cheops   (23.09.2004 в 23:21)   письмо автору
 
   для: glsv (Дизайнер)   (23.09.2004 в 23:03)
 

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

Но для этого нужно знать какая используется база данных и она должна быть открыта в сети для машины, на которой исполняется PHP-скрипт.

   
 
 автор: glsv (Дизайнер)   (23.09.2004 в 23:53)   письмо автору
 
   для: cheops   (23.09.2004 в 23:21)
 

>1С-ники не сами базу данных создают, а используют сторонюю? Так или нет?
Ох..., по моему у них своя база. Вот формат файлов может быть и какой нибудь известный. Воможно, как раз, DBF. Но все это не точно (смутные воспоминания). Потому дальше "врать" не буду.

   
 
 автор: cheops   (24.09.2004 в 10:17)   письмо автору
 
   для: glsv (Дизайнер)   (23.09.2004 в 23:53)
 

А может я про что другое слышал :))) Тогда лучше, как elenaki предлагает через текстовый файл - по крайней мере ошибоки вылавливать проще, чем при работе с DBF...

   
 
 автор: Кузнецов М.В.   (24.09.2004 в 10:43)   письмо автору
 
   для: glsv (Дизайнер)   (23.09.2004 в 23:53)
 

Насколько я слышал существуют 4 версии 1С:
стандартная, ПРОФ, сетевая, SQL
Первые три хранят данные в .dbf формате, а SQL-ая версия использует в качестве СУБД MS SQL.

   
 
 автор: Кузнецов М.В.   (24.09.2004 в 10:49)   письмо автору
 
   для: Кузнецов М.В.   (24.09.2004 в 10:43)
 

Это если речь идет про бухгалтерию. А вот 1С:документооборот, вроде использует какое-то оригинальное объектно-ориентированное хранилище, поскольку все что было до этого их якобы не устроило из соображений гарантии сохранности данных (шифрование и устойчивость к программно-аппаратным сбоям). Поэтому с этой системой можно работать только посредством API, который они предоставляют. Ну а там уже через ODBC можно написать чего-нить такое, чтобы заинтегрить все это безобразие с какой-либо другой СУБД. Правда, те, кто это делал, говорят, что в таком варианте работает все очень не быстро.

   
 
 автор: s1271tvg   (28.09.2004 в 08:56)   письмо автору
 
   для: cheops   (22.09.2004 в 20:03)
 

Какая используется база и как там вообще все организовано я не знаю с заказчиком еще не могу нормально встретиться, и поговорить по этому поводу.
А вообще я имел ввиду немного другое. Про структуру дбф просто получается я не так выразился.
Мне хотелось бы понять вот что. Можно ли вытаскивать из дбф файла данные как из базы данных, тоесть я имею ввиду открыть файл и обратиться к определенному полю.
тоесть что то наподобие как к базе
select * from basename where produkt=$produkt

или что нибудь в этом духе.
Нужно ли для этого открывать дбф файл особым образом (специальной функцией) или что то еще. А мож это вообще невозможно.

   
 
 автор: glsv (Дизайнер)   (28.09.2004 в 10:52)   письмо автору
 
   для: s1271tvg   (28.09.2004 в 08:56)
 

Для работы PHP с DBF есть специальные функции.
У нас в справочнике на сайте их нет. Поэтому чтобы посмотреть Вам нужно мануал.

Но основная проблема не это. Для того чтобы PHP мог работать с DBF он должен быть скомпилированон с опцией --enable-dbase
Если этого нет, то работать с DBF не получится. :(

Чтобы посмотреть запуcтите функцию phpinfo(). В самом верху будет поле Configure Command Там находятся опции, с которыми был сконфигурирован PHP.

PS: Если все же DBF подключен - пишите, подумаем дальше :)

   
 
 автор: s1271tvg   (28.09.2004 в 12:31)   письмо автору
 
   для: glsv (Дизайнер)   (28.09.2004 в 10:52)
 

Ага спасибо узнаю напишу.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования