BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 След.
Управление продажами, личные настройки.
 
Странно но переменная среды "TERMINAL"
в указанных выше файлах а так-же в каталоге "DOC" у меня по крайней мере не нашлась.
2 InitList'a и Ctrl+xx
 
да это еще недоделаная функция вот что там:
Код
Function uCheckEx() // Проверка при выходе
 Local R := .T.
// AltD()
 Return R

Я что заметил при инициализации InitList-а всякий раз в конец массива bHotKey дописываются стандартные функции,
но при завершении они не удаляются из массива, а так как переменная живет независимо от InitList-a, то
воти растет массив.
2 InitList'a и Ctrl+xx
 
Размножение происходит в строке
Код
 TransM->(InitList(bTop,bBot,bColHead,bBlockCols,bCurProc,bHeads,m->bRef,bPict,bWhen,bVAlid,,bDel,,,,bPost,,,bColors,bColors1,,bScrPost,,,,,,,,m->bHotKey))

До этой строки нормально, но при вызове функции bCurProc в моем случае MOVE2(_lActiv,rnRowAct)
уже добавляется стандартная часть подсказки 4 строчки и так всякий раз.
2 InitList'a и Ctrl+xx
 
Да увеличивается.
вот картинка
2 InitList'a и Ctrl+xx
 
Я написал тремя постами выше.
Цитата

В общем все заработало перенес присвоение aHotKey и bHotKey в моем случае
Код

aHotKey:={;
{;
{'Ctrl+F5 - Статус',K_CTRL_F5,{||aStatus()},1},;
{'Ctrl+F7 - Таблица расстояний',K_CTRL_F7,{||uRasst()},1};
},;
{},;
{};
}

и
Код

bHotKey:={;
{;
{'Ctrl+F7 - Таблица расстояний',K_CTRL_F7,{||uRasst()},1},;
{'Ctrl+'+Chr(24)+ ' - вверх',K_CTRL_UP,{||uIndUp()},1},;
{'Ctrl+'+Chr(25)+ ' - вниз',K_CTRL_DOWN,{||uIndDown()},1};
},;
{},;
{}}

соответственно в тело функций INIT1 и INIT2 соответственно размножение прекратилось.
Обновление адресного справочника
 
Не допер. спасибо.
Обновление адресного справочника
 
Уважаемые коллеги, появилась необходимость обновить адресный справочник.
Я скачал последний кладр распаковал зашёл в меню "Настройка подсистемы"->"Импорт данных"->"Справочник адресов из налогоплательщика" указываю каталог с КЛАДР но БЭСТ ругается, что файл K1REG.DBF не найден.
БЭСТ4 SP65.
2 InitList'a и Ctrl+xx
 
Спасибо за помощь Константин.
Напрягаться не надо, заработало.
Про dispbox() понятно, воспользуюсь советом.
Управление продажами, личные настройки.
 
Нет такая переменная не прописана, я про нее не слышал.
Управление продажами, личные настройки.
 
В управлении продажами почему то перестали запоминаться настройки "Торговый агент" "значение по умолчанию". Я где то читал, что эта настройка привязывается к той машине с которой она сделана и должна при создании нового документа автоматически подставляться в поле Торговый агент. Когда то так и было, но с некоторых пор перестало работать.
у меня SP65
2 InitList'a и Ctrl+xx
 
Да не особо переиначил, просто объявление всех переменных перенес в процедуру из которой в цикле вызываются InitList-ы,
чтобы не объявлять их заново и присваивать им те же значения.
В общем все заработало перенес присвоение aHotKey и bHotKey в моем случае
Код
   aHotKey:={;
        {;
        {'Ctrl+F5 - Статус',K_CTRL_F5,{||aStatus()},1},;
        {'Ctrl+F7 - Таблица расстояний',K_CTRL_F7,{||uRasst()},1};
        },;
        {},;
        {};
        }

