Пт, 27.12.2024, 18:37
Приветствую Вас Гость | RSS
Главная | СВМ - ADABAS - 1С - Lotus - Форум | Регистрация | Вход
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
СВМ - ADABAS - 1С - Lotus
LionLexXxДата: Пт, 31.08.2018, 10:41 | Сообщение # 1
Лейтенант
Группа: Проверенные
Сообщений: 50
Репутация: 1
Статус: Offline
Добрый день!
Сегодня наконец настроил взаимодействие СВМ(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' 
                
'ERASE NAT21 OUTPUT A'                    
                    
SET LDRTBLS 32                    
EXEC NUCXTNTS USER                    
                    
'NAT217 BATCH MT=0 STACK=(LOGON SYSWAS;GETFIO;FIN)'          

K=0                    
CALL NORM                    
IF K = 0                    
  THEN                    
    DO                    
      CP MSG BMAVAS01 ERROR                    
      SAY 'OШИБKA ПPИ BЫПOЛHEHИИ GETFIO(SYSWAS) !'                   
      SAY '    CMOTPИ ФAЙЛ : NAT21 OUTPUT A        !'                
      EXIT 8                    
    END                    
  ELSE                    
     DO                    
       /* SAY 'ПPOГPAMMA GETFIO(SYSWAS) BЫПOЛHEHA УCПEШHO !'*/       
       CP MSG BMAVAS01 SUCCESSFULLY                    
       EXIT 8                    
     END                    
/************************************/       
NORM:                    
SET PTSTYPE RT                    
STROKA = COPIES(' ',80)                      
PRIZN  = 'NAT9995'                           
'MAKEBUF'                    
/* ЧИTAEM 1-YЮ ЗAПИCЬ C KOHЦA ФAЙЛA */       
'EXECIO * DISKR NAT21 OUTPUT A 1 (LIFO'      
PULL STROKA                    
SAY STROKA                    
K = FIND(STROKA,PRIZN)                       
'DROPBUF'                    
RETURN                    
                    
* * * Koнeц фaйлa * * *


Добавлено (31.08.2018, 10:51)
---------------------------------------------
Код программы на Natural, библиотека SYSWAS программа GETFIO

Код
*                    
RESET                             
#TN(A5)                           
READ WORK FILE 1 #TN
FIND H2281 WITH TN = #TN          
WRITE WORK FILE 2 TN FA MM OT     
END


Сообщение отредактировал LionLexXx - Пт, 31.08.2018, 10:52
 
LionLexXxДата: Пт, 31.08.2018, 11:13 | Сообщение # 2
Лейтенант
Группа: Проверенные
Сообщений: 50
Репутация: 1
Статус: Offline
Код 1С при формировании файла задания

Добавлено (31.08.2018, 12:04)
---------------------------------------------
DMKRIO   ASSEMBLE

Код
DMKRIO   CSECT                    
         COPY OPTIONS                    
         RDEVICE ADDRESS=(000,4),DEVTYPE=6012                    
         RDEVICE ADDRESS=(240,8),DEVTYPE=3278                    
         RDEVICE ADDRESS=(30A,2),DEVTYPE=7036,CLASS=(S,A,D,T)    
         RDEVICE ADDRESS=(30E,2),DEVTYPE=7040,CLASS=(S,A,D,T)    
         RDEVICE ADDRESS=(500,2),DEVTYPE=CTCA                    
         RDEVICE ADDRESS=(1A0,32),DEVTYPE=3380                   
         RCTLUNIT ADDRESS=000,CUTYPE=6012                        
         RCTLUNIT ADDRESS=240,CUTYPE=3278                        
         RCTLUNIT ADDRESS=308,CUTYPE=7031                        
         RCTLUNIT ADDRESS=500,CUTYPE=CTCA                        
         RCTLUNIT ADDRESS=1A0,CUTYPE=3880,FEATURE=32-DEVICE      
         RCHANNEL ADDRESS=0,CHTYPE=MULTIPLEXOR                   
         RCHANNEL ADDRESS=1,CHTYPE=BLKMPXR                       
         RCHANNEL ADDRESS=2,CHTYPE=BLKMPXR                       
         RCHANNEL ADDRESS=3,CHTYPE=BLKMPXR                       
         RCHANNEL ADDRESS=5,CHTYPE=BLKMPXR                       
         RIOGEN   CONS=240,ALTCONS=(241,000,001)                 
         END

Добавлено (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 адресе  буквы были вперемешку русские и английские одинаковые по написанию.

Прикрепления: 6355865.jpg (189.6 Kb)
 
akostДата: Вс, 02.09.2018, 10:42 | Сообщение # 3
Admin
Группа: Администраторы
Сообщений: 619
Репутация: 5
Статус: Offline
Цитата LionLexXx ()
Пришлось повозиться с отправкой сообщения пользователю, пока разобрался. Проблема была с "усеченной" кодировкой в СВМ, в e-mail адресе  буквы были вперемешку русские и английские одинаковые по написанию.

как это у вас в e-mail попадали русские буквы?? их же там быть вроде как не должно быть по определению... проблема ДКОИ как раз в том, что на месте русских букв, по написанию аналогичных с английскими, стоят английские. то есть в русских текстах встречаются английские буквы, а не наоборот, в английских - русские. или я где-то ошибаюсь?..
 
akostДата: Вс, 02.09.2018, 10:48 | Сообщение # 4
Admin
Группа: Администраторы
Сообщений: 619
Репутация: 5
Статус: Offline
К вопросу архитектуры решения. Раз работает - то уже хорошо, имеет право на жизнь. Но я подобные связки делал чисто почтой, у меня как-то СВМ уверенно получал-отправлял почту везде, куда надо. а дальше в виртуальной машине стоял простенький читатель с ридера, который ловил почту, разбирал ее, декодировал бинарное содержимое и обрабатывал его, как нужно - что-то в базу совал, что-то на минидиски, что-то в программу запуливал. Было достаточно надежно. Потом дополнил FTP - там в виртуальной машине крутилась программа, которая раз в минуту проверяла появление на определенном минидиске неких файлов и что-то делала в зависимости от их содержимого.
По моему скромному мнению, почта + FTP для СВМ дают совершенно самодостаточное решение. А под Геркулесом - даже без них, через ридер-панчер-печать.
Но повторю еще раз: автору мое глубокое почтение, он сделал рабочую систему, уважение ему за это и почет.
 
LionLexXxДата: Вс, 02.09.2018, 15:37 | Сообщение # 5
Лейтенант
Группа: Проверенные
Сообщений: 50
Репутация: 1
Статус: Offline
Цитата akost ()
как это у вас в e-mail попадали русские буквы?? их же там быть вроде как не должно быть по определению... проблема ДКОИ как раз в том, что на месте русских букв, по написанию аналогичных с английскими, стоят английские. то есть в русских текстах встречаются английские буквы, а не наоборот, в английских - русские. или я где-то ошибаюсь?..

Почему так получилось? 1С при анализе письма формирует текстовый файл в первую строку пишет отправителя, во вторую адреса тех кто стоял в копии. Затем сохраняет на минидиск в файл "I0000001 TXT", порядковый номер файла информации совпадает с файлом данных "D0000001 TXT" и с файлом результата "R0000001 TXT" . Потом 1С забирает файл результата  "R0000001 TXT" и смотрит в файле информации "I0000001 TXT"  кому его отправить. И в тот момент когда 1С считывает с минидиска файл информации оказывается, что там русские буквы совпадающие по написанию. У нас вообще вся информация которая выгружается по ftp  с СВМа имеет такую проблему.

Добавлено (02.09.2018, 15:43)
---------------------------------------------
Вообще надо уходить от этой кодировки на нормальную)))

Добавлено (04.09.2018, 10:38)
---------------------------------------------

Цитата LionLexXx ()
Почему так получилось? 1С при анализе письма формирует текстовый файл в первую строку пишет отправителя, во вторую адреса тех кто стоял в копии. Затем сохраняет на минидиск в файл "I0000001 TXT", порядковый номер файла информации совпадает с файлом данных "D0000001 TXT" и с файлом результата "R0000001 TXT" . Потом 1С забирает файл результата  "R0000001 TXT" и смотрит в файле информации "I0000001 TXT"  кому его отправить. И в тот момент когда 1С считывает с минидиска файл информации оказывается, что там русские буквы совпадающие по написанию. У нас вообще вся информация которая выгружается по ftp  с СВМа имеет такую проблему.

Администратор по СВМ сказал, что вся информация которая выгружается из СВМ должна быть в русской раскладке и по этому он исправил перекодировочную таблицу ДКОИ наоборот, чтобы русские буквы заменяли английские.
 
  • Страница 1 из 1
  • 1
Поиск: