Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Совместное использование 1с и VFP  [new]
Лунтик
Member

Откуда:
Сообщений: 97
1. Можно ли в VFP создать триггер на свободную таблицу (*.dbf) из каталога 1С (таблица рабочая, портить нельзя)
2. Можно ли в VFP создать VIEW на *.dbf, чтобы использовать его из другого приложения (другой процесс 1с+OLEDB VFP)
21 июл 10, 17:25    [9139679]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Guest12345
Guest
Лунтик
1. Можно ли в VFP создать триггер на свободную таблицу (*.dbf) из каталога 1С (таблица рабочая, портить нельзя)
2. Можно ли в VFP создать VIEW на *.dbf, чтобы использовать его из другого приложения (другой процесс 1с+OLEDB VFP)


По 1) триггер можно создать только на файл включенный в контейнер.
2) создать VIEW можно, создаете контейнер, в нем View, зачем вам OLEDB здесь непонятно.
21 июл 10, 22:10    [9140680]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Guest12345, до меня правильно дошла твоя мысль, что

1)Если таблица свободная, то файлу dbc никак нельзя объяснить, что таблица имеет к нему какое-то отношение? Или можно, но структура DBF нарушится?
Под словом свободная имеется ввиду, что *.dbf был создан в другой среде, например в 1С, и поэтому теперь он сам по себе. Да?


2) View можно создавать на свободную таблицу (а на несколько таблиц в разных каталогах?)

Вообще требуется увидеть VIEW, консолидирующий несколько свободных таблиц.
План действия такой

а)Создавать View из-под 1С используя OLEDB VFP (вернее мне еще не ясно можно ли это сделать из-под 1с, поэтому, создаваться будет, наверное, в FoxPro).
б) При открытии 1с будет осуществляться подключение к этому View через OLEDB (точнее будет просто SELECT из него - так ведь можно,да?).
Получается, мне будут во View видны изменения, которые делают другие пользователи в других таблицах (в моей в том числе).Да?


прошу прощения слабое знание FOXPRO и соответственно за путаницу в понятиях.
21 июл 10, 23:43    [9140844]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
thunder2
Member

Откуда:
Сообщений: 380
Лунтик,

автор
1)Если таблица свободная, то файлу dbc никак нельзя объяснить, что таблица имеет к нему какое-то отношение?

Почему нет ? Объяснить можно путем выполнения команды.
ADD TABLE TableName | ?   [NAME LongTableName]
Эту команду можно передать прямо в OleDB Provider. Но OleDBProvider не все команды VFP принимает.
автор

Или можно, но структура DBF нарушится?

Ага. Точнее талица будет преобразована в формат VFP 5.0 и для 1с она будет "чужая".
автор

Под словом свободная имеется ввиду, что *.dbf был создан в другой среде, например в 1С, и поэтому теперь он сам по себе. Да?

Если грубо сказать - да. А вот при работе "на прямую" с таблицами 1с у VFP есть проблемы. Сколько раз я пробовал из VFP работать с таблицами 1с (версия 7.7) они ему "не нравяться", а именно индексы. Их приходиться переиндексировать. Давно это было, может с тех пор что-то поменялось.
автор
Вообще требуется увидеть VIEW, консолидирующий несколько свободных таблиц.
План действия такой

а)Создавать View из-под 1С используя OLEDB VFP (вернее мне еще не ясно можно ли это сделать из-под 1с, поэтому, создаваться будет, наверное, в FoxPro).

Неа. Команда CREATE VIEW неподдерживается OLE DB Provider VFP. Veiw, хранимые процедуры должны быть в DBC. Также не поддерживается CREATE TRIGGER, CREATE SQL VIEW. Но !!! ничто Вам не мешает выполнить любой SELECT, хранимую процедуру. Разумеется, чтобы видеть изменения данных придется повтороно вызывать SELECT.
Вот пример использования OLE DB Provider VFP в классическом ASP (JScript):
var adStateOpen = 1;
var adStateClosed = 0;
var adCmdText = 1;

