|
|
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Большая часть форумов по 1С – это бесконечные мольбы о помощи. Хотелось бы нарушить эту традицию именно здесь, на sql.ru – и делиться позитивом. Т.е. рассказывать о своем опыте, предупреждая заранее юных садоводов от путешествий по граблям. Да и в несколько ином плане – хотелось бы видеть подборку тем из серии « 1С интеграция ». Те, кто суют эту систему в каждую дырку – прочитал тут буквально вчера про «недостатки» 1С в качестве проги, управляющей сетью банкоматов (!) – даже не догадываются, по всей видимости, что каждому овощу – свой фрукт. И 1С может использоваться как часть интегрированных систем. Т.е. выполнять ту часть функций, которые делает лучче всего – делегируя свои не луччие качества другим специализированным системам. Если идея находит поддержку – мой рассказ о моем личном, довольно старом проекте, который так и не завершился (не по моей вине и уж тем более не по вине 1С), но дал мне много нового и интересного и, возможно, подскажет кому-то идею для своих нетленок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 13:44 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
ну-с :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 14:06 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Задача ставилась следующим образом: автоматизировать сбор отчетности в головном офисе из удаленных (зарубежных) представительств. Базовой «корпоративной системой» являлась 1С 7.7 (версия MS SQL) , базовым почтовым клиентом – Lotus Notes: сначала 5, потом 7 . При этом – что существенно – ни экономического, ни организационного смысла ставить в представительствах локальную 1С не было. По многим причинам: трудность сопровождения и консультаций тамошнего бухгалтера, неприспособленность к туземной системе бух.отчетности и т.д. Отчеты на местах формировались «подручными средствами» (Word, Excel) в «свободной форме». Затем отсылались по электронной почте в головной офис – где вдалбливались ручками в 1С. Первый вариант решения был следующим: 1. Разработана единая для всех представительств форма – на первом этапе в самом теле письма, не в присоединенном файле. 2. По событию получения письма запускался агент в ЛОТУСе. 3. В агенте создавался OLE-объект 1С – а все остальное было делом техники. Агентом ЛОТУСа парсились данные, а созданным OLE-объектом грузились в 1С. Для любознательных – очень похожий на мою реализацию ЛОТУС-скрипт здесь . Достоинства: 1. Вся почтовая работа перенесена в почтовый клиент, никакого вмешательства конфигураторов, операторов и глючных 1С-овских приблуд. Получил письмо – хоть ночью, оно ляжет в базу 1С. Утром – уже в 1С – кому эти данные предназначались может с ними работать. Недостатки: 1. Плохое оформление отчетных данных – в теле письма не очень-то красиво все это выглядит. Поэтому сразу же последовал второй вариант : 1. Разработана единая форма отчетности в EXCEL – конечно же, со всеми его наворотами по расчетам и оформлению. 2. Агентом ЛОТУСа – опять же по событию получения письма – отсоединяется приаттаченый отчет в формате xls и запускается моя прога на ДЕЛЬФИ. На этом его функции оканчиваются. 3. Загрузчик (на ДЕЛЬФИ) открывает файл отчета (тот самый xls), коннектится напрямую к SQL-базе 1С – и грузит данные. Еще раз обращу внимание: я перешел к прямой работе с таблицами базы 1С. Конечно, для этого надо хорошо знать, что где лежит – но так, по крайней мере, я уверен, что скорость операций зависит только от меня. Да, в ДЕЛЬФИ использовал для работы с SQL ADO – да там особо и использовать нечего, законнектился-подгрузил-ушел. На самом деле окончательным должен был быть третий вариант – в котором исключалась прога на ДЕЛЬФИ. В ЛОТУСе есть ODBCConnection, ODBCQuery , который позволяет формировать и выполнять совершенно стандартные SQL-запросы. Но проект закрылся… Я знаю, что в 1С есть блок работы с почтовыми клиентами. Но когда начинал решать эту задачу – не удалось прочитать ни одного положительного отзыва. Во-первых, очень ограниченный набор почтовиков – того же ЛОТУСа не было. Кста, в 8-ке он появился, наконец? Были Outlook, The Bat, еще что-то вроде. Во-вторых, те энтузиасты, которые все-таки доходили до конца в настройке встроенного почтового инструмента 1С жаловались на постоянные глюки. В-третьих, получить какую-то тех.поддержку 1С именно по этой тематике было невозможно – жаловались все. Как сейчас – не знаю. И т.д. Поэтому – по моему опыту – в 1С для обмена данными по почте надо двигаться в сторону интеграции с профессиональными почтовыми клиентами. Точнее так – отдавать все эти функции на их сторону. Ессно, почтовый клиент должен уметь управляться программно и взаимодействовать со всеми остальными. Хотелось бы услышать еще возможные варианты по автоматизации загрузки в 1С данных, получаемых по электронной почте. Кста, не менее интересный вопрос, на самом деле – это обратная задача. По рассчитанным в 1С данным отправлять клиенту по эл. почте документы – счет тот же. Я с этим не работал – у кого-нибудь это функционирует? А как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 17:54 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Slav Кста, не менее интересный вопрос, на самом деле – это обратная задача. По рассчитанным в 1С данным отправлять клиенту по эл. почте документы – счет тот же. Я с этим не работал – у кого-нибудь это функционирует? А как? Это элементарно. Самое простое - купить книжку Михайлова 1С:Предприятие 7.7/8.0 Системное программирование. ВСЯ КНИГА посвящена вопросам интеграции. Для любознательных - ключевое слово MAPI и пример кода на 7.7 (MS Outlook): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 19:20 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
1С - страничка интегратора http://v8.1c.ru/edi/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 21:34 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
SlavБольшая часть форумов по 1С – это бесконечные мольбы о помощи Странно, правда? Может потому, что нет демоверсий - не дают попробовать перед покупкой? А может потому, "Доступно" "Доступно" - это только цена первоначального приобретения, а "всеръез" - это сколько бабок надо отдать, чтоб работало? Вот и не хотят пользователи платить за обучение, а в книжках не все написано, хотя коробка здоровенная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 01:20 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
3. Загрузчик (на ДЕЛЬФИ) открывает файл отчета (тот самый xls), коннектится напрямую к SQL-базе 1С – и грузит данные. Еще раз обращу внимание: я перешел к прямой работе с таблицами базы 1С. Конечно, для этого надо хорошо знать, что где лежит – но так, по крайней мере, я уверен, что скорость операций зависит только от меня. Автору двойка за это сразу.. Я ещё понимаю прямой доступ на чтение - но на запись это бред ибо 1) Скорость записи данных в 1с = скорости update через Ado ибо это одно и то-же. 2) При изменении обновлении конфы надо лезть менять компилить чудо парсер на дельфи если иходники ещё найдешь. и вообще иметь много гемора. Я бы решал так: Аттачменты скидываются в папку Из 1с по шедулеру подцепляются и считываются через Excel.Application. Зачем тут Lotus delphi и прочее непонятно. Кста, не менее интересный вопрос, на самом деле – это обратная задача. По рассчитанным в 1С данным отправлять клиенту по эл. почте документы – счет тот же. Я с этим не работал – у кого-нибудь это функционирует? А как? Для полуручного - MAPI. Для автоматического отправления CDO. 1с тут вроде как и не причем совсем ибо возможности для экспорта ничем не ограничены... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 09:37 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Сисой Это элементарно. Самое простое - купить книжку Михайлова 1С:Предприятие 7.7/8.0 Системное программирование. ВСЯ КНИГА посвящена вопросам интеграции. Для любознательных - ключевое слово MAPI и пример кода на 7.7 (MS Outlook) ... Сисой, спасибо за название книги. Нашел в электронном виде - вечером попробую качнуть. Я оказался любознательным. А этот текст проги - из первого или из второго издания? Ты сам смотрел, что там написано? Честно говоря - у меня волосы дыбом встали. Вот из-за таких кодов и клянут конфигурастов. Кто же так пишет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 11:33 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Палестинец 3. Загрузчик (на ДЕЛЬФИ) открывает файл отчета (тот самый xls), коннектится напрямую к SQL-базе 1С – и грузит данные. Еще раз обращу внимание: я перешел к прямой работе с таблицами базы 1С. Конечно, для этого надо хорошо знать, что где лежит – но так, по крайней мере, я уверен, что скорость операций зависит только от меня. Автору двойка за это сразу.. Я ещё понимаю прямой доступ на чтение - но на запись это бред ибо 1) Скорость записи данных в 1с = скорости update через Ado ибо это одно и то-же. 2) При изменении обновлении конфы надо лезть менять компилить чудо парсер на дельфи если иходники ещё найдешь. и вообще иметь много гемора. Я бы решал так: Аттачменты скидываются в папку Из 1с по шедулеру подцепляются и считываются через Excel.Application. Зачем тут Lotus delphi и прочее непонятно. Кста, не менее интересный вопрос, на самом деле – это обратная задача. По рассчитанным в 1С данным отправлять клиенту по эл. почте документы – счет тот же. Я с этим не работал – у кого-нибудь это функционирует? А как? Для полуручного - MAPI. Для автоматического отправления CDO. 1с тут вроде как и не причем совсем ибо возможности для экспорта ничем не ограничены... Палестинец, ну уш таки и двойка? Может эта... хотя бы троечку?... ;) 1. Я описал не теоретический - а совершенно конкретный свой проект. Причем от идеи до реально работающей системы прошло около одной недели. Это не в оправдание - просто факт. Сам знаешь - хорошая мысля приходит опосля. Опосля того, как вариантов 10 попробуешь. 2. Механизм и скорость записи я в 1С не изучал специально. Просто зная структуру таблиц писал напрямую. 3. Насчет "изменения конфы" и "менять исходники" - согласен. Ты прав. Еще раз повторюсь - проект накрылся, даже не успев родиться. До "коммерческой версии" не дошло. Я просто изложил свой путь - может для кого-то это будет полезным. 4. Из 1с по шедулеру подцепляются и считываются через Excel.Application. Зачем тут Lotus delphi и прочее непонятно. Да вот как раз и затем! Что в моем варианте никакого шедулера не нужно. Если я в ЛОТУСе знаю, что письмо пришло, если я в ЛОТУСе его детачу (" скидываю в папку ") - то с чего вдруг останавливаться на полпути? Чего бы сразу не загрузить - и (что обычно забывают делать) - удалить ненужный мусор в виде файла на диске? Нафига вместо единоразовой непрерывной акции по факту письма - шедулить?? 5. "1с тут вроде как и не причем совсем ибо возможности для экспорта ничем не ограничены..." Так все-таки - ты использовал в рамках 1С посылку документов по электронной почте? Практически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 11:58 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Slav Так все-таки - ты использовал в рамках 1С посылку документов по электронной почте? Практически? Да обмен делал, но врядли можно сказать что он был "в рамках 1с", потому что 1с работало только с файлами в каталоге а обмен осуществляла моя собственная служба.. Если я в ЛОТУСе знаю, что письмо пришло, если я в ЛОТУСе его детачу ("скидываю в папку") - то с чего вдруг останавливаться на полпути? Чего бы сразу не загрузить - и (что обычно забывают делать) - удалить ненужный мусор в виде файла на диске? Нафига вместо единоразовой непрерывной акции по факту письма - шедулить?? Потому что если в это время бухгалтер производит перепроведение в монопольном режиме то фиг тебе.. и что дальше твой лотус сделает после вываливания ошибки? ну наверное зашедулица на повтор операции надо будет... Нельзя сделать одну транзакцию по выгрузке , передаче письма и загрузке в базу.. (т.е. это требует больших расходов по программингу и отслеживанию всего) после разбиения же на разные логические _НЕЗАВИСИМЫЕ_ операции вся цепочка получается элементарной и легко отлаживаемой.. Я бы сделал контрольные точки : 1) Выгрузка данных в файлы {// Подзадача синхронизации удаленных каталогов 2) Отсылка всех файлов из каталога 3) Получение писем и соотв. аттачменентов } 4) Применение имеющихся файлов к базе и их удаление {// Подзадача синхронизации удаленных каталогов 5) Отсылка уведомления об успешности операции 6) Удаление всего на стороне посылающего либо повтор через таймаут } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 16:04 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Палестинец Да обмен делал, но врядли можно сказать что он был "в рамках 1с", потому что 1с работало только с файлами в каталоге а обмен осуществляла моя собственная служба.. Палестинец, я к чему этот вопрос задал. Интересно твое мнение по коду, который привел Сисой . Не по коду даже - а по принципиальному подходу. Городить огород по отсылке-получению именно в рамках 1С - стоит ли? Палестинец Потому что если в это время бухгалтер производит перепроведение в монопольном режиме то фиг тебе.. и что дальше твой лотус сделает после вываливания ошибки? ну наверное зашедулица на повтор операции надо будет... Согласен. Этот вопрос требовал детальной проработки. Но в ТЗ у меня было, что отчеты присылаются ночью - как раз чтобы утром начать их обрабатывать. Собственно отсюда и задача родилась "автоматизировать". Им лень было всю ночь сидеть, данные руками вносить. Разбалывались эти юзеры! ;) Палестинец Я бы сделал контрольные точки : ... Да я может тоже так сделал бы - но проект закрылся. Если бы я в то время этот топик прочитал - то уж точно кучу времени съэкономил. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 16:27 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Палестинец, я к чему этот вопрос задал. Интересно твое мнение по коду, который привел Сисой. Не по коду даже - а по принципиальному подходу. Городить огород по отсылке-получению именно в рамках 1С - стоит ли? Если это автообмен файлами то не стоит. слишком глюкава и громоздка 1с для службы которая должна работать в фоне и стабильно. Если это отсылка открыток по контрагентам то конечно нужно делать из 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 16:42 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Отсылка отчетов делаемых юзером вручную в принципе попадает под категорию открыток :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 16:44 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
в 8-ке все проще http://www.forum.mista.ru/topic.php?id=8038 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 18:01 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Slav Я оказался любознательным. А этот текст проги - из первого или из второго издания? Ты сам смотрел, что там написано? Честно говоря - у меня волосы дыбом встали. Вот из-за таких кодов и клянут конфигурастов. Кто же так пишет? Этот текст писал лет 5 назад один из моих подчиненных. Работает до сих пор. Особого криминала в коде не вижу. Что не так? Try.... Exception? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 18:20 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Shuhardв 8-ке все проще http://www.forum.mista.ru/topic.php?id=8038 Это не гут как минимум из-за этой фразы: Запускаем предприятие, настраиваем свойства пользователя и интервал автообмена и все! Теперь при заходе в базу под этим-самым-настроенным пользователем будет запускаться обработчик ожидания ВыполнитьАвтообмен(). Естественно, в периферийной базе тоже нужно настроить пользователя для обмена. Нужна постоянно запущенная 1с-ка. выделенная машина под неё.. а один эска нефигова жрёт памяти так-то, глючит время от времени.. для тех кто перепроводится каждую ночь - надо отключать заходить её.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 19:33 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
+ при перезагрузке сервака надо не забывать её запускать.. ибо не служба. всё это ненадёжно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 19:34 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
В 8.1 диспетчер сервисов запускает их по шедулеру на сервере 1С:Предприятия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2007, 11:55 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Сисой Этот текст писал лет 5 назад один из моих подчиненных. Работает до сих пор. Особого криминала в коде не вижу. Что не так? Try.... Exception? Сисой, 1. Халатное обращение с объектами. Почтовый клиент - в подавляющем большинстве случаев - постоянно висит почти на каждом компе. Так зачем все время создавать его объект? Тем более, что некоторые почтовые клиенты ох как не любят своих копий. Считаю, что надо обязательно сначала сделать проверку на наличие - и только в случае неудачи создавать: Код: plaintext 1. 2. 3. 4. 5. Да, и между строк - хорошим тоном считается обнуление объекта, что мы и видим в случае удачного завершения процедуры: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Только вот если при уже созданном объекте отсылки тем не менее не произошло - так его и бросаем? По хорошему надо - если сам создал - его DestroyObject (Quit). Причем во всех возможных неудачных случаях, а не только при нормальном завершении. 2. Абсолютно одинаковое сообщение по совершенно разным причинам: Код: plaintext 1. 2. В первом случае - скорее всего не установлен почтовый клиент. Во втором - скорее всего нет связи. Хотя, конечно, незначительна вероятность и других причин. Но я ведь вижу одно и тоже сообщение даже без попытки мне помочь! В первом случае я дописал бы: "Проверьте наличие почтового клиента на Вашем компе". Во втором: "Проверьте установлена ли связь." А так даже разработчик будет репу чесать - а где именно выскочило абсолютно бессмысленная фраза. 3. И вот здесь не понял: Код: plaintext 1. 2. 3. 4. Зачем и где он дальше используется? Но самое главное - зачем myRecipient.Type=1 стоит внутри цикла? Я понимаю - адресов немного, но ведь так по крохам и теряется производительность. Разве не должен он стоять за концом цикла? Я высказал всего лишь свои замечания. Без всяких обид - просто то, что бросилось в глаза. Надеюсь, конструктивное обсуждение поможет нам всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 13:13 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Сисой ... Это элементарно. Самое простое - купить книжку Михайлова 1С:Предприятие 7.7/8.0 Системное программирование. ВСЯ КНИГА посвящена вопросам интеграции. ... Сисой, нигде не могу скачать - везде битые ссылки. Копирайт шагает по стране! Если можно попросить - и если у тебя есть - выложи куда-нибудь. Я уже не занимаюсь 1С - но было бы очень любопытно. Спасибо. PS Да, еще раз внимательно почитал твои посты. Так ты в "Цефее" работал!? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 09:11 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
SlavЕсли можно попросить Пожалуйста, не надо превращать форум в софтопомойку. Пожалуйста, не просите и не размещайте здесь ссылки на софт и цельнотянутые книги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 10:36 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
mazzy SlavЕсли можно попросить Пожалуйста, не надо превращать форум в софтопомойку . mazzy, не понял термина. Да почти весь sql.ru тогда "помойка софта". В 1С вообще-то пишут программы. Почему именно в подфоруме 1С нельзя их обсуждать? mazzyПожалуйста, не просите и не размещайте здесь ссылки на софт и цельнотянутые книги. Почему нельзя? Размещать ссылки на софт?? На книги?? А какие же ссылки вообще тут размещать можно с Вашей точки зрения?? На сайт Сергея Мазуркина?? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 11:21 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
SlavПочему нельзя? Потому что: 1. Копирайт (вы об этом сами сказали) 2. Правила. SlavА какие же ссылки вообще тут размещать можно с Вашей точки зрения?? На открытые источники. SlavНа сайт Сергея Мазуркина?? ;) Да, это открытый источник. Пожалуйста, не надо больше оффтопика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 12:18 |
|
||
|
1С интеграция: почтовые клиенты.
|
|||
|---|---|---|---|
|
#18+
Кто книжку в электронном виде нашел дайте ссылку плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 10:53 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=34536851&tid=1523020]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 494ms |

| 0 / 0 |