и
Код
   bHotKey:={;
        {;
        {'Ctrl+F7 - Таблица расстояний',K_CTRL_F7,{||uRasst()},1},;
        {'Ctrl+'+Chr(24)+ ' - вверх',K_CTRL_UP,{||uIndUp()},1},;
        {'Ctrl+'+Chr(25)+ ' - вниз',K_CTRL_DOWN,{||uIndDown()},1};
        },;
        {},;
        {}}

соответственно в тело функций INIT1 и INIT2 соответственно размножение прекратилось.
Странно.
Спасибо за Внимание.
2 InitList'a и Ctrl+xx
 
да нет я объявил её заранее при переключении InitList-ов переменная заново не объявляется. При работе используются несколько моих таблиц
вот фрагмент кода:
Код
#Include "inkey.ch"

Function uTransA()
 Local aSet, aSetKey, bScr, aLastDate, FileNtx
 Local xTop:=1,W:=21, WZ1:=3, W1:=7, WZ2:=1, W2:=1, WZ3:=3, W3:=0,zTop //
 Private  _numrec:=0, yTop, SortSeek, SortSeek1, mSortSeek, TekInit:=0,_ScrInit,_ScrPost
 Private aTop,aBot,aLeft,aColHead,aRef,aPict,aBlockCols,aCurProc,aaDel,aHeads,aColors,aColors1,aValid,aWhen,aPost, aSortSeek, aFindMacro,anRowAct,aHotKey,aType,aGetBlock
 Private bTop,bBot,bLeft,bColHead,bRef,bPict,bBlockCols,bCurProc,bDel, bHeads,bColors,bColors1,bValid,bWhen,bPost,bScrInit,bnRowAct,bScrPost
 Private cTop, cBot, cColHead, cBlockCols, cCurProc, cDel, cInsWork, cFindMacro
 Private gTop, gLeft, gRef, gHeads, gPost, gScrInit
 Private hTop, hBot, hColHead,hRef, hBlockCols, hFindMacro
 If .T. //
//  AltD()
   W3:=W-WZ1-W1-WZ2-W2-WZ3-1
// 1 окно
// aTop:=4
// aBot:=11
   aLeft:=10
   aTop:=xTop+WZ1
   aBot:=aTop+W1
// 2 окно
   yTop:=aBot+WZ2+W2
   zTop:=yTop+1
// bTop:=17
// bBot:=21
   bTop:=zTop+Wz3
   bBot:=bTop+W3
   bLeft:=17
//
   cTop:=3
   cBot:=21
   gTop := 5
   gLeft :=10
   hTop:=3
   hBot:=21
//
   bScr:=SaveScreen()
   aSet:=SAVESET()
   aSetKey:=SaveSetKey()
//   SetKey(K_F4,{||NewRec()})
   SetKey(K_CTRL_F5,{||aStatus()})
   SetLastKey(0)
//AltD()
//задание параметров первой прямоугольной области
   DispBox(xTop,0,bBot+1,79,( Chr( 201 ) + Chr( 205 ) + Chr( 187 ) + Chr( 186 ) + Chr( 188 ) + Chr( 205 ) + Chr( 200 ) + Chr( 186 )+' ' ) ,"W+/B")
//задание параметров второй прямоугольной области
   DispBox(zTop,0,bBot+1,79,( Chr( 204 ) + Chr( 205 ) + Chr( 185 ) + Chr( 186 ) + Chr( 188 ) + Chr( 205 ) + Chr( 200 ) + Chr( 186 )+' ' ) ,"W+/B")
   SayScreen( "════════╦══════╦════════════════════╦══════════════╦══════════╦═════════╦═════",XTop,1,'W+/B')
   SayScreen( "  Дата  ║Номер ║   Перевозчик       ║  Водитель    ║Сумма общ ║   Вес   ║Расст",XTop+1,1,'W+/B')
   SayScreen("╠════════╩══════╩════════════════════╩══════════════╩══════════╩═════════╩═════╣",XTop+2,0,'W+/B')
   SayScreen("╟──────────────────────────────────────────────────────────────────────────────╢",aBot+1,0,'W+/B')