var dbpath="x:\\tra-la-la\\";
var gcCntStr = "Provider=VFPOLEDB.1;Data Source="+dbpath+"main.dbc;Mode=ReadWrite|Share Deny None;";
oConn = Server.CreateObject("ADODB.Connection");
oConn.ConnectionString = gcCntStr;
oConn.CursorLocation=3;
oConn.Open();
if (oConn.State == adStateOpen)
{	
  oCommand = Server.CreateObject("ADODB.Command");
  oCommand.ActiveConnection = oConn;
  oCommand.CommandType = 1;
// вызов хранимой процедуры
  oCommand.CommandText = "sp_login('"+Request.QueryString("name")+"','"+Request.QueryString("psw")+"')";
// выполнение SELECT-запроса
oCommand.CommandText="SELECT DTOC(a.date) as date, a.number, a.summa, a.rsumma, a.id, b.name as sklad_name FROM main!rasnakl as a INNER JOIN main!sklad as b ON a.sklad=b.id WHERE a.client=["+Session('clientid')+"]";

  var goRS = oCommand.Execute();
  if(goRS.RecordCount>0)
  {.делаем чего надо со строками результата.}
}
oConn=null;
oCommand=null;
goRS=null;	
22 июл 10, 00:27    [9140927]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Ой, как сложно, буду разбираться.
На вскидку (из того, что уже знаю из FoxPro) хочу сказать, что
FoxPro9 поддерживает CDX, и есть EXECScript

Обновления можно посмотреть здесь

http://www.foxclub.ru/rhproject/project/html/d18b257b-4e8c-4bd7-bc46-682526474e68.htm


Прошу прошения за хитрый ход, но ссылку я привожу для того, чтобы кто-нибудь прочитал ее и
рассказал бы мне как решить мою задачу
22 июл 10, 11:39    [9142420]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
thunder2
Member

Откуда:
Сообщений: 380
Лунтик,

автор
Прошу прошения за хитрый ход, но ссылку я привожу для того, чтобы кто-нибудь прочитал ее и
рассказал бы мне как решить мою задачу

Ну для начала расскажите что хочеться получить.
22 июл 10, 13:15    [9143381]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Лунтик
Member

Откуда:
Сообщений: 97
1.Хотелось бы создать View , который объединяет подобные таблицы из разных каталогов (=баз 1с).
OLE DB Provider VFP не умеет создавать View , но нигде не прописано, что он их читать не умеет.

2.Хотелось бы навесить триггер на DBF, но OLE DB Provider VFP не умеет этого делать тоже. Ну так может быть через View это можно сделать?

3. ADD table в VFP 5.0 делала таблицу DBF чужой для 1с, а в VFP 9.0. ? Что такое REMOTE VIEW - может это то самое, т.е. смотрю, но не правлю?

Кстати, что-то типа этого народ уже делал
http://www.1cpp.ru/forum/YaBB.pl?num=1183553285/15 (steban я тебя уважаю)
23 июл 10, 23:23    [9152814]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Dag
Member

Откуда:
Сообщений: 842
Лунтик
1.Хотелось бы создать View , который объединяет подобные таблицы из разных каталогов (=баз 1с).
OLE DB Provider VFP не умеет создавать View , но нигде не прописано, что он их читать не умеет.

2.Хотелось бы навесить триггер на DBF, но OLE DB Provider VFP не умеет этого делать тоже. Ну так может быть через View это можно сделать?

3. ADD table в VFP 5.0 делала таблицу DBF чужой для 1с, а в VFP 9.0. ? Что такое REMOTE VIEW - может это то самое, т.е. смотрю, но не правлю?

1. Создавать VIEW необязательно, достаточно выполнить Select-SQL и посмотреть результат.
2. Триггер можно повесить на таблицу, включенную в базу данных (файл .dbc) При включении свободной таблицы в контейнер базы данных происходит изменение заголовка таблицы, 1С это может не понравиться.
24 июл 10, 08:04    [9153164]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
FoxSoftware
Guest
Лунтик
1. Можно ли в VFP создать триггер на свободную таблицу (*.dbf) из каталога 1С (таблица рабочая, портить нельзя)
2. Можно ли в VFP создать VIEW на *.dbf, чтобы использовать его из другого приложения (другой процесс 1с+OLEDB VFP)

