Добрый день! Сегодня наконец настроил взаимодействие СВМ(4.13) - 1С - Lotus, на тестовой системе, тестовый вариант)) Предполагается, что: 1. пользователь по корпоративной почте Lotus будет отправлять письмо на определенный сервисный почтовый ящик. 2. в теме письма должна быть команда и необходимыми данными в excel файле во вложении. 3. Затем 1С забирает письмо с этого ящика, анализирует его, 4. 1С определяет какое задание из темы, 5. 1С Excel файл преобразует в текстовый файл (ПДО) и отправляет этот файл по FTP на минидиск в СВМ, 6. 1С потом в зависимости от команды формирует задание для user BATCH и отправляет его на устройство чтение перфокарт через программу HERCRDR 7. на СВМ user BATCH по заданию подключается к нужным минидискам и запускает процедуру написанную на REXX 8. процедура на REXX выгружает данные/загружает из ADABAS используя критерии, которые отправил пользователь в письме, результат сохраняется на минидиске 9. 1С забирет с минидиска результат, преобразует текстовый файл в файл Excel 10. 1С формирует письмо пользователю, прикрепляет файл Excel с результатом запроса, и отправляет пользователю
В данном случае 1С выступает в качестве посредника. Может есть другие варианты попроще... Но СВМ у нас с почтой не дружит.
Добавлено (31.08.2018, 10:47) --------------------------------------------- Код процедуры на REXX, GETFIO.EXEC
Код
* * * Haчaлo фaйлa * * * /* REXX ПOЛУЧИTЬ ФИO */ TRACE OFF SET PTSTYPE RT
'FI CMPRINT DISK NAT21 OUTPUT A' 'FI CMSYNIN DISK NAT21 INPUT A ( RECFM F'
Добавлено (31.08.2018, 12:05) --------------------------------------------- REL413 DIRECT
Код
* USER BATCH BATCH 2M 5M ABCDEG ACCOUNT SYS9 BATCH OPTION REALTIMER ECMODE * OPTION EUROPE OFF * OPTION ECMODE FILE CON DIR * IUCV ANY IPL PTS PARM BATCH * IPL PTS PARM AUTOCR FILE PART DIR * * CONSOLE 01F 7073 * SPOOL 00C 6012 * SPOOL 00D 7014 * SPOOL 00E 7031 MDISK 195 3380 725 002 WORK02 MR R W M * LINK SYSPRG 190 190 RR * LINK SYSPRG 19E 19E RR * FILE LUSER DIR * LINK BMAUSERA 192 193 RR R LINK BMAUSERA 193 194 RR R LINK BMAUSERA 194 196 RR R LINK BMAUSERA 197 198 RR R LINK TCPMAINT 592 222 RR R
Добавлено (31.08.2018, 12:19) --------------------------------------------- На машине оператора OPERATOR: PROFILE EXEC
Код
&CONTROL OFF CP TERM MODE VM CP EN ALL CP AUTOLOG VTERM VTERM CP AUTOLOG TCPIP TCPIP CP AUTOLOG BATCH BATCH CP SLEEP 5 SEC CP SET PF4 LINK TCPMAINT 591 444 RR R CP SET PF1 LINK TCPMAINT 591 444 WR W CP SET PF12 RET CP SET PF2 AC 444 W CP SET PF3 FL * * W CP SET PF6 FORCE FTPSERVE CP SET PF7 FORCE LPSERVE CP SET PF8 FORCE TCPIP CP SEND VTERM #CP ST 27364 D503F26B CP SLEEP 10 SEC CP STA 001
Добавлено (31.08.2018, 12:19) --------------------------------------------- На машине VTERM:
PROFAUT EXEC
Код
&CONTROL OFF TESTIDP * * CP DISABLE 250 CP SET MODE MAIN Q CP TERM MORE 1 CP MON STOP CPTRACE * CP AUTOLOG NFTS NFTS CP AUTOLOG VTERM VTERM * CP AUTOLOG TSW TSW RUNTSW CP AUTOLOG DBIDSERV DBIDSERV * CP AUTOLOG BATCH BATCH CP ENABLE ALL CP DRAIN ALL CP START 00F NOSEP CP LOGOFF
Добавлено (31.08.2018, 13:15) --------------------------------------------- Пришлось повозиться с отправкой сообщения пользователю, пока разобрался. Проблема была с "усеченной" кодировкой в СВМ, в e-mail адресе буквы были вперемешку русские и английские одинаковые по написанию.
Пришлось повозиться с отправкой сообщения пользователю, пока разобрался. Проблема была с "усеченной" кодировкой в СВМ, в e-mail адресе буквы были вперемешку русские и английские одинаковые по написанию.
как это у вас в e-mail попадали русские буквы?? их же там быть вроде как не должно быть по определению... проблема ДКОИ как раз в том, что на месте русских букв, по написанию аналогичных с английскими, стоят английские. то есть в русских текстах встречаются английские буквы, а не наоборот, в английских - русские. или я где-то ошибаюсь?..
К вопросу архитектуры решения. Раз работает - то уже хорошо, имеет право на жизнь. Но я подобные связки делал чисто почтой, у меня как-то СВМ уверенно получал-отправлял почту везде, куда надо. а дальше в виртуальной машине стоял простенький читатель с ридера, который ловил почту, разбирал ее, декодировал бинарное содержимое и обрабатывал его, как нужно - что-то в базу совал, что-то на минидиски, что-то в программу запуливал. Было достаточно надежно. Потом дополнил FTP - там в виртуальной машине крутилась программа, которая раз в минуту проверяла появление на определенном минидиске неких файлов и что-то делала в зависимости от их содержимого. По моему скромному мнению, почта + FTP для СВМ дают совершенно самодостаточное решение. А под Геркулесом - даже без них, через ридер-панчер-печать. Но повторю еще раз: автору мое глубокое почтение, он сделал рабочую систему, уважение ему за это и почет.
как это у вас в e-mail попадали русские буквы?? их же там быть вроде как не должно быть по определению... проблема ДКОИ как раз в том, что на месте русских букв, по написанию аналогичных с английскими, стоят английские. то есть в русских текстах встречаются английские буквы, а не наоборот, в английских - русские. или я где-то ошибаюсь?..
Почему так получилось? 1С при анализе письма формирует текстовый файл в первую строку пишет отправителя, во вторую адреса тех кто стоял в копии. Затем сохраняет на минидиск в файл "I0000001 TXT", порядковый номер файла информации совпадает с файлом данных "D0000001 TXT" и с файлом результата "R0000001 TXT" . Потом 1С забирает файл результата "R0000001 TXT" и смотрит в файле информации "I0000001 TXT" кому его отправить. И в тот момент когда 1С считывает с минидиска файл информации оказывается, что там русские буквы совпадающие по написанию. У нас вообще вся информация которая выгружается по ftp с СВМа имеет такую проблему.
Добавлено (02.09.2018, 15:43) --------------------------------------------- Вообще надо уходить от этой кодировки на нормальную)))
Почему так получилось? 1С при анализе письма формирует текстовый файл в первую строку пишет отправителя, во вторую адреса тех кто стоял в копии. Затем сохраняет на минидиск в файл "I0000001 TXT", порядковый номер файла информации совпадает с файлом данных "D0000001 TXT" и с файлом результата "R0000001 TXT" . Потом 1С забирает файл результата "R0000001 TXT" и смотрит в файле информации "I0000001 TXT" кому его отправить. И в тот момент когда 1С считывает с минидиска файл информации оказывается, что там русские буквы совпадающие по написанию. У нас вообще вся информация которая выгружается по ftp с СВМа имеет такую проблему.
Администратор по СВМ сказал, что вся информация которая выгружается из СВМ должна быть в русской раскладке и по этому он исправил перекодировочную таблицу ДКОИ наоборот, чтобы русские буквы заменяли английские.