// SayScreen( X ,aBot+2,1,'W+/B')
   SayScreen( "════════╦══════╦════════════════════╦═════════════════╦═════════════════╦═════",zTop,1,'W+/B')
   SayScreen( "  Дата  ║Номер ║       Клиент       ║     Менеджер    ║      Город      ║Расст",zTop+1,1,'W+/B')
   SayScreen("╠════════╩══════╩════════════════════╩═════════════════╩═════════════════╩═════╣",zTop+2,0,'W+/B')
   SayScreen( 'Учет автотранспотра',xTop,2,'G/B')
   SayScreen( 'Отвоз/привоз/маршрут',zTop,2,'G/B')
   SayScreen('Сумма отв',aBot+WZ2,2,'G/B')
   SayScreen('Сумма прив',aBot+WZ2,12,'G/B')
   SayScreen('Доп расход',aBot+WZ2,23,'G/B')
   SayScreen('Марка маш.Г/П',aBot+WZ2,34,'G/B')
   SayScreen('Телефон',aBot+WZ2,50,'G/B')
   SayScreen('Дата от.',aBot+WZ2,62,'G/B')
   SayScreen('Дата пр.',aBot+WZ2,71,'G/B')
   DBPush()
   Netuse('Docs', LoadPath() + 'Sclad\mDoc.dbf')
   Docs->(OrdSetFocus('mDoc_D'))
   Netuse('Trans', LoadPath() + 'Sclad\uTrans.dbf')
   Trans->(OrdSetFocus('uTrans_D'))
   NetUse('Transm', LoadPath() + 'Sclad\uTransm.dbf')
   TransM->(OrdSetFocus('LINK'))
   NetUse('Part1', LoadPath() + 'Partner.dbf')
   Part1->(OrdSetFocus('CODE'))
   Trans->(F_SETRELATION("Part1","UPPER(Code)"))
   NetUse('Part2', LoadPath() + 'Partner.dbf')
   FileNtx:=MkTempIndex({'Upper(Code)','Upper(ShortName)','Upper(Code)','Upper(ShortName)'},{'','','!Empty(UMNGZ)','!Empty(UMNGZ)'},{'Code','Name','MngZ1','MNGZ2'})
   TransM->(F_SETRELATION("Part2","UPPER(AgentCode)"))
   NetUse('Prim1', LoadPath() + 'Sclad\mPrim.dbf')
   Prim1->(OrdSetFocus('Prim_Mng'))
   Part2->(F_SETRELATION("Prim1","UPPER(umngz)"))
   NetUse('Prim2', LoadPath() + 'Sclad\mPrim.dbf')
   Prim2->(OrdSetFocus('MPrim'))
   NetUse('Gorod', LoadPath() + 'uGorod.dbf')
   Gorod->(OrdSetFocus('Gorod'))
   NetUse('GorodM', LoadPath() + 'uGorodM.dbf')
   GorodM->(OrdSetFocus('Gorod'))
