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 )

Смотрите также

Полезные функции

Функции Delphi