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

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

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


Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: Пред. 1 2 3 4 След.
RSS
Из забытого прошлого
 
"NAME" тоже не помогло.

Дело в том на справочнике водителей у меня стоит 'NAME' и все ок.
Правда, сразу тоже такую ошибку выдавало, но затем как - то прошла
 
а имя тега все-таки какое ?
 
_Voditel->( MAKEREFER("VODITEL","Справочник водителей",2, {" Код ","Наименование партнера"," Водитель"},{3,5,16},;
"n/w,w+/n",{"voditel"},{"aIn[5]"},"UPPER(aIn[1])",{{||FIELD->CODE},{||FIELD->NAME},{||FIELD->Voditel}},;
,,,,, ;
,,,,, ;
,,,,, ;
,'cFind$UPPER(Name)',,,, ;
,,,,, ;
,,,,, ;
,,,,, ;
,'NAME',) )


47, nOrdSeek
 
Если он такой как Вы написали (я спрашивал про имя тега в самом voditel.cdx)
то он звучит
UPPER(code+name+Voditel)
и поиск по первым буквам в такой последовательности и надо начинать - с кода партнера, потом его наименование а уж потом водитель.
Для того чтобы начинать сразу с водителя, то следует определить начальную часть, как набранную, для этого и служит переменная cLeftKey
В ней Вы можете определить заранее код и наименование партнера и тогда поиск можно начинать сразу с водителя.
ЧТобы разобраться с тем как она работает, поробуйте сначала задать ее явно, типа
Код
UPPER("000001Рога и копыта")
- ну или как там у вас. Когда получится, переходите к переменным.
 
Попробовал сразу с кода - тоже самое.

Ну да ладно. Подумал, зачем мне поиск по организации, самое главное, чтобы водителей оставляла в списке только нужной организации.
 
а можно пример параметра nTag для меня. :help:
 
Вот полноценный рабочий пример из моего плагина к БЭСТ-4
Создает справочник аналитических счетов по конкретному синтетическому счету
Делает в справочнике поиск по первым буквам в названии аналитического счета

сSch - синтетический счет из плана счетов
сAname - переменная в которую справочник возвращает наименование аналитики

Цитата
ANALIT->(MAKEREFER("sanalit","Справочник контрагентов ",1,;
{"Код "," Наименование"},;
{3,5,16},"n/w,w+/n",{"code","Name"},{"aIn[1]","cAname"},"UPPER(cSch+aIn[1])",;
{{||FIELD->Code},{||FIELD->Name}},,,,,,,;
{||ANALIT->(SETSCOPE("UPPER(SCHET)",UPPER(cSch)))},;
{||ANALIT->( SETSCOPE() )},,,,,,,,,'cFind$UPPER(Name)',,,;
,,,,,,,,,,,,,,,,,;
'NAME',UPPER(cSch)) )
 
Нужно сначала проанализировать ваш справочник.

Получается в справочнике вам дает, только код и имя того контрагента, которые являются аналитекой по счету cSch.

А где он вводится, откуда он берется и как справочник определяет, что cSch именно счет.
Изменено: Дмитрий Хващевский - 27.05.2010 13:35:38
 
Дмитрий я Вам дал пример, который работает.
С его помощью можно разобраться.
Если хотите им воспользоваться можете написать свой небольшой прг и в нем применить данный справочник.
Дальше уже Вопрос Вашего самостоятельного освоения матриала.
Что касается сSch, то его можно задать вот так, например:

Код
Private сSch:="60        "

Только количество пробелов проверьте - не уверен что я точно отразил длину поля.
 
А вы можете сбросить данный прг, полностью на емейл
 
У меня нет отдельно работающих prg. Это из библиотеки.
Мне для этого надо садиться и писать этот пример специально для Вас.
Пусть это все-таки станет Вашим доманим заданием к теме уроков, как закрепляющий материал по освоению данного Вопроса
 
:lol: Боюсь не выполнить, а нужно.

А можно еще вопросик

{||_Voditel->(SETSCOPE("UPPER(aIn[1])"))} - это 17 параметр
{||_Voditel->(SETSCOPE("UPPER()"))} - это 18 параметр
Изменено: Дмитрий Хващевский - 27.05.2010 14:10:33
 
Цитата
Дмитрий Хващевский пишет:
{||_Voditel->(SETSCOPE("UPPER(aIn[1])"))} - это 17 параметр
{||_Voditel->(SETSCOPE("UPPER()"))} - это 18 параметр


Дмитрий напишите сюда пожалуйста еще раз строго по пунктам:
1.Индексный ключ
2.Старшая часть ключа на которую планируем организовать фильтр по индексному ключу

18 параметр это мы снимаем скоп с индексного ключа, поэтому просто пишем SETSCOPE()
 
Индекс справочника автомобилей UPPER(code+name+MARKA)
Индекс справочника водителей UPPER(code+name+Voditel)