//  Справочник клиентов
   _ScrInit:={||Part2->(OrdSetFocus('MNGZ1')),2}
   _ScrPost:={|| Part2->(OrdSetFocus('CODE')),2}
   SortSeek:={;
        {"- по коду        ","- по коду        ", 'Code','UPPER(aIn[1])',,,,'CODE'},;
        {"- по наименованию","- по наименованию", 'ShortName','UPPER(aIn[1])',,,,'Name'}}
   SortSeek1:={;
        {"- по коду        ","- по коду        ", 'Code','UPPER(aIn[1])',,,,'MNGZ1'},;
        {"- по наименованию","- по наименованию", 'ShortName','UPPER(aIn[1])',,,,'MNGZ2'}}
   Part2->( MAKEREFER("SP1","Справочник клиентов",1,{" Шифр ","Наименование"},;
        {2,8,15}, "n/w,w+/n",{"Code",'Shortname'},{'aIn[3]','aIn[4]'},'UPPER(aIn[3])',;
        {{||Field->Code},{||Field->ShortNAME}};
        ,SortSeek,,,,,,,,;
        ,,,,,,,,'cFind$UPPER(ShortName)'))
   Part2->( MAKEREFER("SP2","Справочник клиентов",1,{" Шифр ","Наименование","Менеджер"},;
        {2,8,15}, "n/w,w+/n",{"Code",'Shortname'},{'aIn[1]','aIn[2]'},'UPPER(aIn[1])',;
        {{||Field->Code},{||Field->ShortNAME},{||Left(Prim1->Name,20)}};
        ,SortSeek1,,,,,,,,;
        ,,,,,,,,'cFind$UPPER(ShortName)'))
   Prim2->( MAKEREFER("SM2","Справочник менеджеров",3,{"Наименование"},;
        {1,17,11}, "n/w,w+/n",{"Name"},{'aIn[3]'},'UPPER(aIn[3])',;
        {{||Field->Name}};
        ,,,,,,,,,;
        ,,,,,,,,'cFind$UPPER(Name)'))
   Gorod->( MAKEREFER("Gor","Справочник городов",1,{"Город"},;
        {2,8,15}, "n/w,w+/n",{"Name"},{'aIn[1]'},'UPPER(aIn[1])',;
        {{||Field->NAME}};
        ,,{{'Город............','Name'}},,,,,,,;
        ,,,,,,,,'cFind$UPPER(Name)'))
   Gorod->( MAKEREFER("Gor1","Справочник городов",1,{"Город"},;
        {2,8,15}, "n/w,w+/n",{"Name"},{'aIn[2]'},'UPPER(aIn[2])',;
        {{||Field->NAME}};
        ,,{{'Город............','Name'}},,,,,,,;
        ,,,,,,,,'cFind$UPPER(Name)'))
// Настройки  1 initlist'a
   aColHead:=78
//Заголовки колонок реестра
   aBlockCols:={;
        {{||DtoC(Field->Date)},0},;
        {{||Field->NumDoc},9},;
        {{||Left(Field->Name,20)},16},;
        {{||Left(Field->Voditel,14)},37},;
        {{||Str(Field->Sum_Ot+Field->Sum_Pr+Field->Sum_Dop,10,2)},52},;
        {{||Str(Field->Ves_Ot/1000,4,1)+'/'+Str(Field->Ves_Pr/1000,4,1)},63},;
        {{||Str(Field->KM,5,0)},73};
        }
// поля ввода
   aHeads:={;
        {"Дата........................: ","Date"},;
        {"Номер.......................: ","NumDOc"},;
        {"Шифр перевозчика............: ","Code"},;
        {"Перевозчик..................: ","Name"},;
        {"Водитель....................: ","Voditel"},;
        {"Направление.................: ","Napr"},;
        {"Сумма отвоза................: ","Sum_Ot"},;
        {"Сумма привоза...............: ","Sum_Pr"},;
        {"Сумма прочее................: ","Sum_Dop"},;
        {"Масса отвоза кг.............: ","Ves_Ot"},;
        {"Масса привоза кг............: ","Ves_Pr"},;
        {"Общее расстояние............: ","KM"},;
        {"Марка А/М, грузоподъемность.: ","AM_GP"},;
        {"Телефон.....................: ","Tel"};
        }
//Запрещение удаления в таблице
   aaDel:={||.F.}
   aWhen:={{||aBefore1()},{||.f.},,{||.f.},,}
   aValid:={,,,,,,,,,,,,,{||uCheckIn()}}
   aPict:={,,,'@S25','@S16',,'999999999999.99','999999999999.99','999999999999.99','99999','99999','99999','XXXXXXXXXXXXXXX','XXXXXXXXXXX'}
   aPost:={||aSaveRec()}
   aFindMacro:='cFind$UPPER(Name)'
   aSortSeek:={;
        {"- по дате   ","- по Дате   ", 'Date','UPPER(UPPER(DTOS(aIn[1])))',,,,'uTrans_D'},;
        {"- по номеру ","- по номеру ", 'NumDoc','UPPER(aIn[1])',,,,'uTrans_N'}}
