Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Помогите с Makerefer

 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
Виктория-Юг



Joined: 26 Oct 2005
Posts: 14
Location: Александр
Occupation: программист
Interests: Краснодар

PostPosted: 03 Nov 2005 18:01    Post subject: Помогите с Makerefer Reply with quote

Естьследующий код, который выбирает все значения из
справочника дополнений и записывает выбранное в примечания накладной:

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
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 03 Nov 2005 18:41    Post subject: Re: Помогите с Makerefer Reply with quote

Виктория-Юг 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
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 03 Nov 2005 19:17    Post subject: Reply with quote

Во вторых забудьте Вы про этот DOREFER()
(скажите честно кто Вам посоветовал ?)
MDOC->( QINPUT() )
а вот уже внутри QINPUT подставляется имя справочника
В DOREFER() первым параметром нужно положить get-объект.
Вы его нигде не создаете - просто в дебри влезаете.
Он просто Вам список выводит по принципу экрана справочника,
а Вы думаете что у Вас справочник работает.
С таким же успехом Вы могли просто без всяких справочников
открыть QBROWSE()....................и дальше нажатие кнопок
анализировать.
Не спорю есть любители на маленькой яхте через океан
Можно любое сложное разложить на маленькие составляющие,
можно вообще все самому написать
Ничего невозможного нет - просто давайте учиться правильно.
Я за то чтобы Вам помочь, но хочется не просто за Вас что-то
написать, хочется научить оптимально пользоваться.
Начните с более простого.
По Qinput() на Вашем примере в понедельник начнем урок
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 03 Nov 2005 19:22    Post subject: Reply with quote

Для фильтрации
надо использовать блоки кода
bPredisp - в котором вы собственно устанавливаете фильтр по Вашим правилам, а в bPostDisp его нужно снять соответственно
Для конкретики на примере давайте определим как мы будем фильтр ставить - откдуа собственно брать этот "заданный код" и где он будет задан - опять QINPUT ?
Если да - так может все в одну строчку напишем вместо такой программы ?
Back to top
View user's profile Send private message Send e-mail
Виктория-Юг



Joined: 26 Oct 2005
Posts: 14
Location: Александр
Occupation: программист
Interests: Краснодар

PostPosted: 07 Nov 2005 16:49    Post subject: Уточняю Reply with quote

данная функция вызывается при сохранении расходного документа.
По коду операции определяется, какой параметр(код) указывать в фильтре.

Пример. документ создан по тип.операции 0001. для нее в справ. дополнений забиты записи с кодом "5".
документ создан по тип.операции 0002. для нее в справ. дополнений забиты записи с кодом "6".
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 07 Nov 2005 17:00    Post subject: Reply with quote

Блоки кода вечером распишу но вообще мне кажется через QINPUT() гораздо удобнее, но и Ваш метод работать будет в таком виде конечн
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
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

Rambler
Rambler's Top100 Рейтинг@Mail.ru