|
|
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите решение. Есть внешнее приложение, по мере ввода данных там они должны попадать в 1с версия 7.7 OLE не подходит по причине того, что ввод данных интенсивный, а загрузка объекта V77s.Application занимет несколько секунд, причем данные во внешней программе вводятся многими пользователями одновременно. Желаемое условие - on-line обмен. Может быть есть способ как-то сгенерировать какое-нибудь событие в самой 1с из внешней программы, чтоб она посмотрела в такую-то папочку например... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 11:31 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
DinDim, да и без команды стороннего приложения можно ОбработкаОжидания(ИмяПроцедуры(),ИнтервалВызова) вам должна помочь (запускается процедурка в указаный интервал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 11:45 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, Здравствуйте, я рассматриваю такое решение, но пока ищу что-то лучшее. В этом варианте нужно очень часто запускать обработку по таймеру, мониторить чтоб она выбрала все из каталога и при этом не запустился еще раз при истечении временного интервала. А что скажете по поводу прямого доступа к базе данных 1с, т.е. если я буду создавать объекты 1с, прямой вставкой строк в БД, изучив структуру объектов. Этим способом кто-то пользуется вообще и насколько он способен к осуществлению? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 11:52 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
У 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий. Написать такую компоненту можно на любом COM-языке. Примеры в комплекте поставки для VB C++ Delphi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 11:59 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
авторВ этом варианте нужно очень часто запускать обработку по таймеру, мониторить чтоб она выбрала все из каталога и при этом не запустился еще раз при истечении временного интервала. да... в этом варианте сеанс 1це должен работать постоянно чтобы отрабатывала процедура, а насчет опасения повторых запусков то не стоит... чаще чем указано оно не отработает... только вот беда в том что будет если преидущий не успел отработать а необходимо запускать следующий (хотя в принципе можно обработать доступность в процедуре вызова и если источник недоступен то вернуться) автор А что скажете по поводу прямого доступа к базе данных 1с, т.е. если я буду создавать объекты 1с, прямой вставкой строк в БД, изучив структуру объектов. Этим способом кто-то пользуется вообще и насколько он способен к осуществлению? очень специфично... а если будут создаваться новые объекты то проводить контроль целостности БД на уровне самой СУБД маловероятно (можно конечно но опять же очень спецефично) скажем если таблицы будут только апдейтится (не берем в расчет итоги и т.д.) то вполне возможно (скажем синхронизация справочника товаров а если есть новые то тогда уже в список и вызов ОЛЕ чтоб уже сама 1це их генерила) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:00 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
главное - новые объекты лучше создавать из среды 1це для обеспечения их уникальности и последующей однозначной идентификации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:02 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, Вот я ж про это ... не успеет отработать, а новый запустится. Есть еще несколько минусов у этого решения. Насчет доспута к таблица, мне необходимо записывать вновь созданные документы - 2 вида и новые элементы справочников, вот в принципе и весь функционал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:12 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
DinDim, Напрямую в таблицы вставлять можешь. Для обеспечения целостности тебе хватит написать функцию генерации ID. Так как вся целостность это обеспечение уникальности этих ID. Для всех ID используется уникальный индекс. Для справочников например все достаточно просто. Для документов уже гораздо сложнее. Кроме того что при создании документа ты должен занести информацию в ряд таблиц DT,DH, 1Sjourn и т.д. чтобы так сказать отразить факт его существования, ты его еще должен провести этот документ по регистрам? а вот здесь уже сложности начинаются - по сути ты должен продублировать все алгоритмы проведения по регистрам. Поэтому лучше заполнять справочники и документы на прямую, а проводить уже непосредственно в 1Ц. Могу например тебе скинуть кусочек алгоритма по заполнению справочников. В это примере функция генрации новых ID не используется т.к. идет перенос их нескольких семерочных баз в одну. И id беруться уже оттуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:13 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
pailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий. Написать такую компоненту можно на любом COM-языке. Примеры в комплекте поставки для VB C++ Delphi А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:14 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
vitkhvDinDim, Напрямую в таблицы вставлять можешь. Для обеспечения целостности тебе хватит написать функцию генерации ID. Так как вся целостность это обеспечение уникальности этих ID. Для всех ID используется уникальный индекс. Для справочников например все достаточно просто. Для документов уже гораздо сложнее. Кроме того что при создании документа ты должен занести информацию в ряд таблиц DT,DH, 1Sjourn и т.д. чтобы так сказать отразить факт его существования, ты его еще должен провести этот документ по регистрам? а вот здесь уже сложности начинаются - по сути ты должен продублировать все алгоритмы проведения по регистрам. Поэтому лучше заполнять справочники и документы на прямую, а проводить уже непосредственно в 1Ц. Могу например тебе скинуть кусочек алгоритма по заполнению справочников. В это примере функция генрации новых ID не используется т.к. идет перенос их нескольких семерочных баз в одну. И id беруться уже оттуда. Очень буду признателен за кусок алгоритма. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:16 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
DinDimpailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий. Написать такую компоненту можно на любом COM-языке. Примеры в комплекте поставки для VB C++ Delphi А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника. Маленькая книжка с дискетой продается франчами за копейки. Сотни тысяч ссылок в и-нете. Может, среди них и эта книжка или дискета попадутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:22 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
До 18 00 по москве подождеш? так как только дома. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:26 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
DinDimpailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий. Написать такую компоненту можно на любом COM-языке. Примеры в комплекте поставки для VB C++ Delphi А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника. такое решение не будет оптимальным по скорости, а книжек и правда хватает, http://progbook.ru/1c/ но я бы предложил бы попробывать работать не с 1с, а с БД на уровне sql запросов, особенно если база на 1с сервере, на мой взгляд это было бы удобно, а для того чтобы пользователи 1С не создавали в режиме предприятия документе, и целостность не портилась, я бы предложил пользоваться блокировками, например на время записи нового документа, таблица документов блокируется, так как непосредственно сама запись 1го нового объекта будет быстрой пользователи не будут замечать таких блокировок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:30 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
Вот здесь http://1csql.ru/materials/articles/develop.html~59d890ad-7ddb-f487-3aae-bcf78d54a0c4 написанно как и в каком виде хранятся ID в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:35 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
vitkhvДо 18 00 по москве подождеш? так как только дома. Да конечно, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:36 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
>>так как непосредственно сама запись 1го нового объекта будет быстрой пользователи не будут замечать таких блокировок смотря чего писать... блокируются журналы и регистры. А если документ бухгалтерский - то таблица проводок. А она одна... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:37 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
Шурыгин Иван СергеевичDinDimpailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий. Написать такую компоненту можно на любом COM-языке. Примеры в комплекте поставки для VB C++ Delphi А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника. такое решение не будет оптимальным по скорости, а книжек и правда хватает, http://progbook.ru/1c/ но я бы предложил бы попробывать работать не с 1с, а с БД на уровне sql запросов, особенно если база на 1с сервере, на мой взгляд это было бы удобно, а для того чтобы пользователи 1С не создавали в режиме предприятия документе, и целостность не портилась, я бы предложил пользоваться блокировками, например на время записи нового документа, таблица документов блокируется, так как непосредственно сама запись 1го нового объекта будет быстрой пользователи не будут замечать таких блокировок С блокировками не проблема, документы, которые передаются в 1с - не создаются в ней самой и не будут создаваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:38 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
DinDimС блокировками не проблема, документы, которые передаются в 1с - не создаются в ней самой и не будут создаваться. а что они тогда в 1С делают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:38 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
Господин ПЖDinDimС блокировками не проблема, документы, которые передаются в 1с - не создаются в ней самой и не будут создаваться. а что они тогда в 1С делают? Создают документы другого вида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:39 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
формально разницы нет, все равно образуются документы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:41 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
Да, будет быстро - очень быстро, тем более у тебя есть возможность делать UPDATE и INSERT массово, а не по каждому элементу. 1С так быстро работать не умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:42 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
pailDinDimpailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий. Написать такую компоненту можно на любом COM-языке. Примеры в комплекте поставки для VB C++ Delphi А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника. Маленькая книжка с дискетой продается франчами за копейки. Сотни тысяч ссылок в и-нете. Может, среди них и эта книжка или дискета попадутся. Такое не подходит, в о внешней компоненте зашит тот же механизм OLE для доступа к объектам 1с, вызов функций компоненты, в которых зашит это функционал, ничего не изменяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:44 |
|
||
|
Обмен с внешним приложением
|
|||
|---|---|---|---|
|
#18+
vitkhvДа, будет быстро - очень быстро, тем более у тебя есть возможность делать UPDATE и INSERT массово, а не по каждому элементу. 1С так быстро работать не умеет. А кто-то пользуется таким способом, или я буду первым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2009, 12:45 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36268706&tid=1523163]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
138ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 428ms |

| 0 / 0 |
