RETURNTHELASTMESSAGE — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «RETURNTHELASTMESSAGE - это программа из справочника R266 Вернуть последнее сообщение с сервера…») |
Hisava (обсуждение | вклад) м (→Текст) |
||
Строка 10: | Строка 10: | ||
sql := [ DELETE From R609 ] | sql := [ DELETE From R609 ] | ||
SIMPLESQL( sql, reflispath ) | SIMPLESQL( sql, reflispath ) | ||
− | doc := XMLDOCUMENT( path + 'out.xml' ) | + | doc := [[XMLDOCUMENT]]( path + 'out.xml' ) |
node := XMLNODE( doc ) // узел | node := XMLNODE( doc ) // узел | ||
child_node_count := XMLNODEPROP( node, "ChildNodeCount" ) // количество узлов в XML | child_node_count := XMLNODEPROP( node, "ChildNodeCount" ) // количество узлов в XML | ||
Строка 34: | Строка 34: | ||
aa := RIGHT( aa, LEN( aa ) - at( 'http', aa ) - 6 ) | aa := RIGHT( aa, LEN( aa ) - at( 'http', aa ) - 6 ) | ||
result := IDHTTPGET( aa ) | result := IDHTTPGET( aa ) | ||
+ | |||
= Смотрите также = | = Смотрите также = | ||
[[Полезные функции]] | [[Полезные функции]] | ||
[[Функции Delphi]] | [[Функции Delphi]] |
Версия 07:55, 25 июня 2018
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 )