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

Обсуждение написание модуля на харборе УРОК2
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
shura_k



Joined: 10 Oct 2003
Posts: 342
Location: Александр
Occupation: Специалист
Interests: Калининград

PostPosted: 25 Sep 2005 13:30    Post subject: Reply with quote

Как сделать нумерация строчек(записей)? Если не брать в рассчёт RECNO.
Back to top
View user's profile Send private message
Марина



Joined: 27 Aug 2002
Posts: 501
Location: Кондрина Марина Александровна
Occupation: ОАО БКО программист
Interests: Боровичи Новгородской обл

PostPosted: 26 Sep 2005 10:01    Post subject: Reply with quote

Через InitList можно сделать, чтобы исправить запись (Enter) можно было бы, а ввести новую (F4) было бы нельзя?
Back to top
View user's profile Send private message
nordk



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

PostPosted: 26 Sep 2005 10:14    Post subject: Re: Добавляем или правим? Reply with quote

GVA wrote:
Как узнать в каком режиме -Добавление или Правка мы находимся?
И по Enter и по F4 форма ввода одинаковая и заполняется данными из текущей записи.
Но при добавлении записи хочется к примеру обнулить все поля, а ключевое сформировать, например, как очередное.


Есть такая переменная nApp - ее описание Вы сможете посмотреть в Help
В завимости от того в каком режиме Вы находитесь ввод/корректировка/фильтр - она принимает соответствующие значения
Back to top
View user's profile Send private message Send e-mail
nordk



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

PostPosted: 26 Sep 2005 10:16    Post subject: Reply with quote

Марина wrote:
Через InitList можно сделать, чтобы исправить запись (Enter) можно было бы, а ввести новую (F4) было бы нельзя?


Ну разумеется - в массим аWhen пишете например {||nApp=2} - елси будет ввод то значит в поле можно попасть, а если корректировка или фильтр - нет и т.д. и т.
Back to top
View user's profile Send private message Send e-mail
nordk



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

PostPosted: 26 Sep 2005 10:21    Post subject: Reply with quote

shura_k wrote:
Как сделать нумерация строчек(записей)? Если не брать в рассчёт RECNO.


Думаю что нужно создать массив типа {Recno(),nRec} - пронумеровать все записи перед использованием InitList и дальше перед применением фильтра или изменением сортировки соответственно менять значения массива
Можно попробовать конечно еще поиграть с обновлением экрана загнав туда переменную с номером строки - я не пробовал, получится или нет - надо пробовать
Back to top
View user's profile Send private message Send e-mail
nordk



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

PostPosted: 26 Sep 2005 10:25    Post subject: Re: Форма по F6 Reply with quote

GVA wrote:
При задании фильтра по F6 открывается форма подобная входной, но у меня не очень красиво - первая колонка с псевдографикой "наползает" но основную рамку и левый край рамки не прорисовывается.


Попробуйте увеличить значение комментария верхней строки.
Вообще стандартная прорисовка имеет такие недостатки.
Вы можете самостоятельно прорисовывать через _bScrInit
Back to top
View user's profile Send private message Send e-mail
nordk



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

PostPosted: 26 Sep 2005 10:34    Post subject: Re: К вопросу о регламенте!.. Reply with quote

Олег Смирнов wrote:
Уважаемые граждАне!..
Не_будет_ли_с_моей_стороны_слишком_большой_наглостью_попросить_всех_участников_не_писать_в_этой_ветке_сильно_ужасно_очень_длинные_строки_ну_абсолютно_без_всяких_пробелов?
Я уж не знаю, как это безобразие обрабатывает IE, но забодался уже в Mozill-е использовать горизонтальный скролинг... То-есть, натурально, я вполне понимаю, что кому-то из программистов эти длинные строки - бальзам на душу, но ведь компилятор-то понимает длинные команды, размазанные по нескольким строчкам. А человеку всяко читать удобнее строки ограниченной длины...
Please!