То есть Ф4, выбираем организацию (ее код и наименование), вводим марку авто, и должны закрепить за этой машиной основного водителя (нажимаем Ф2 и должен появиться список водителей закрепленных за этой организацией) Этих водителей мы заранее внесли в справочнике водителей.

Проверку делаем по коду (code), то есть у водителей которые должны выпадать в списке код должен совпадать с кодом организации при вводе марки авто.
 
Цитата
nordk пишет:
2.Старшая часть ключа на которую планируем организовать фильтр по индексному ключу

Вот на этот Вопрос не ответили.
 
Я не понимаю про старшую часть. :nowords:
Это как то связано с идентификаторами.
То у меня их нет. :sad:
 
Мы переходим к ликбезу.
У меня сейчас на это не так много времени.
Давайте так я попозже напишу, а вы тем временем откроете хелп к БЭСТу и прочитаете про
SETSCOPE()
Иначе мне Вас не научить.
Методом тыка или с наскока к правилам работы с индексными ключами подходить не правильно.
Моя задача не Вашу сиюминутную задачку помочь написать, а научить в принципе и увидеть Ваше понимание. (иначе Вы так и будете задавать Вопросы, которые необходимо решать самостоятельно на месте)
С Вашей стороны требуется чтение документации по функциям разработчика и в первую очередь хелпа.
 
Получается, что старшая часть ключа это UPPER(code+name+Voditel)?
 
Ура Ура Ура получилось

{||_Voditel->(SETSCOPE("UPPER(code)",(UPPER(aIn[1]))))}

Остался один маленький вопросик.
По поводу корректировки. Например если я хочу изменить марку авто,
то если я захожу, нажатием ENTER, мне нужно снова вводить партнера, через справочник. Возможно с этим как нибудь побороться???
Изменено: Дмитрий Хващевский - 27.05.2010 18:37:21
 
Цитата
Дмитрий Хващевский пишет:
Получается, что старшая часть ключа это UPPER(code+name+Voditel)?

Это весь ключ.
Старшей частью ключа может быть либо UPPER(code)
Либо UPPER(code+name)

Поскольку Вам нужен водитель - значит ищем что у нас является старшей частью до водителя, а это
UPPER(code+name)
Вот таким образом мы и понимаем нужное нам значение скопа и старшую часть ключа.
 
Цитата
Дмитрий Хващевский пишет:
По поводу корректировки.

Корректировка справочника ?
 
Корректировка позиций справочника.

Например, ввел нового водителя. И не правильно ввел отчество. Если не выходя из справочника, снова заходишь в позицию, код и наименование партнера не сбивается.
А если спустя не которое время, заходишь в справочник, выбираешь нужную строку, заходишь в нее, чтобы подкорректировать, то нужно заново производить поиск партнера. Неудобно

А еще, например, если знаю код партнера, набираю вручную не заходя по Ф2, хочу чтобы определила партнера,а он все равно заходит в справочник и стоит на позиции 000001.
Изменено: Дмитрий Хващевский - 28.05.2010 13:59:30
 
Цитата
Дмитрий Хващевский пишет:
Корректировка позиций справочника.

все параметры аналогичные Инитлист.
Посмотрите плз выше в список параметров, они легко бросаются в глаза.

Цитата
Дмитрий Хващевский пишет:
А еще, например, если знаю код партнера, набираю вручную не заходя по Ф2, хочу чтобы определила партнера,а он все равно заходит в справочник и стоит на позиции 000001.

параметр поиска в своих справочниках Вы игнорируете.
В моем примере выше он
"UPPER(cSch+aIn[1])"
Т.е. строка в справочнике будет искаться по номеру синт.счета (cSch) плюс введенного значение аналитики (aIn[1])
 
Совсем уже голова кругом, все что писал выше связано с выбором партнера, тоесть справочника
_PARTNER->( MAKEREFER("PARTNERS","Справочник партнеров",2 ;
,{" Код ","Наименование партнера"," УНП"},;
{3,5,16}, "n/w,w+/n",{"code","SHORTNAME"},{"aIn[1]","aIn[2]"},,;
{{||FIELD->CODE},{||FIELD->SHORTNAME},;
{||FIELD->CODE_PR}},,,,,,,,,,,,,,,,,'cFind$UPPER(ShortName)';
,,,,,,,,,,,,,,,,,,,,"NAME") )
Изменено: Дмитрий Хващевский - 28.05.2010 14:49:20
 
Цитата
Дмитрий Хващевский пишет:
{3,5,16}, "n/w,w+/n",{"code","SHORTNAME"},{"aIn[1]","aIn[2]"},,;

Вот и я про тоже - что у Вас там за 2 запятые на конце ?
Это и есть игнор параметра, от которого зависит выход курсора на нужную строку

Суть параметра я написал Выше применительно к моему примеру.
Теперь Ваша очередь сделать тоже самое в Вашем тексте :)
Страницы: Пред. 1 2 3 4 След.
Читают тему (гостей: 1)