RETURNTHELASTMESSAGE
Материал из Фабиус wiki
Версия от 07:55, 25 июня 2018; Hisava (обсуждение | вклад) (Новая страница: «RETURNTHELASTMESSAGE - это программа из справочника R266 Вернуть последнее сообщение с сервера…»)
RETURNTHELASTMESSAGE - это программа из справочника R266
Вернуть последнее сообщение с сервера УТМ ( система ЕГАИС )
RETURNTHELASTMESSAGE( host, port, type_of_message )
Текст
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 )