Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Обмен с внешним приложением / 25 сообщений из 82, страница 1 из 4
23.10.2009, 11:31
    #36268507
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
Здравствуйте. Подскажите решение. Есть внешнее приложение, по мере ввода данных там они должны попадать в 1с версия 7.7 OLE не подходит по причине того, что ввод данных интенсивный, а загрузка объекта V77s.Application занимет несколько секунд, причем данные во внешней программе вводятся многими пользователями одновременно. Желаемое условие - on-line обмен.

Может быть есть способ как-то сгенерировать какое-нибудь событие в самой 1с из внешней программы, чтоб она посмотрела в такую-то папочку например...
...
Рейтинг: 0 / 0
23.10.2009, 11:45
    #36268581
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
DinDim, да и без команды стороннего приложения можно

ОбработкаОжидания(ИмяПроцедуры(),ИнтервалВызова) вам должна помочь (запускается процедурка в указаный интервал)
...
Рейтинг: 0 / 0
23.10.2009, 11:52
    #36268603
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
Last1Cmen,

Здравствуйте, я рассматриваю такое решение, но пока ищу что-то лучшее. В этом варианте нужно очень часто запускать обработку по таймеру, мониторить чтоб она выбрала все из каталога и при этом не запустился еще раз при истечении временного интервала. А что скажете по поводу прямого доступа к базе данных 1с, т.е. если я буду создавать объекты 1с, прямой вставкой строк в БД, изучив структуру объектов. Этим способом кто-то пользуется вообще и насколько он способен к осуществлению?

Спасибо.
...
Рейтинг: 0 / 0
23.10.2009, 11:59
    #36268648
pail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
У 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий.
Написать такую компоненту можно на любом COM-языке.
Примеры в комплекте поставки для VB C++ Delphi
...
Рейтинг: 0 / 0
23.10.2009, 12:00
    #36268651
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
авторВ этом варианте нужно очень часто запускать обработку по таймеру, мониторить чтоб она выбрала все из каталога и при этом не запустился еще раз при истечении временного интервала.

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

автор А что скажете по поводу прямого доступа к базе данных 1с, т.е. если я буду создавать объекты 1с, прямой вставкой строк в БД, изучив структуру объектов. Этим способом кто-то пользуется вообще и насколько он способен к осуществлению?

очень специфично... а если будут создаваться новые объекты то проводить контроль целостности БД на уровне самой СУБД маловероятно (можно конечно но опять же очень спецефично)

скажем если таблицы будут только апдейтится (не берем в расчет итоги и т.д.) то вполне возможно (скажем синхронизация справочника товаров а если есть новые то тогда уже в список и вызов ОЛЕ чтоб уже сама 1це их генерила)
...
Рейтинг: 0 / 0
23.10.2009, 12:02
    #36268662
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
главное - новые объекты лучше создавать из среды 1це для обеспечения их уникальности и последующей однозначной идентификации
...
Рейтинг: 0 / 0
23.10.2009, 12:12
    #36268702
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
Last1Cmen,

Вот я ж про это ... не успеет отработать, а новый запустится. Есть еще несколько минусов у этого решения.

Насчет доспута к таблица, мне необходимо записывать вновь созданные документы - 2 вида и новые элементы справочников, вот в принципе и весь функционал.
...
Рейтинг: 0 / 0
23.10.2009, 12:13
    #36268706
vitkhv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
DinDim,
Напрямую в таблицы вставлять можешь.
Для обеспечения целостности тебе хватит написать функцию генерации ID.
Так как вся целостность это обеспечение уникальности этих ID.
Для всех ID используется уникальный индекс.
Для справочников например все достаточно просто.
Для документов уже гораздо сложнее. Кроме того что при создании документа ты должен занести информацию в ряд таблиц DT,DH, 1Sjourn и т.д. чтобы так сказать отразить факт его существования, ты его еще должен провести этот документ по регистрам? а вот здесь уже сложности начинаются - по сути ты должен продублировать все алгоритмы проведения по регистрам.
Поэтому лучше заполнять справочники и документы на прямую, а проводить уже непосредственно в 1Ц.
Могу например тебе скинуть кусочек алгоритма по заполнению справочников. В это примере функция генрации новых ID не используется т.к. идет перенос их нескольких семерочных баз в одну. И id беруться уже оттуда.
...
Рейтинг: 0 / 0
23.10.2009, 12:14
    #36268715
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
pailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий.
Написать такую компоненту можно на любом COM-языке.
Примеры в комплекте поставки для VB C++ Delphi

А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника.
...
Рейтинг: 0 / 0
23.10.2009, 12:16
    #36268718
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
vitkhvDinDim,
Напрямую в таблицы вставлять можешь.
Для обеспечения целостности тебе хватит написать функцию генерации ID.
Так как вся целостность это обеспечение уникальности этих ID.
Для всех ID используется уникальный индекс.
Для справочников например все достаточно просто.
Для документов уже гораздо сложнее. Кроме того что при создании документа ты должен занести информацию в ряд таблиц DT,DH, 1Sjourn и т.д. чтобы так сказать отразить факт его существования, ты его еще должен провести этот документ по регистрам? а вот здесь уже сложности начинаются - по сути ты должен продублировать все алгоритмы проведения по регистрам.
Поэтому лучше заполнять справочники и документы на прямую, а проводить уже непосредственно в 1Ц.
Могу например тебе скинуть кусочек алгоритма по заполнению справочников. В это примере функция генрации новых ID не используется т.к. идет перенос их нескольких семерочных баз в одну. И id беруться уже оттуда.

