RETURNTHELASTMESSAGE — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
(Новая страница: «RETURNTHELASTMESSAGE - это программа из справочника R266 Вернуть последнее сообщение с сервера…»)
 
м (Текст)
Строка 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 )

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

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

Функции Delphi