Вопрос сформулирован хренпоймёшьхренразберёшь.
Учитесь выражёвываться!
1. Зачем тебе тригер?? Напиши себе прогу на фоксе и делай любые операции над свободной таблицей dbf.

2. VIEW на *.dbf не создают, создают VIEW из *.dbf!
Опять таки сформулировано раком.
Если ты планируешь из 1С цеплять базу фокса, то так и скажи.
Для этого тебе понадобится ODBC драйвер от VFP, а дальше задавай вопросы тем кто лепил 1С и читай команды работы с базой DBF. Команда фокса Select SQL создаст тебе любой view кокой только пожелаешь.
25 июл 10, 20:03    [9155476]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Лунтик
Member

Откуда:
Сообщений: 97
1. Триггер нужен, чтобы регистрировать изменения в DBF, а регистрировать изменения нужно, чтобы журналировать работу (того, что есть в штате 1С мне мало) и, может быть, создавать структуро-независимые зеркала таблиц (т.е. если кто-то использует мое поле Сумма, ему не потребуется знать имя поля SP1111).

2. View из нескольких баз нужно в качестве большого структурно-независимого зеркала, в котором по-определению не может быть коллизий. Если получатся маленькие зеркала без коллизий (см. пункт 1), то это было бы лучше. Выборка из нескольких баз осложняется тем, что нужно знать структуры таблиц, т.е. каждый раз считывать ее и терять время. Таблицы DBF имеют нестабильные состав и структуру, а вот структуру зеркала законсервировать легче, сл. и выборка из него будет проще и понятнее (может даже какого-нибудь экономиста можно будет посадить на него).

Базу фокса я цеплять не собираюсь. В моем представлении, я хочу поподробнее разглядеть свои базы, но ODBC и OLEDB ограничены в средствах (про 1С говорить даже не будем).

Уважаемые профи Foxa, почему никто не скажет "правильным путем идешь, товарищ". Или меня совсем не туда несет?
26 июл 10, 09:54    [9156476]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
проходящий.
Guest
Лунтик
я хочу поподробнее разглядеть свои базы, но ODBC и OLEDB ограничены в средствах
И в чем они ограничены? Чего в них не хватает?
26 июл 10, 10:01    [9156520]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Например, Create Trigger, Create View
26 июл 10, 10:40    [9156755]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
проходящий.
Guest
Лунтик
Например, Create Trigger, Create View
Ну нифига себе заявочки! От драйвера доступа к базе даных требовать возможностей самой базы данных? Вы там с дуба не рухнули? :) Это первое. Второе: Вы так и не озвучили первоначальную задачу для которой Вы выбрали решение с триггерами и view. Вы так и не озвучили причины, заставившие выбрать именно такой способ решения Вашей задачи.
26 июл 10, 10:50    [9156845]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
tanglir
Member

Откуда:
Сообщений: 28966
проходящий, задачу-то он озвучил: нужен аудит dbf-таблиц, причём в dbc вгонять их нельзя. имхо, дохлый номер.
26 июл 10, 11:21    [9157168]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
проходящий.
Guest
tanglir
проходящий, задачу-то он озвучил: нужен аудит dbf-таблиц, причём в dbc вгонять их нельзя. имхо, дохлый номер.
В слово "аудит" можно вложить много. Какой смысл в это слово вкладывает авторо топика? Чего именно ему не хватило в 1С?
И еще меня смущает зацикленность товарища на view,хотя это всего лишь завпрос и ничего более. Но топикстартер в слов view? как мне показалось, опять вкладывает какой-то свой смысл. И, похоже, не самый правильный. Тем самым направляя свой путь в тупик.
26 июл 10, 11:34    [9157302]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
FoxSoftware
Guest
Лунтик
1. Триггер нужен, чтобы регистрировать изменения в DBF, а регистрировать изменения нужно, чтобы журналировать работу (того, что есть в штате 1С мне мало) и, может быть, создавать структуро-независимые зеркала таблиц (т.е. если кто-то использует мое поле Сумма, ему не потребуется знать имя поля SP1111).