//   aHotKey:={;
//        {;
//        {'Ctrl+F5 - Статус',K_CTRL_F5,{||aStatus()},1},;
//        {'Ctrl+F7 - Таблица расстояний',K_CTRL_F7,{||uRasst()},1};
//        },;
//        {},;
//        {};
//        }
   aColors :={||Iif( Field->Status = ' ' ,"W+/B",Iif(Field->Status = '1', 'GR+/B',Iif(Field->Status = '2','G+/B','BG+/B')))}
   aColors1:={||Iif( Field->Status = ' ' ,"N/W",Iif(Field->Status = '1', 'GR/W',Iif(Field->Status = '2','G/W','B/W')))}
   aType:={{.F.,'В оба конца '},{.T.,'В один нонец'}}
   aGetBlock:={,,,,,{|x|ROTATEBLOCK(x,aType,"aIn[6]")}}
   aRef:={,,'SP1',,,{|x|ROTATEANDREADER(x,aType)}}
// Настройки  2 initlist'a
   bColHead:=78
// dCurProc:={||2}
   bRef:={'SP2',,'SM2'}
//Заголовки колонок реестра
   bBlockCols:={;
        {{||DtoC(Field->Date)},0},;
        {{||Field->NumDoc},9},;
        {{||Left(Field->AgentName,20)},16},;
        {{||Left(Field->Prim,17)},37},;
        {{||Left(Part2->uGorod,17)},55},;
        {{||Iif(Field->KM=0,'     ',Str(Field->KM,5))},73};
        }
//Описание полей ввода
   bHeads:={;
        {"Шифр.........: ","AgentCode"},;
        {"Организация..: ","AgentName"},;
        {"Менеджер.....: ","Prim"},;
        {"Вес..........: ","Ves"}}
   bWhen:={{||bBefore(1)},{||.F.},{||bBefore(3)},{||bBefore(4)}}
   bValid:={{||bValid(1)},,,}
   bPost:={||bSaveRec()}
   bScrPost:={||uCalcRasst()}
   bDel:={||bCheckDel()}
   bPict:={,,'@S25'}
   bColors :={||Iif( Field->Vid = '2' ,'BG+/B',Iif( Empty(Field->NumDoc) ,'GR+/B','W+/B'))}
   bColors1:={||Iif( Field->Vid = '2' ,'B/W',Iif( Empty(Field->NumDoc) ,'GR/W','N/W')     )}
   bHotKey:={;
        {;
        {'Ctrl+F7 - Таблица расстояний',K_CTRL_F7,{||uRasst()},1},;
        {'Ctrl+'+Chr(24)+ ' - вверх',K_CTRL_UP,{||uIndUp()},1},;
        {'Ctrl+'+Chr(25)+ ' - вниз',K_CTRL_DOWN,{||uIndDown()},1};
        },;
        {},;
        {}}
// Настройки  Отвоз initlist'a
   cColHead:=55
//Заголовки колонок реестра
   cBlockCols:={;
        {{||If(AScan(cInsWork,Docs->(RecNo()))>0, Chr(251),' ')},0},;
        {{||DtoC(Field->Date)},2},;
        {{||Field->NumDoc},11},;
        {{||Left(Field->AgentName,20)},18},;
        {{||Left(Field->Prim,16)},39};
        }
   cDel:={||.F.}
   cFindMacro:='cFind$UPPER(AgentName)'
// Настройки  Расстояния initlist'a
   hColHead:=57
//Заголовки колонок реестра
   hBlockCols:={;
        {{||Field->Name},0},;
        {{||Field->Gorod},26},;
        {{||Str(Field->KM,5)},52};
        }
   hHeads:={;
        {"Город........: ","Name"},;
        {"Направление..: ","Gorod"},;
        {"Расстояние...: ","KM"};
        }
   hWhen:={{||.F.}}
   hRef:={,'Gor1'}
//   hDel:={||.F.}
   hFindMacro:='cFind$UPPER(Name)'
