View previous topic :: View next topic |
Author |
Message |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 03 Sep 2007 06:31 Post subject: Вопросы по MakeRefer |
|
|
Code: |
NETUSE("F_Partner",LOADPATH()+"partner.dbf")//
...
F_Partner->( MAKEREFER("M_Partner","Справочник партнеров", 3, {" Код", "Наименование", "ИНН/КПП"}, {3,5,16},;//5
"n/w,w+/n",{"Code", "ShortName"},{"aIn[6]", "aIn[7]"},,{{||FIELD->Code},{||FIELD->ShortName}, {||FIELD->Code_Pr}},;//10
aSortSeek,,,,,;//15
,,,,,;//20
,,,,,;//25
,'cFind$UPPER(ShortName+OrgName+Adress)'),,,,;//30
,,,,,;//35
,,,,,;//40
,,,,,;//45
,'ShortName',)//
|
1. Не работает быстрый поиск по первым буквам краткого названия. Если я правильно понимаю за это отвечает 47 парамет MAKEREFER. Что я не так написал?
2. При вводе из справочника (по F2) строки 6 и 7 заполняются. При вводе 6-й строки вручную, 7-е поле не заполняется. Как исправить ситуацию?
P.S. Где можно посмотреть параметры MAKEREFER начиная с 36-го? В документации есть параметры только по 35 (кажется по 35, они не пронумерованы в документации и поэтому легко сбить |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 03 Sep 2007 11:02 Post subject: |
|
|
1. В параметр надо ставить имя индекса а не имя поля
2.Попробуйте справочник сделать обязательным
3.
Code: | PROCEDURE MakeRefer(;
cRefer, cHead, nTypRefer, cKeyaHeads, aYXN,; // 5
cColor, aSource, aDest, cKeyVal, abFields,; // 10
aSortSeek, aInputHeads, aPict, aWhen, aValid,; // 15
bPost, bPreDisp, bPostDisp, bColor, cKeyValDisp,; // 20
aRef, cHelp0, bCoProc, nRowHelp, nColHelp,; // 25
aGetBlock, cFindMacro, nTag, bScrInit, bScrPost,; // 30
bDispSpr, bYesArray, nTagSeek, aHotKey, aOtherKey,; // 35
bPreGet, bPostGet, bPostRead, bYesReplArray, bYesNoRepl,; // 40
bSayPtica, cHeadPtica, bSayHead, bKeyHead, lEditRefer,; // 45
bYesValue, nOrdSeek, cLeftKey, nPosKey, lHFilter ;
) |
|
|
Back to top |
|
 |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 04 Sep 2007 05:31 Post subject: |
|
|
nordk wrote: | 1. В параметр надо ставить имя индекса а не имя поля |
Хорошо буду знать! Но это не помогло
Code: |
aSortSeek:={;
{"- по коду партнера ","- по коду партнера",'Code','UPPER(aIn[1])',,,,'Code'},;
{"- по наименованию","- по наименованию", 'ShortName','UPPER(aIn[1])',,,,'FullName'},;
{"- по коду ИНН","- по коду ИНН", 'Code_Pr','UPPER(aIn[1])',,,,'FulTag_INN'}}
F_Partner->( MAKEREFER("M_Partner","Справочник партнеров", 3, {" Код", "Наименование", "ИНН/КПП"}, {3,5,16},;//5
"n/w,w+/n",{"Code", "ShortName"},{"aIn[6]", "aIn[7]"},,{{||FIELD->Code},{||FIELD->ShortName}, {||FIELD->Code_Pr}},;//10
aSortSeek,,,,,;//15
,,,,,;//20
,,,,,;//25
,'cFind$UPPER(ShortName+OrgName+Adress)'),,,,;//30 cFind$ 27
,,,,,;//35
,,,,,;//40
,,,,,;//45
,'FullName')//47 MakeRefer
|
nordk wrote: | 2.Попробуйте справочник сделать обязательным |
Имеется ввиду параметр nTypRefer? Если nTypRefer отличен от 3, то обязательно открывается справочник и вручную без справочника значение ввести нельзя.
nordk wrote: |
3.
Code: | PROCEDURE MakeRefer(;
cRefer, cHead, nTypRefer, cKeyaHeads, aYXN,; // 5
cColor, aSource, aDest, cKeyVal, abFields,; // 10
aSortSeek, aInputHeads, aPict, aWhen, aValid,; // 15
bPost, bPreDisp, bPostDisp, bColor, cKeyValDisp,; // 20
aRef, cHelp0, bCoProc, nRowHelp, nColHelp,; // 25
aGetBlock, cFindMacro, nTag, bScrInit, bScrPost,; // 30
bDispSpr, bYesArray, nTagSeek, aHotKey, aOtherKey,; // 35
bPreGet, bPostGet, bPostRead, bYesReplArray, bYesNoRepl,; // 40
bSayPtica, cHeadPtica, bSayHead, bKeyHead, lEditRefer,; // 45
bYesValue, nOrdSeek, cLeftKey, nPosKey, lHFilter ;
) |
|
Здорово! А если было бы описания к параметрам начиная с 36-го, то было бы еще лучше  |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 04 Sep 2007 15:27 Post subject: |
|
|
1.
Скажите а где Вы нашли индекс FullName
2.
Справочник не будет открываться при 1 если значение
введенное или имеющееся будет определяться поиском
то справочник не откроется
3.
Было выложено описание всей функции - можете по исходному тексту сами посмотреть или спрашивайте если какая конкретно интересует |
|
Back to top |
|
 |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 04 Sep 2007 16:54 Post subject: |
|
|
nordk wrote: | 1.
Скажите а где Вы нашли индекс FullName
|
Такой индекс есть. В моем примере по F3 сортировка по этому индексу проходит. Кстати, если зайти стандартный справочник партнеров и отсортировать "- по наименованию", то будет использоваться как раз FullName. Замена FullName на Name результата не дает.
nordk wrote: |
2. Справочник не будет открываться при 1 если значение
введенное или имеющееся будет определяться поиском
то справочник не откроется
|
Как задать этот поиск? Какой параметр за это отвечает? |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 04 Sep 2007 19:13 Post subject: |
|
|
Да, извините пожалуйста действительно есть.
У Вас точки вверху справочника появляются ? (где вводимое значение должно появляться ?)
По второму вопросу - заполните 9 параметр, он отвечает за поиск в справочнике, сейчас он у Вас пустой.
Туда надо занести значения для поиска соответствующее действующему индексу при открытии справочник |
|
Back to top |
|
 |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 05 Sep 2007 07:38 Post subject: |
|
|
nordk wrote: |
У Вас точки вверху справочника появляются ? (где вводимое значение должно появляться ?)
|
Нет. Точек нет.
nordk wrote: |
По второму вопросу - заполните 9 параметр, он отвечает за поиск в справочнике, сейчас он у Вас пустой.
Туда надо занести значения для поиска соответствующее действующему индексу при открытии справочника |
Спасибо! Получилось  |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 05 Sep 2007 12:28 Post subject: |
|
|
Скопировал Ваш текст - он у меня тоже не заработал.
Взял свою рабочую версию, чуть чуть адаптировал -
у меня работает. С ходу разницу найти не смог (причину).
Вот Вам мой рабочий вариант
Чуть подправьте.
Найдете причину - буду рад за информацию
Code: | f_partner->(MAKEREFER("sanalit","Справочник контрагентов ",1,;
{"Код "," Наименование"},;
{3,5,16},"n/w,w+/n",{"code","ShortName"},{"aIn[1]","cAname"},"UPPER(cSch+aIn[1])",;
{{||FIELD->Code},{||FIELD->ShortName}},,,,,,,;
,,,,,,,,,,'cFind$UPPER(ShortName)',,,,,,,,,,,,,,,,,,,,;
'FullNAME') ) |
|
|
Back to top |
|
 |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 07 Sep 2007 09:07 Post subject: |
|
|
Спасибо! Заработало! А причина была в скобке
Еще вопросы:
1. Как сделать наименования столбцов (параметр cKeyaHeads) в две строчки?
2. Как увеличить строку в поиске? К примеру, когда нажимает F7, то я хочу видеть "- по подразделению и таб/номеру", а вместо этого вижу - "по подразделению и т" (обрезано) |
|
Back to top |
|
 |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 07 Sep 2007 09:14 Post subject: |
|
|
И еще просьба: Можно выложить исходный код MAKEREFER справочника партнеров который вызывается из п/п (или из другого места, но не менее навороченный)?
1. Это хороший учебный пример с кучей наворотов (2InitList-а, ввод по F4 с предварительным вопросом (юр. или физ.), редактирование по Ctrl-Enter и т.д. (возможно, что всего списка и не знаю))
2. Хочется иметь стандартный (т.е. справочник, к которому привыкли пользователи с полным набором функций) справочник партнеров в своих плагинах, а не изобретать велосипе |
|
Back to top |
|
 |
itman

Joined: 05 Apr 2002 Posts: 1247 Location: Ильин Е.Ю. Occupation: Cio Interests: Кинель
|
Posted: 07 Sep 2007 11:53 Post subject: |
|
|
В инструментарии есть справочник, код в spr_part.prg. |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 07 Sep 2007 12:41 Post subject: |
|
|
Дениска wrote: | Спасибо! Заработало! А причина была в скобке
Еще вопросы:
1. Как сделать наименования столбцов (параметр cKeyaHeads) в две строчки | ?
Массив пробовали применять ?
Quote: |
2. Как увеличить строку в поиске? К примеру, когда нажимает F7, то я хочу видеть "- по подразделению и таб/номеру", а вместо этого вижу - "по подразделению и т" (обрезано) |
Думаю это не увеличи |
|
Back to top |
|
 |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 07 Sep 2007 13:38 Post subject: |
|
|
nordk wrote: |
Дениска wrote: |
1. Как сделать наименования столбцов (параметр cKeyaHeads) в две строчки? |
Массив пробовали применять ?
|
Там же изначально массив. К примеру: {"Табел.","Фамилия", "Имя", "Отчество", "Подраз."}. А когда пробуешь сделать двухмерный массив:{{"Табел.","Фамилия", "Имя", "Отчество", "Подраз-."},{"номер","", "", "", "деление"}}, то выдает ошибку
nordk wrote: |
Дениска wrote: |
2. Как увеличить строку в поиске? К примеру, когда нажимает F7, то я хочу видеть "- по подразделению и таб/номеру", а вместо этого вижу - "по подразделению и т" (обрезано) |
Думаю это не увеличить |
В ЗП в реестре лицевых счетов и не только там такие выражения нормально выводятся. Только там видимо InitList ... А вот чтобы такое нормально выводилось после F2 (т.е. видимо, где используется MAKEREFER) я нигде в БЭСТ-е шире поиска по F7 не нашел Видимо и правда нельзя увеличить ... |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 07 Sep 2007 14:41 Post subject: |
|
|
Надо исх смотреть...
Попробуйте
{{табел,номер},{},{}}
Если не поможет то надо смотреть можно ли самому экран прорисовывать.... |
|
Back to top |
|
 |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 07 Sep 2007 16:23 Post subject: |
|
|
nordk wrote: | Надо исх смотреть...
Попробуйте
{{табел,номер},{},{}}
Если не поможет то надо смотреть можно ли самому экран прорисовывать.... |
Не работает. Жаль, но этот вопрос не настолько важен, чтобы на нем зацикливаться. Если стандартными средствами он не решается, то этот вопрос для меня закрыт.
Пойду лучше, по совету itman-а, spr_part.prg посмотрю  |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © phpBB Group
|