RETURNTHELASTMESSAGE

Материал из Фабиус wiki
Версия от 07:57, 25 июня 2018; Hisava (обсуждение | вклад) (Смотрите также)

Перейти к: навигация, поиск

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 )

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

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

Функции Delphi

ЕГАИС

УТМ