Здравствуйте!
Пытаюсь с помощью функции QINPUT создать диалоговое окно,которое заполняется
данными из массива,полученного в ходе выполнения плагина. в нижеследующем примере
это переменная aParam :
FUNCTION Main()
Private _data_n,_data_k,_data_r
Private aMas
Private aParam
dbpush()
aParam:={{"01/01/2014","аааааааа",1,'head_1'},{"02/01/2014","бббббббббббб",2,'head_2'},{"03/01/2014","ввввввв",3,'head_3'}}
altd()
_DialogSay(aParam)
dbpop()
return
FUNCTION _DialogSay(x)
Local _top,_bot,_left,_right,_heads,_pic:={},_ref:={},_app,_spec,_getbl:={}
Local j:=0,aHeads:={}
Local _head //head_n .......
Local _field:='',_zag:=' '
Local head_1:=1,head_2:=2,head_3:=3
//дата конца формирования отчета
_data_n:=111111
_data_k:=222
_data_r:=9999
//выходные параметры -_data_n ,_data_k,_data_r,входящие в массив aMas
_top:=3
_bot:=len(x)+2
_left:=3
_right:=76
j:=1
// ЗДЕСЬ ПЫТАЮСЬ задать имя переменной
// Do While j<=len(x)
// _head:="head_"+alltrim(str(j)) // так
// _head:=x[j,4] // или так
// _head:=x[j,3] // присвоение значение переменной
// aadd(aHeads,{{_top+j-1,_left+63},_head})
// j:=j+1
// enddo
aheads:={{{_top,_left+67},"_data_n"},{{_top+1,_left+67},"_data_k"},{{_top+2,_left+67},"_data_r"}} // вот с ним //проблема
aeval(x,{|| aadd(_pic,'999999')})
_ref:={}
_app:=1
_spec:='RESTOFF'
aeval(x,{|| aadd(_getbl,NIL)})
_getbl:={}
DISPBOX(_top-1,_left-1,_bot+1,_right+1,'г=┐│-=L│ ',"N/BG")
SAYSCREEN(" ЗАПОЛНЕНИЕ ОБЪЕМОМ ПРОИЗВЕДЕННОЙ ПРОДУКЦИИ ",_top-1,_left+2)
j:=0
aeval(x,{|x| SAYSCREEN(x[1]+' '+x[2],_top+j,_left+2),j++})
QINPUT(_top,_left,_bot,_right,aheads,_app,_ref,_pic,,,,,,,_spec,_getbl,,,,,,,,,"Сформировать отчет ?")
IF LASTKEY()!=27
aMas:={_data_n ,_data_k,_data_r}
else
aMas:={}
endif
return aMas
Не получается в массиве aheads избавится от явно задаваемых переменных _data_n ,_data_k,_data_r
Строка _head:="head_"+alltrim(str(j)) или строка _head:=x[j,4] позволяет задать имя переменной для ввода и вывода,.
А вот значение ей не удается задать.
Как это сделать?
Заранее спасибо.
Пытаюсь с помощью функции QINPUT создать диалоговое окно,которое заполняется
данными из массива,полученного в ходе выполнения плагина. в нижеследующем примере
это переменная aParam :
FUNCTION Main()
Private _data_n,_data_k,_data_r
Private aMas
Private aParam
dbpush()
aParam:={{"01/01/2014","аааааааа",1,'head_1'},{"02/01/2014","бббббббббббб",2,'head_2'},{"03/01/2014","ввввввв",3,'head_3'}}
altd()
_DialogSay(aParam)
dbpop()
return
FUNCTION _DialogSay(x)
Local _top,_bot,_left,_right,_heads,_pic:={},_ref:={},_app,_spec,_getbl:={}
Local j:=0,aHeads:={}
Local _head //head_n .......
Local _field:='',_zag:=' '
Local head_1:=1,head_2:=2,head_3:=3
//дата конца формирования отчета
_data_n:=111111
_data_k:=222
_data_r:=9999
//выходные параметры -_data_n ,_data_k,_data_r,входящие в массив aMas
_top:=3
_bot:=len(x)+2
_left:=3
_right:=76
j:=1
// ЗДЕСЬ ПЫТАЮСЬ задать имя переменной
// Do While j<=len(x)
// _head:="head_"+alltrim(str(j)) // так
// _head:=x[j,4] // или так
// _head:=x[j,3] // присвоение значение переменной
// aadd(aHeads,{{_top+j-1,_left+63},_head})
// j:=j+1
// enddo
aheads:={{{_top,_left+67},"_data_n"},{{_top+1,_left+67},"_data_k"},{{_top+2,_left+67},"_data_r"}} // вот с ним //проблема
aeval(x,{|| aadd(_pic,'999999')})
_ref:={}
_app:=1
_spec:='RESTOFF'
aeval(x,{|| aadd(_getbl,NIL)})
_getbl:={}
DISPBOX(_top-1,_left-1,_bot+1,_right+1,'г=┐│-=L│ ',"N/BG")
SAYSCREEN(" ЗАПОЛНЕНИЕ ОБЪЕМОМ ПРОИЗВЕДЕННОЙ ПРОДУКЦИИ ",_top-1,_left+2)
j:=0
aeval(x,{|x| SAYSCREEN(x[1]+' '+x[2],_top+j,_left+2),j++})
QINPUT(_top,_left,_bot,_right,aheads,_app,_ref,_pic,,,,,,,_spec,_getbl,,,,,,,,,"Сформировать отчет ?")
IF LASTKEY()!=27
aMas:={_data_n ,_data_k,_data_r}
else
aMas:={}
endif
return aMas
Не получается в массиве aheads избавится от явно задаваемых переменных _data_n ,_data_k,_data_r
Строка _head:="head_"+alltrim(str(j)) или строка _head:=x[j,4] позволяет задать имя переменной для ввода и вывода,.
А вот значение ей не удается задать.
Как это сделать?
Заранее спасибо.