RETURNTHELASTMESSAGE — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Текст) |
Hisava (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
[[RETURNTHELASTMESSAGE]] - это программа из справочника [[R266]] | [[RETURNTHELASTMESSAGE]] - это программа из справочника [[R266]] | ||
Вернуть последнее сообщение с сервера УТМ ( система ЕГАИС ) | Вернуть последнее сообщение с сервера УТМ ( система ЕГАИС ) | ||
− | RETURNTHELASTMESSAGE( host, port, type_of_message ) | + | [[RETURNTHELASTMESSAGE]]( host, port, type_of_message ) |
+ | host - адрес | ||
+ | port - порт | ||
+ | type_of_message - тип сообщения, например, "ReplyRestsShop" | ||
= Текст = | = Текст = | ||
parameters host, port, type_of_message | parameters host, port, type_of_message |
Версия 07:56, 25 июня 2018
RETURNTHELASTMESSAGE - это программа из справочника R266
Вернуть последнее сообщение с сервера УТМ ( система ЕГАИС )
RETURNTHELASTMESSAGE( host, port, type_of_message )
host - адрес port - порт type_of_message - тип сообщения, например, "ReplyRestsShop"
Текст
parameters host, port, type_of_message local sql, aa, path, doc, node, child_node_count, r609, max_num path := NICE_PATH( EXPANDUNCFILENAME( temppath ) ) aa := IDHTTPGET( host + ':' + port + '/opt/out' ) WRITETXTFILE( { aa }, 'out.xml', path, true ) sql := [ DELETE From R609 ] SIMPLESQL( sql, reflispath ) doc := XMLDOCUMENT( path + 'out.xml' ) node := XMLNODE( doc ) // узел child_node_count := XMLNODEPROP( node, "ChildNodeCount" ) // количество узлов в XML while child_node_count > 0 DEC( child_node_count ) // проходим все узлы документа, начиная с максимального номера aa := XMLNODEPROP( XMLNODEPROP( node, "ChildNodes", child_node_count ), "NODEVALUE" ) if at( type_of_message, aa ) > 0 try r609 := OPENKLSF( 'R609' ) ( r609 )->( DBAPPEND() ) ( r609 )->KOD := val( RIGHT( aa, LEN( aa ) - RAT( '/', aa ) ) ) ( r609 )->PNAME := aa ( r609 )->( REFRESH() ) finally CLOSEKLSF( r609 ) end endif end sql := [ Select MAX( KOD ) From R609 ] max_num := SQLTOARR( sql,, reflispath ) sql := [ Select PNAME From R609 Where KOD = ] + max_num aa := SQLTOARR( sql,, reflispath ) aa := RIGHT( aa, LEN( aa ) - at( 'http', aa ) - 6 ) result := IDHTTPGET( aa )