Очень буду признателен за кусок алгоритма.

Спасибо.
...
Рейтинг: 0 / 0
23.10.2009, 12:22
    #36268745
pail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
DinDimpailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий.
Написать такую компоненту можно на любом COM-языке.
Примеры в комплекте поставки для VB C++ Delphi

А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника.
Маленькая книжка с дискетой продается франчами за копейки.
Сотни тысяч ссылок в и-нете.
Может, среди них и эта книжка или дискета попадутся.
...
Рейтинг: 0 / 0
23.10.2009, 12:26
    #36268759
vitkhv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
До 18 00 по москве подождеш?
так как только дома.
...
Рейтинг: 0 / 0
23.10.2009, 12:30
    #36268775
Шурыгин Иван Сергеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
DinDimpailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий.
Написать такую компоненту можно на любом COM-языке.
Примеры в комплекте поставки для VB C++ Delphi

А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника.
такое решение не будет оптимальным по скорости, а книжек и правда хватает, http://progbook.ru/1c/ но я бы предложил бы попробывать работать не с 1с, а с БД на уровне sql запросов, особенно если база на 1с сервере, на мой взгляд это было бы удобно, а для того чтобы пользователи 1С не создавали в режиме предприятия документе, и целостность не портилась, я бы предложил пользоваться блокировками, например на время записи нового документа, таблица документов блокируется, так как непосредственно сама запись 1го нового объекта будет быстрой пользователи не будут замечать таких блокировок
...
Рейтинг: 0 / 0
23.10.2009, 12:35
    #36268796
vitkhv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
Вот здесь http://1csql.ru/materials/articles/develop.html~59d890ad-7ddb-f487-3aae-bcf78d54a0c4 написанно как и в каком виде хранятся ID в базе.
...
Рейтинг: 0 / 0
23.10.2009, 12:36
    #36268798
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
vitkhvДо 18 00 по москве подождеш?
так как только дома.

Да конечно, спасибо.
...
Рейтинг: 0 / 0
23.10.2009, 12:37
    #36268801
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
>>так как непосредственно сама запись 1го нового объекта будет быстрой пользователи не будут замечать таких блокировок

смотря чего писать... блокируются журналы и регистры. А если документ бухгалтерский - то таблица проводок. А она одна...
...
Рейтинг: 0 / 0
23.10.2009, 12:38
    #36268806
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
Шурыгин Иван СергеевичDinDimpailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий.
Написать такую компоненту можно на любом COM-языке.
Примеры в комплекте поставки для VB C++ Delphi

А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника.
такое решение не будет оптимальным по скорости, а книжек и правда хватает, http://progbook.ru/1c/ но я бы предложил бы попробывать работать не с 1с, а с БД на уровне sql запросов, особенно если база на 1с сервере, на мой взгляд это было бы удобно, а для того чтобы пользователи 1С не создавали в режиме предприятия документе, и целостность не портилась, я бы предложил пользоваться блокировками, например на время записи нового документа, таблица документов блокируется, так как непосредственно сама запись 1го нового объекта будет быстрой пользователи не будут замечать таких блокировок

С блокировками не проблема, документы, которые передаются в 1с - не создаются в ней самой и не будут создаваться.
...
Рейтинг: 0 / 0
23.10.2009, 12:38
    #36268808
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
DinDimС блокировками не проблема, документы, которые передаются в 1с - не создаются в ней самой и не будут создаваться.

а что они тогда в 1С делают?
...
Рейтинг: 0 / 0
23.10.2009, 12:39
    #36268811
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
Господин ПЖDinDimС блокировками не проблема, документы, которые передаются в 1с - не создаются в ней самой и не будут создаваться.

а что они тогда в 1С делают?

Создают документы другого вида.
...
Рейтинг: 0 / 0
23.10.2009, 12:41
    #36268818
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
формально разницы нет, все равно образуются документы
...
Рейтинг: 0 / 0
23.10.2009, 12:42
    #36268822
vitkhv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
Да, будет быстро - очень быстро, тем более у тебя есть возможность делать UPDATE и INSERT массово, а не по каждому элементу. 1С так быстро работать не умеет.
...
Рейтинг: 0 / 0
23.10.2009, 12:44
    #36268829
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
pailDinDimpailУ 1С есть интерфейс внешних компонент. А там - спец.интерфейс для обработки внешних событий.
Написать такую компоненту можно на любом COM-языке.
Примеры в комплекте поставки для VB C++ Delphi

А можно поподробнее. Мне необходимо генерировать события в 1с из внешнего источника.
Маленькая книжка с дискетой продается франчами за копейки.
Сотни тысяч ссылок в и-нете.
Может, среди них и эта книжка или дискета попадутся.

Такое не подходит, в о внешней компоненте зашит тот же механизм OLE для доступа к объектам 1с, вызов функций компоненты, в которых зашит это функционал, ничего не изменяет.
...
Рейтинг: 0 / 0
23.10.2009, 12:45
    #36268834
DinDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
vitkhvДа, будет быстро - очень быстро, тем более у тебя есть возможность делать UPDATE и INSERT массово, а не по каждому элементу. 1С так быстро работать не умеет.

А кто-то пользуется таким способом, или я буду первым?
...
Рейтинг: 0 / 0
23.10.2009, 12:50
    #36268860
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
http://softpoint.ru/
...
Рейтинг: 0 / 0
23.10.2009, 12:52
    #36268869
vitkhv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен с внешним приложением
1CSQL.ru
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Обмен с внешним приложением / 25 сообщений из 82, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]