//
   gScrInit:={||DispBox(gTop,gLeft,gTop+3,gLeft+47,'╔═╗║╝═╚║ ',"N/BG") ,;
        SayScreen('[Не указан город]',gTop,gLeft+ 17,'GR+/BG'),;
        SayScreen('Клиент......:',gTop+1,gLeft+ 2,'N/BG'),;
        SayScreen(Part2->Code,gTop+1,gLeft+ 15,'B/W'),;
        SayScreen(Part2->ShortName,gTop+1,gLeft+ 22,'B/BG'),;
        SayScreen('Город.......:',gTop+2,gLeft+ 2,'N/BG'),;
        1}
   gRef:={'Gor'}
   gPost:={||uPostGor()}
   gHeads:={;
        {{gTop+2,gLeft+ 15},"uGorod"};
        }
//
   Do While INIT1(.T.).And.INIT2(.T.)
   EndDo
   RstTempIndex(FileNtx, 'Part2')
   Part2->(Ordsetfocus('MngZ_Name'))
   Prim1->(DbCloseArea())
   Part2->(DbCloseArea())
   Part1->(DbCloseArea())
   Trans->(DbCloseArea())
   Transm->(DbCloseArea())
   DBPOP()
   RestSetKey(aSetKey)
   RESTSET(aSet)
   RestScreen(,,,,bScr)
 EndIf
 Return .T.

Function INIT1(lFlag)
//altd()
//Заголовки над полями
 aCurProc:={||MOVE1(lFlag,@anRowAct,m->_numrec,RecNo())}
//Комментарии
 If lFlag
   TekInit:=1
   SayStr(1)// строка подсказки
 EndIf
// вызов функции
// AltD()
 Trans->(InitList(aTop,aBot,aColHead,aBlockCols,aCurProc,aHeads,m->aRef,aPict,aWhen,aValid,,aaDel,,aSortSeek,,aPost,,aGetBlock,aColors,aColors1,,,aFindMacro,,,,,,anrowact))//,aHotKey))
 Iif(lFlag, TekInit:=0,)
 Return !(LastKey()=27.Or.LastKey()=-9)
//Второй инитлист

Function INIT2(lFlag)
 Local aSetKey
// AltD()
 bCurProc:={||MOVE2(lFlag,@bnRowAct)}
 If lFlag
   TekInit:=2
   SayStr(2)
   aSetKey:=SaveSetKey()
   SetKey(K_F4,{||NewRec()})
//   SetKey(K_CTRL_UP,{||uIndUp()})
//   SetKey(K_CTRL_DOWN,{||uIndDown()})
//   SetKey(K_CTRL_F7,{||uRasst()})
 EndIf
 TransM->(SetScope('STR(uLink,17,0)',Str(Trans->ID,17,0)))
 TransM->(DbGoTop())
// AltD()
 TransM->(InitList(bTop,bBot,bColHead,bBlockCols,bCurProc,bHeads,m->bRef,bPict,bWhen,bVAlid,,bDel,,,,bPost,,,bColors,bColors1,,bScrPost,,,,,,,,m->bHotKey))
 If lFlag
   TekInit:=0
   RestSetKey(aSetKey)
 EndIf
 Return !(LastKey()=27.Or.LastKey()=-9)

Function MOVE1(_xlActiv,hnRowAct,xRec,xRec1)
 Local m1end, m1Ar
 m1End:=2
// AltD()
 m1Ar:=Trans->( QScroll() )
 hnRowAct:=m1Ar[6]
 If LastKey()=9