2. View из нескольких баз нужно в качестве большого структурно-независимого зеркала, в котором по-определению не может быть коллизий. Если получатся маленькие зеркала без коллизий (см. пункт 1), то это было бы лучше. Выборка из нескольких баз осложняется тем, что нужно знать структуры таблиц, т.е. каждый раз считывать ее и терять время. Таблицы DBF имеют нестабильные состав и структуру, а вот структуру зеркала законсервировать легче, сл. и выборка из него будет проще и понятнее (может даже какого-нибудь экономиста можно будет посадить на него).

Базу фокса я цеплять не собираюсь. В моем представлении, я хочу поподробнее разглядеть свои базы, но ODBC и OLEDB ограничены в средствах (про 1С говорить даже не будем).

Уважаемые профи Foxa, почему никто не скажет "правильным путем идешь, товарищ". Или меня совсем не туда несет?

Должен сообщить тебе радостную новость!
Тебя не несёт, тебя Уже занесло! :))
1. Лучше фокса ни одна программа на свете не справится с файлом DBF.
Поэтому сделай прогу на фоксе и живи спокойно.
2. Как сделать контроль данных? Да очень просто!
Если у программистов из 1С кривые руки и они не заложили контроль в программу 1С, тогда сделай прогу на фоксе и пусть она по таймеру проверяет целостность и правильность данных.
3. View тебе нафиг не нужен :)) Ты похоже Зациклился на этом дурацком view.
26 июл 10, 22:20    [9161577]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
thunder2
Member

Откуда:
Сообщений: 380
Лунтик, к Вам несколько вопросов:
1) откройте тайну какая у Вас версия 1с ?
- если 7.7., то оставьте эту затею. Ничего хорошего не выйдет.
- если 8.0 , то любые данные вы можете вытащить из 1с посредством встроенного в 1С COM-сервера.

И не морочьте себе голову представлениями и триггерами.

2) Вы пробовали открывать в VFP 9.0 таблицы 1с ? Открываются нормально, без ошибок ? Если да, то FoxSoftware Вам похоже единственно верный вариант предложил
автор
тогда сделай прогу на фоксе и пусть она по таймеру проверяет целостность и правильность данных.
26 июл 10, 22:59    [9161684]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6901
Я буквально две недели назад делал на VFP6.0 обработку *dbf из конфигурации "Камин 2.0" (058) (1cv7.7 r027).
Просто написАл прогу да и всё. Даже индексы от 1С воспринимаются/ребилдятся нормально. Проблема с отсутствующей CP при exclusive? - так есть set safety и set cpcode.
И 1С потом никоим краем не ругается на проблемы с таблицами...
27 июл 10, 02:39    [9161978]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6901
AndreTM
set safety и set cpcode

Упс, не так - есть set cpdialog.
27 июл 10, 02:42    [9161979]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
ЗЗ00001
Guest
Да забудьте вы Фокс :) Выебуетесь тут, а он нах никому не нужен.
27 июл 10, 02:47    [9161983]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
FoxSoftware
Guest
ЗЗ00001
Да забудьте вы Фокс :) Выебуетесь тут, а он нах никому не нужен.

Тебе может и не нужен, потому что ты ламер и ни одного проекта не сделал в жизни.
А миллионам пользователей фокс нужен, потому что у них на фоксе считаются деньги.
Кроме того 1С без фокса врятли сможет полноценно существовать, ибо фокс очень гибкий и мощный язык.
Там где неуклюжа 1С, всегда придёт на помощь фокс.
Это лучше чем вызывать мальчиков из 1С и платить им сумасшедшие деньги ради какой нибудь мелочи, когда под рукой есть фокс.
27 июл 10, 04:07    [9162003]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Kruchinin Pahan
Member

