Здравствуйте!
Нужно, чтобы при открытии справочника партнеров в нем отображались только партнеры у которых ИНН
имеет определенное начальное значение.
Вот рабочий код.
Но при открытии отображаются все партнеры.
Может следующую строку надо как-то иначе задавать?
Нужно, чтобы при открытии справочника партнеров в нем отображались только партнеры у которых ИНН
имеет определенное начальное значение.
Вот рабочий код.
Но при открытии отображаются все партнеры.
Может следующую строку надо как-то иначе задавать?
Код |
---|
_tagsp:=FormulPars('_SPARTNER->( SETSCOPE(upper("CODE_PR"),cINN,,{"FULTAG_INN"}) )',{''}) |
Код |
---|
///********** запрашиваем код партнера ********************************************** FUNCTION _Dialog() //функция возвращает // код контрагента Local _top,_bot,_left,_right,_heads,_pic,_ref,_app,_spec,_getbl Private cINN:='5933' altd() aSet:=SAVESET() aSetKey:=SAVESETKEY() NetUse("_SPARTNER",LoadPath()+"PARTNER.dbf") _out0:=SPACE(6) //код контрагента //выходные параметры -_out0 ,входящие в массив aDial _top:=7 _bot:=8 _left:=10 _right:=70 _heads:={{{_top,_left+32},"_out0"}} _pic:={'XXXXXX'} _ref:={'SPARTN'} _app:=1 _spec:='RESTOFF' _getbl:={NIL} DISPBOX(_top-1,_left-1,_bot+1,_right+1,'╔═╗║══╚║ ',"N/BG") SAYSCREEN(" ВЫБИРЕТЕ КОД ПАРТНЕРА ",_top-1,_left+2) SAYSCREEN("Партнер......................: ",_top,_left+2) _SPRAV_PARTN() QINPUT(_top,_left,_bot,_right,_heads,; _app,_ref,_pic,,,; ,,,,_spec,; _getbl,,,,,; ,,,,"Сформировать отчет ?") _SPARTNER->(dbCloseArea()) IF LASTKEY()!=27 aDial:={_out0} else aDial:={} endif RESTSETKEY(aSetKey) RESTSET(aSet) return aDial //функция вызова справочника партнеров FUNCTION _SPRAV_PARTN() Local sAr,sAra,_namspr,_headspr,_typspr,_heads_sp,_mestosp,_colsp,_pnamsp,_pernamsp Local _cKeyVal,_fieldsp,_aSortSeek,_bPreDisp Local _findsp,_bYesArray,_bYesReplArray,_bYesNoRepl,_nOrdSeek,_cLeftKey sAr:=SELECT() sAra:= SELECT("_SPARTNER") _namspr:= "SPARTN" _headspr:="Справочник контрагентов" _typspr:=1 _heads_sp:={" КОД "," НАИМЕНОВАНИЕ КОНТРАГЕНТА "," ИНН/КПП "} _mestosp:={3,5,15} _colsp:='n/w,w+/n' _pnamsp:={"CODE"} //массив имен полей справочника для занесения в GET-переменные _pernamsp:={"aIn[1]"} //массив имен GET-переменных, в которые заносятся значения,полей справочника (их имена должны быть PRIVATE или PUBLIC) _cKeyVal:='UPPER(aIn[1])' _fieldsp:={{||FIELD->CODE},{||FIELD->SHORTNAME},{||FIELD->CODE_PR}} //массив блоков кода для считывания содержимого полей справочника, по умолчанию считываются все поля целиком; _aSortSeek:={; {"- по коду ",{"Шифр "}, {'CODE'},'UPPER(aIn[1])',,,,'FULLCODE'},; {"- по наименованию",{"Наименование "}, {'SHORTNAME'},'UPPER(aIn[1])',,,,'FULLNAME'}; } _bPreDisp:=Nil //блок, выполняющийся перед отображениием справочника . _findsp:='cFind$UPPER(SHORTNAME)' //контекстный поиск // _tagsp:=2 //номер тега, по которому производится Seek по cKeyVal _tagsp:=FormulPars('_SPARTNER->( SETSCOPE(upper("CODE_PR"),cINN,,{"FULTAG_INN"}) )',{''}) //номер тега, по которому производится Seek по cKeyVal _nOrdSeek:='FULLNAME' //индекс для возможности непосредственного поиска по первым буквам _cLeftKey:="UPPER(aIn[1])"//ПОЧЕМУ_ТО нарушает работу _nOrdSeek старшая часть ключа для непосредственного поиска по буквам DBSELECTAREA(sAra) _SPARTNER->(MAKEREFER(_namspr,_headspr,_typspr,_heads_sp,_mestosp, ; _colsp,_pnamsp,_pernamsp,_cKeyVal,_fieldsp,; _aSortSeek,,,,, ; ,,,,, ; ,,,,, ; ,_findsp,_tagsp,,,; ,,,,, ; ,,,,, ; ,,,,, ; ,_nOrdSeek)) DBSELECTAREA(sAr) RETURN Nil |