//   Trans->(QOFF())
   SetLastKey(0)
   m1End:=0
 Else
   If LastKey()=-9
     If uCheckEx()
       m1End:=0
     Else
       m1End:=2
     EndIf
   Else
     If xRec ==NIL.Or.xRec<>xRec1
       Init2(.F.)
       m->_numrec:=xRec1
     EndIf
     If _xlActiv
       m1End:=2
       SayScreen( Str(Trans->Sum_Ot,10,2), yTop,1,'N/W')
       SayScreen( Str(Trans->Sum_Pr,10,2), yTop,12,'N/W')
       SayScreen( Str(Trans->Sum_Dop,10,2), yTop,23,'N/W')
       SayScreen( Trans->AM_GP, yTop,34,'N/W')
       If Empty(Trans->Tel)
         SayScreen( Right('             '+ AllTrim(SubStr(Part1->Telefon1,1,6))+' '+ AllTrim(SubStr(Part1->Telefon1,7,7)),11), yTop,50,'B/W')
       Else
         SayScreen(Trans->Tel,yTop,50,'N/W')
       EndIf
       SayScreen( DtoC(Trans->Date_Ot), yTop,62,'N/W')
       SayScreen( DtoC(Trans->Date_pr), yTop,71,'N/W')
     Else
       QOff()
       m1End:=0
     EndIf
   EndIf
 EndIf

Function MOVE2(_lActiv,rnRowAct)
 Local m2End,m2Ar
// AltD()
 m2Ar:=TransM->(QScroll())
 rnRowAct:=m2Ar[6]
 If LastKey()=9.Or.!_lActiv
   TransM->(QOFF())
   SetLastKey(0)
   m2End:=0
 Else
//Altd()
   If LastKey()=-9
     If uCheckEx()
       m2End:=0
     Else
       m2End:=2
     EndIf
   Else
     m2End:=2
   EndIf
 EndIf
 Return m2End



2 InitList'a и Ctrl+xx
 
Уважаемые коллеги, есть БЭСТ4+ SP65. Пишу плагин на основе примера с 2-мя InitList-ами, решил использовать параметр aHotKey у обоих initlist-ов и тут проявился странный эффект при нажатиии елавиши Ctrl(Alt или Shift) голубая подсказка справа после каждого переключения(фиксированная часть)увеличивается вдвое, после нескольких переключений эта подсказка уже не убирается на экране. Я так полагаю, что это связано с функциями обработки cCurProc. Есть какие то способы борьбы кроме объявления нужных функций через SetKey(K_Ctrl_F5,{||uOutExcel()})?
Проблема с пользовательскими индексами.
 
Жаль, что ограничение в 50 индексов не получается обойти.
Тему можно закрыть.
Спасибо всем.
Проблема с пользовательскими индексами.
 
Написал вот такой код вроде работает.
Код
Function RstTempIndex(cNameNtx,aBaseName)
// Удаление временного индекса
// cNameNtx-имя индексного файла, aBaseName - имя алиаса
// если имя алиаса не указано, то для поиска используется текущий активный алиас
 Local I, aIndex, nPoz , A
 A:=Select()
If !(aBaseName == Nil)
 Select Select(aBaseName)
Endif
 If (nPoz := AScan(aIndex := BsSaveIndex(),{|cNameIdx| Upper(cNameIdx) == Upper(cNameNtx) })) != 0
   ADel(aIndex,nPoz)
   ASize(aIndex,Len(aIndex)-1)
   BsClearIndex()
   BsRestIndex(aIndex)
 EndIf
 FErase(cNameNtx)
 ORDSETFOCUS(1)
 DbGoTop()
 ReopenDbf()
 Select A
 Return .T.
Проблема с пользовательскими индексами.
 
в строке
Код
ORDSETFOCUS(Iif(Empty(cNameTag[1]), "TMP_TAG"+AllTrim(Str(I)), cNameTag[1])) 

исправил на
Код
ORDSETFOCUS(Iif(Empty(cNameTag[1]), "TMP_TAG"+AllTrim(Str(1)), cNameTag[1])) 
Проблема с пользовательскими индексами.
 
Спасибо за Внимание сделал временный индекс (слегка переделал пример), но вот Вопрос как вернуть штатный индекс после завершения программы?
вот функция которая у меня получилась:
Код
Function MkTempIndex(cNtxKey,cForKey,cNameTag)
// Создание временных индексов
// все параметры - массивы
// Количество тэгов определяется по 1 параметру
// cNtxKey - ключ для индекса, cForKey - исключения, cNameTag - имя тэга
//
// FUNCTION: FormulParsBlock(cFormul, aPars)
// Назначение.........Преобразование строки символов в блок кода
// cFormul - преобразуемая строка
// aPars - массив параметров для блока кода
//
 Local I, aIndex, nPoz
 Local cNameNtx := TempFile(m->GlobalTmpPath,'CDX')
 If ValType(cNtxKey)='A' .And. ValType(cForKey)='A' .And. ValType(cNameTag)='A' .And. Len(cNtxKey)=Len(cForKey) .And. Len(cNtxKey)=Len(cNameTag)