Замечание хорошее - тока дело не в пробелах....
Нужно ентер чаще жать - у меня тоже не всегда получае
Back to top
View user's profile Send private message Send e-mail
nordk



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

PostPosted: 26 Sep 2005 10:36    Post subject: Re: Используем F2? Reply with quote

GVA wrote:
Заполняем поле из подчиненного справочника по F2. Как реализовать? Или это уже тема четвертого урока?


Вы поймите меня правильно пожалуйста.
Обучая Вас на этом форуме внутренним функциям БЭСТа из этих материалов я создаю уроки для HELP в стандартной поставке к
БЭСТ, поэтому растягиваю обсуждение - не спешу идти по вершкам
и оцениваю заинтересованность к той или инной возможности.
В принципе по режиму ввода и корректировки пока достаточно.
Хотя я боялся, честно скажу некоторых вопросов, но их к счастью
никто не озвучил - осмысление этих возможностей отложим на потом, иначе в этом УРОКе мы надолго застрянем

Завтра утром ответив на последние вопросы здесь начнем Урок 3
И да простит меня Марина - мы рассмотрим подключение справочников - мне кажется это более логичным.
Создадим простенький справочник и подключим его к режимам ввода/корректировки/филь
Back to top
View user's profile Send private message Send e-mail
Сергей В. Чурбанов



Joined: 27 Jun 2003
Posts: 35
Location: Чурбанов Сергей Вячеславович
Occupation: ООО "Интеллект-сервис-НСК"
Interests: Новосибирск

PostPosted: 26 Sep 2005 14:23    Post subject: Reply with quote

Добрый день!
Создал индексы для файла work.dbf а клавиши f4, и enter не работают. Программа такая как писал shura_k. Работает только клавиша f8
Что у меня не так ?
p.s. Очень хочется разобраться с возможностьями а не получает
Back to top
View user's profile Send private message
nordk



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

PostPosted: 26 Sep 2005 14:42    Post subject: Reply with quote

Сергей В. Чурбанов wrote:
Добрый день!
Создал индексы для файла work.dbf а клавиши f4, и enter не работают. Программа такая как писал shura_k. Работает только клавиша f8
Что у меня не так ?
p.s. Очень хочется разобраться с возможностьями а не получается.


С таким вопросом следует писать текст программы - иначе трудно угадать Вашу ошибку.
Еще могу порекомендовать внимательно перечитать все пункты данной темы, повторить рекомендации и должно получит
Back to top
View user's profile Send private message Send e-mail
Сергей В. Чурбанов



Joined: 27 Jun 2003
Posts: 35
Location: Чурбанов Сергей Вячеславович
Occupation: ООО "Интеллект-сервис-НСК"
Interests: Новосибирск

PostPosted: 26 Sep 2005 15:53    Post subject: Reply with quote

Добрый день. Константин!
программа имеет следующий вид:
Function Main()
Local aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc,bDel,_aHeads,aWhen,aPic, nUniMode, aIn[50]
aSet:=SaveSet()
aSetKey:=SaveSetKey()
bDel:={||.F.}

NETUSE("WORK",LoadPath()+"real\work.dbf",,.F.)

DISPBOX(2,0,23,79,( Chr( 201 ) + Chr( 205 ) + Chr( 187 ) + Chr( 186 ) + Chr( 188 ) + Chr( 205 ) + Chr( 200 ) + Chr( 186 )+' ' ),"W+/B")
nTop:=3
nBot:=22
cColHead:={" Дата Номер Наименование Кол-во Цена Стоимость "}
cCurProc:={||"2"}
aBlockCols:={{{||field->tek_data},0},{{||field->tek_nomer},9},{{||LEFT(field->name,20)},16},{{||STR(field->kol,5)},37},{{||STR(field->cena,12,2)},43},{{||STR(field->summa,12,2)},56}}
work->(initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
,,,,,;
,,,,,) )

