View previous topic :: View next topic |
Author |
Message |
Виктория-Юг
Joined: 26 Oct 2005 Posts: 14 Location: Александр Occupation: программист Interests: Краснодар
|
Posted: 03 Nov 2005 18:01 Post subject: Помогите с Makerefer |
|
|
Естьследующий код, который выбирает все значения из
справочника дополнений и записывает выбранное в примечания накладной:
private DokName,aKeyDB,aK
aKeyDB := SaveSetKey()
SPR_DOP->(MakeRefer("S_V","Справочник врачей",1,{"Фамилия Имя Отчество"},{3,15,7},'n/w,w+/n',,,,;
{FieldBlock("Name")},,,,,,,,,,,,,,,,,'cFind$UPPER(Name)',,,,,,,,,,'',,,,,,,,,,1))
DoRefer(,"S_V",.T.,.T.,.T.)
aK:=LastKey()
IF (aK==13)
DokName:=SPR_DOP->NAME
MDOC->(Reclock())
MDOC->SCLADS:=DokName
MDOC->(F_DBUNLOCK())
ELSE
keyb(-10)
ENDIF
RestSetKey(aKeyDB)
ClearRefer()
Как в нем поставить фильтр для того, что бы из справочника дополнений
выбирались не все значения, а только по заданному коду и
корректно записывалось выбранное значение.
Александ |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 03 Nov 2005 18:41 Post subject: Re: Помогите с Makerefer |
|
|
Виктория-Юг wrote: | Естьследующий код, который выбирает все значения из
SPR_DOP->(MakeRefer("S_V","Справочник врачей",1,{"Фамилия Имя Отчество"},{3,15,7},'n/w,w+/n',,,,;
{FieldBlock("Name")},,,,,,,,,,,,,,,,,'cFind$UPPER(Name)',,,,,,,,,,'',,,,,,,,,,1))
DoRefer(,"S_V",.T.,.T.,.T.)
|
Я ведь уже писал Вам !!!!!
Для того чтобы справочник запустить надо как минимум
а) что положить
б) куда положить
У Вас эти переменные в MakeRefer пропущены в принципе
Мне не трудно написать за Вас.
Давайте так - если совсем плохо - то я напишу, если же научиться хотите, посмотрите
http://www.bestnet.ru/club/phpBB/viewtopic.php?t=7377 |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 03 Nov 2005 19:17 Post subject: |
|
|
Во вторых забудьте Вы про этот DOREFER()
(скажите честно кто Вам посоветовал ?)
MDOC->( QINPUT() )
а вот уже внутри QINPUT подставляется имя справочника
В DOREFER() первым параметром нужно положить get-объект.
Вы его нигде не создаете - просто в дебри влезаете.
Он просто Вам список выводит по принципу экрана справочника,
а Вы думаете что у Вас справочник работает.
С таким же успехом Вы могли просто без всяких справочников
открыть QBROWSE()....................и дальше нажатие кнопок
анализировать.
Не спорю есть любители на маленькой яхте через океан
Можно любое сложное разложить на маленькие составляющие,
можно вообще все самому написать
Ничего невозможного нет - просто давайте учиться правильно.
Я за то чтобы Вам помочь, но хочется не просто за Вас что-то
написать, хочется научить оптимально пользоваться.
Начните с более простого.
По Qinput() на Вашем примере в понедельник начнем урок |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 03 Nov 2005 19:22 Post subject: |
|
|
Для фильтрации
надо использовать блоки кода
bPredisp - в котором вы собственно устанавливаете фильтр по Вашим правилам, а в bPostDisp его нужно снять соответственно
Для конкретики на примере давайте определим как мы будем фильтр ставить - откдуа собственно брать этот "заданный код" и где он будет задан - опять QINPUT ?
Если да - так может все в одну строчку напишем вместо такой программы ? |
|
Back to top |
|
 |
Виктория-Юг
Joined: 26 Oct 2005 Posts: 14 Location: Александр Occupation: программист Interests: Краснодар
|
Posted: 07 Nov 2005 16:49 Post subject: Уточняю |
|
|
данная функция вызывается при сохранении расходного документа.
По коду операции определяется, какой параметр(код) указывать в фильтре.
Пример. документ создан по тип.операции 0001. для нее в справ. дополнений забиты записи с кодом "5".
документ создан по тип.операции 0002. для нее в справ. дополнений забиты записи с кодом "6". |
|
Back to top |
|
 |
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 07 Nov 2005 17:00 Post subject: |
|
|
Блоки кода вечером распишу но вообще мне кажется через QINPUT() гораздо удобнее, но и Ваш метод работать будет в таком виде конечн |
|
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
|