Откуда: Екатеринбург
Сообщений: 925
Лунтик
1. Триггер нужен, чтобы регистрировать изменения в DBF, а регистрировать изменения нужно, чтобы журналировать работу (того, что есть в штате 1С мне мало) и, может быть, создавать структуро-независимые зеркала таблиц (т.е. если кто-то использует мое поле Сумма, ему не потребуется знать имя поля SP1111).

2. View из нескольких баз нужно в качестве большого структурно-независимого зеркала, в котором по-определению не может быть коллизий. Если получатся маленькие зеркала без коллизий (см. пункт 1), то это было бы лучше. Выборка из нескольких баз осложняется тем, что нужно знать структуры таблиц, т.е. каждый раз считывать ее и терять время. Таблицы DBF имеют нестабильные состав и структуру, а вот структуру зеркала законсервировать легче, сл. и выборка из него будет проще и понятнее (может даже какого-нибудь экономиста можно будет посадить на него).

Базу фокса я цеплять не собираюсь. В моем представлении, я хочу поподробнее разглядеть свои базы, но ODBC и OLEDB ограничены в средствах (про 1С говорить даже не будем).

Уважаемые профи Foxa, почему никто не скажет "правильным путем идешь, товарищ". Или меня совсем не туда несет?

Вас не туда несет. Переходите на Sql-версию и там создавайте журналирование, дополнительные поля, вьюхи и прочее. К дбфам 1Ска очень критична и присоседить к ней фокса будет сложно и опасно для целостности данных.
27 июл 10, 08:14    [9162106]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Похоже это тема вечная - быть или не быть..

FoxPro гибкий, мощный,классный и вообще супер. Он как велосипед: гараж забит машинами, а тебе хочется покрутить педали...Хочется верить, что с выходом 9.0 фокс не станет раритетом.

1Cv8.1 тоже рай для программиста... Только похоже 1С-разработчики достигли предела, трудно поверить, что будет еще существенный скачок. И потом не очень хочется использовать MSSQL, а что вместо него - представляю смутно. Но это уже тема для отдельного разговора...

Спасибо, приятно общаться с людьми острого ума.
27 июл 10, 09:23    [9162279]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
FoxSoftware
Guest
Лунтик
Похоже это тема вечная - быть или не быть..

FoxPro гибкий, мощный,классный и вообще супер. Он как велосипед: гараж забит машинами, а тебе хочется покрутить педали...Хочется верить, что с выходом 9.0 фокс не станет раритетом.

1Cv8.1 тоже рай для программиста... Только похоже 1С-разработчики достигли предела, трудно поверить, что будет еще существенный скачок. И потом не очень хочется использовать MSSQL, а что вместо него - представляю смутно. Но это уже тема для отдельного разговора...

Спасибо, приятно общаться с людьми острого ума.

Попытаюсь объяснить доходчиво:
1. Это не Фокс велосипед а 1С драндулет. ))
2. Для того чтобы Фокс стал раритетом, надо чтобы 1С умела всё то, что умеет делать фокс, содержала огромный арсенал команд и функций, имела полноценный объектно-ориентированный язык программирования и ещё много всего-всего, чего нету в 1С и есть в фоксе.
Вывод первый: 1Су до фокса ещё далеко как до Шанхая раком. ))
И второй Вывод: 1C без фокса не сможет нормально существовать - это факт.
1C узкоспецифический продукт для бухгалтерии.
27 июл 10, 20:55    [9167397]     Ответить | Цитировать Сообщить модератору
 Re: Совместное использование 1с и VFP  [new]
Лунтик
Member

Откуда:
Сообщений: 97
FoxSoftware, абсолютно верно...

Уважаемый FoxSoftware, раз уж так, может ты скажешь (прошу прощения за назойливость)
Если в Foxe будет создано представление, охватывающее несколько свободных таблиц, одно действительно будет меняться при изменении исходных таблиц. Если да, то эти изменения будут видны всем-всем-всем и в Foxe 9.0 и в 1С? (напомню 1с это VfpOleDB )
28 июл 10, 09:25    [9168495]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / FoxPro, Visual FoxPro Ответить