_aHeads:={;
{"Введите дату.................:","TEK_DATA"}, ;
{"введите номер............:","TEK_NOMER"}, ;
{"Введите наименование.........:","NAME"}, ;
{"Количество.........................:","KOL","1","1","0"}, ;
{"Цена...............................:","æENA","1","1","0"}, ;
{"Сумма (руб.).......................:","SUMMA"};
}
aWhen:={,,,,,;
{||aIn[6]:=aIn[4]*aIn[5]}}

aPic:={;
,,,,,"999999999.99";
}
nUniMode:=2

WORK->( INITLIST(nTop,nBot,cColHead,aBlockCols,cCurProc,;
_aHeads,,aPic,aWhen,,;
nUniMode,bDel,,,,))

WORK->( DBCLOSEAREA() )
RestSetKey(aSetKey)
RestSet(aSet)

RETURN NIL
При входе в пункт меню записи отображаются,
при нажатии enter два раза выдается сообщение:
ошибка выполнения work.hrb, Class NIL has not exported metod.
Все вылетает.
Back to top
View user's profile Send private message
Марина



Joined: 27 Aug 2002
Posts: 501
Location: Кондрина Марина Александровна
Occupation: ОАО БКО программист
Interests: Боровичи Новгородской обл

PostPosted: 26 Sep 2005 15:59    Post subject: Reply with quote

Для HELPа следует дополнить получающуюся таблицу еще заголовко
Back to top
View user's profile Send private message
shura_k



Joined: 10 Oct 2003
Posts: 342
Location: Александр
Occupation: Специалист
Interests: Калининград

PostPosted: 26 Sep 2005 16:03    Post subject: Reply with quote

Похоже в поле Cena первый символ русский. Вы просто скопировали - ошибка говорит что переменную не опознала, нет мол тако
Back to top
View user's profile Send private message
nordk



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

PostPosted: 26 Sep 2005 17:01    Post subject: Reply with quote

Сергей В. Чурбанов wrote:
Добрый день. Константин!
программа имеет следующий вид:
work->(initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
,,,,,;
,,,,,) )

_aHeads:={;
{"Введите дату.................:","TEK_DATA"}, ;
{"введите номер............:","TEK_NOMER"}, ;
{"Введите наименование.........:","NAME"}, ;
{"Количество.........................:","KOL","1","1","0"}, ;
{"Цена...............................:","æENA","1","1","0"}, ;
{"Сумма (руб.).......................:","SUMMA"};
}
aWhen:={,,,,,;
{||aIn[6]:=aIn[4]*aIn[5]}}

aPic:={;
,,,,,"999999999.99";
}
nUniMode:=2

WORK->( INITLIST(nTop,nBot,cColHead,aBlockCols,cCurProc,;
_aHeads,,aPic,aWhen,,;
nUniMode,bDel,,,,))


RETURN NIL



Во-первых InitList должен быть один - мы все время один и тот же переписываем и пополняем - а Вы написали его дважды.
Это 2 урока а строка должна быть одна
И второе насчет поле Cena - Вы его скопировали просто, перепишите его латинским шрифтом руками и все заработает
Back to top
View user's profile Send private message Send e-mail
mrs_2005



Joined: 22 Jun 2005
Posts: 105
Location: Михайлов Р.С.
Occupation: ООО "Предприятие "Виктория-Юг"
Interests: г. Краснодар

PostPosted: 26 Sep 2005 17:27    Post subject: Reply with quote

nordk wrote:
Марина wrote:
Через InitList можно сделать, чтобы исправить запись (Enter) можно было бы, а ввести новую (F4) было бы нельзя?


Ну разумеется - в массим аWhen пишете например {||nApp=2} - елси будет ввод то значит в поле можно попасть, а если корректировка или фильтр - нет и т.д. и т.п.


А как одновременно скрестить aWhen:={,,,,,{||aIn[6]:=aIn[4]*aIn[5],.T.}} и {||nApp=2}?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 3 of 4

 
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