// Взято из примера
   If (nPoz := AScan(aIndex := BsSaveIndex(),{|cNameIdx| Upper(cNameIdx) == Upper(cNameNtx) })) != 0
     ADel(aIndex,nPoz)
     ASize(aIndex,Len(aIndex)-1)
     BsClearIndex()
     BsRestIndex(aIndex)
   EndIf
   FErase(cNameNtx)
   DbGoTop()
// Взято из примера
   For I:=1 To Len(cNtxKey)
// Исключения
     If !Empty(cForKey[I])
       ordCondSet(cForKey[I],FormulParsBlock(cForKey[I],{""}),NIL,,,1,RecNo(),,,.T.,,.F.,,.T., .F., .F., .T., .F., .F.)
     EndIf
// делаем индекс
     ordCreate(cNameNtx, Iif( Empty(cNameTag[I]), "TMP_TAG"+AllTrim(Str(I)), cNameTag[I]),cNtxKey[I],FormulParsBlock(cNtxKey[I],{""}))
   Next
   ORDSETFOCUS(Iif(Empty(cNameTag[1]), "TMP_TAG"+AllTrim(Str(I)), cNameTag[1]))
   DbGoTop()
   ReopenDbf()
 Else
   SayAndWait('в MkTempIndex()  Не массив!')
 EndIf
 Return cNameNtx

Проблема с пользовательскими индексами.
 
Да понял то я правильно. Только то, что вы предлагаете крайне не удобно, и потом что будет делать разработчик если ему понадобится добавить в Partner ещё 5 индексов?
Все таки можно использовать Drdcreate(), что бы создать новый файл .cdx и потом использовать созданный индексный файл вместо штатного?
Проблема с пользовательскими индексами.
 
Нет эффект с печатными формами возник как побочный, я добавил пару индексов в bases_00, переиндексировал и тут выяснилось, что при печати объект TfrADSQuery ругается. На счет ожидания, я пишу отдельный модуль для учета транспортных расходов и при открытии готов подождать, раз не получается иначе.
Проблема с пользовательскими индексами.
 
перепутал типа ordcreate()
Проблема с пользовательскими индексами.
 
Да не посмотрел, тогда может временные индексы типа ordsetfocus только не знаю как там исключения сделать и как его включить вместо родного.
Проблема с пользовательскими индексами.
 
Не правильно написал, я прописал свои индексы на Partner.dbf в bases_00.dbf.
Может это какие-то ограничения fastreport или advantage?
В таблице Partner.dbf родных 46 индексов при чем последних 12 появились не так давно, то есть у разработчика осталось всего 4, и ещё имеются абсолютно одинаковые индексы с разными названиями "CODE" и "FullCode", "Name" и "FullName". А можно сделать временный индекс с исключениями типа !Empty(Dop1)?
Проблема с пользовательскими индексами.
 
Здравствуйте уважаемые коллеги.
Проявилась такая проблема, я добавил несколько пользовательских полей в Partner.dbf и сделал 6 индексов к ним прописав в Bases_03.dbf, так что общее число индексов стало 52. Мои модули при зтом работают исправно но вот при формировании накладной Торг12 fastreport выдает ошибку - Partner:Error 7200:.... Maximum tag expected ..... Я удалил 2 индекса и ошибка пропала, но они мне нужны, подскажите что нибудь.
Сортировка поумолчению в счетах-фактурах
 
да, в печатной форме. Чтобы не нажимать всякие клавиши типа F3.
Сортировка поумолчению в счетах-фактурах
 
Нет, почему-то в с-ф сортировка получается в порядке ввода.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 След.