View previous topic :: View next topic |
Author |
Message |
GVA
Joined: 16 Oct 2003 Posts: 99 Location: Gaponenko Occupation: HDM Interests: Москва
|
Posted: 23 Sep 2005 01:10 Post subject: Проверки при записи |
|
|
Проиндексировал по номеру документа. Как проверить при формировании новой записи на уникальность по этому ключу?
Как вообще контролировать (задавать значения) поля ввода соответственно при инициализации формы и перед записью? |
|
Back to top |
|
|
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 23 Sep 2005 08:32 Post subject: |
|
|
А если я хочу не просто вводить новую строчку, а прицепить по Ctrl+F7 какую-то свою оригинальную функцию, это можно сделать? И как сделать подсказку для пользователя, загорающуюся при нажатии Ctrl? |
|
Back to top |
|
|
Лариса Т.
Joined: 05 Jul 2004 Posts: 247 Location: Тюрикова Л.А. Occupation: программист Interests: Ижевск
|
Posted: 23 Sep 2005 09:34 Post subject: |
|
|
А вот теперь не работает.
При вводе/корректировке цена и количество вводятся, а на сумму - красное окошко "Ошибка выполнения work.hrb Неверный аргумен |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 23 Sep 2005 09:43 Post subject: |
|
|
shura_k wrote: | А как задать формат для Summa, а то после перемножения, очень много 0 вылазит? |
Добавим aPic:={,,,,,"999999999.99"}
И добавляем
initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
_aHeads,,aPic,aWhen,,;
,bDel,,,,) |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 23 Sep 2005 09:47 Post subject: Re: Проверки при записи |
|
|
GVA wrote: | Проиндексировал по номеру документа. Как проверить при формировании новой записи на уникальность по этому ключу?
Как вообще контролировать (задавать значения) поля ввода соответственно при инициализации формы и перед записью? |
Для решения вопроса уникальности по индексу служит переменная
nUniMode
Добавляем
nUniMode=2 и теперь пишем
initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
_aHeads,,aPic,aWhen,,;
nUniMode,bDel,,,,)
Насчет контроля тут много всяких решений - буду благодарен если Вы еще раз вернете к этому вопросу а на сейчас скажу так
Перед инициализацией конкретного поля проверка на разрешение ввода в него и инициализация через массив aWhen на выход из поля с сохранением введенного значения в переменной памяти aValid |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 23 Sep 2005 09:53 Post subject: |
|
|
Марина wrote: | А если я хочу не просто вводить новую строчку, а прицепить по Ctrl+F7 какую-то свою оригинальную функцию, это можно сделать? И как сделать подсказку для пользователя, загорающуюся при нажатии Ctrl? |
Для этого есть переменная отвечающая за привязывание горячих клавиш, а также перед вызовом Инитлиста Вы можете объявить горячие клавиши простым SETKEY()
Я не хочу нарушать последовательность обучения InitList поэтому сейчас подробно на этом не останавливаюсь в данный момент. Если других предложений не будет рассмотрим подробно в УРОКЕ 3 иначе чуть позже но обязательно.
Сейчас хотелось бы подробно рассмотреть все нюансы ввода-корректировки |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 23 Sep 2005 09:57 Post subject: |
|
|
Лариса Т. wrote: | А вот теперь не работает.
При вводе/корректировке цена и количество вводятся, а на сумму - красное окошко "Ошибка выполнения work.hrb Неверный аргумент." |
Аааааа, Семен Семеныч !!!!!
Поправьте пожалуйста
aWhen:={,,,,,{||aIn[6]:=aIn[4]*aIn[5],.T.}}
ПРАВИЛО !!!
В каждом элементе aWhen и aValid последний параметр должен возвращать логическое значение можно или нельзя (.T./.F.) |
|
Back to top |
|
|
Сергей В. Чурбанов
Joined: 27 Jun 2003 Posts: 35 Location: Чурбанов Сергей Вячеславович Occupation: ООО "Интеллект-сервис-НСК" Interests: Новосибирск
|
Posted: 23 Sep 2005 13:29 Post subject: |
|
|
Добрый день!
У меня не работают кнопки добавления и редактирования записей. Что делать?
Вопрос кадый раз когда добавляем переменную новый initlist или он вообще один?
у меня получилось что такое:
Function Main()
Local aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc,bDel,_aHeads,aWhen,aPic
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,16)},16},{{||STR(field->kol,5)},33},{{||STR(field->cena,12,2)},39},{{||STR(field->summa,12,2)},52}}
work->(initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
,,,,,;
,,,,,) )
_aHeads:={{"éóÑñ¿ΓÑ ñáΓπ αáí«Γ.................:","TEK_DATA"}, ;
{"éóÑñ¿ΓÑ ¡«¼Ñα ñ«¬π¼Ñ¡Γá............:","TEK_NOMER"}, ;
{"éóÑñ¿ΓÑ ¡á¿¼Ñ¡«óá¡¿Ñ αáí«Γ.........:","NAME"}, ;
{"諽¿τÑßΓó«.........................:","KOL","1","1","0"}, ;
{"ûÑ¡á...............................:","æENA","1","1","0"}, ;
{"æπ¼¼á (απí.).......................:","SUMMA"}}
work->(initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
,,,,,;
,bDel,,,,) )
aWhen:={,,,,,{||aIn[6]:=aIn[4]*aIn[5]}}
work->(initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
_aHeads,,,,,;
,bDel,,,,) )
WORK->( DBCLOSEAREA() )
aPic:={,,,,,"999999999.99"}
initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
_aHeads,,aPic,aWhen,,;
,bDel,,,,)
RestSetKey(aSetKey)
RestSet(aSet)
RETURN NIL
Помогите найти ошибк |
|
Back to top |
|
|
shura_k
Joined: 10 Oct 2003 Posts: 342 Location: Александр Occupation: Специалист Interests: Калининград
|
Posted: 23 Sep 2005 13:37 Post subject: |
|
|
InitList в даном примере только один должен быть! |
|
Back to top |
|
|
shura_k
Joined: 10 Oct 2003 Posts: 342 Location: Александр Occupation: Специалист Interests: Калининград
|
Posted: 23 Sep 2005 13:39 Post subject: |
|
|
Что-то в таком роде. Пока все моменты работают
Function Main()
Local aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc,aHeads,bDel,aWhen,aPic,nUniMode
aSet:=SaveSet()
aSetKey:=SaveSetKey()
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,25)},16},;
{{||STR(field->kol,6)},44},{{||STR(field->cena,9,2)},51},{{||STR(field->summa,12,2)},61}}
aHeads:={{"Введите дату работ.................:","TEK_DATA"},;
{"Введите номер документа............:","TEK_NOMER"},;
{"Наименование работ.................:","NAME"},;
{"Количество.........................:","KOL","1","1","0"},;
{"Цена...............................:","CENA","1","1","0"},;
{"Сумма (руб.).......................:","SUMMA"}}
bDel:={||.T.}
nUniMode:=2
aWhen:={,,,,,{||aIn[6]:=aIn[4]*aIn[5],.T.}}
aPic:={,,,,,"999999999.99"}
WORK->( INITLIST(nTop,nBot,cColHead,aBlockCols,cCurProc,;
aHeads,,aPic,aWhen,,;
nUniMode,bDel,,,,))
WORK->( DBCLOSEAREA() )
RestSetKey(aSetKey)
RestSet(aSet)
RETURN NIL |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 23 Sep 2005 14:29 Post subject: |
|
|
Сергей В. Чурбанов wrote: |
WORK->( DBCLOSEAREA() )
initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
Помогите найти ошибку. |
Вы закрыли рабочую область WORK к которой хотите отражение на ээкране а потом InitList - это первое, надо наоборот
Рекомендую указывать стрелочкой -> применение к какой области стартуете InitList - это второе (смотрите первый урок на форуме) |
|
Back to top |
|
|
Олег Смирнов
Joined: 06 Sep 2004 Posts: 821 Location: Олег Смирнов Occupation: Раут (поганист-сисадмин) Interests: Новосибирск
|
Posted: 23 Sep 2005 16:51 Post subject: К вопросу о регламенте!.. |
|
|
Уважаемые граждАне!..
Не_будет_ли_с_моей_стороны_слишком_большой_наглостью_попросить_всех_участников_не_писать_в_этой_ветке_сильно_ужасно_очень_длинные_строки_ну_абсолютно_без_всяких_пробелов?
Я уж не знаю, как это безобразие обрабатывает IE, но забодался уже в Mozill-е использовать горизонтальный скролинг... То-есть, натурально, я вполне понимаю, что кому-то из программистов эти длинные строки - бальзам на душу, но ведь компилятор-то понимает длинные команды, размазанные по нескольким строчкам. А человеку всяко читать удобнее строки ограниченной длины...
Please! _________________ С уважением, Олег Р. Смирн |
|
Back to top |
|
|
GVA
Joined: 16 Oct 2003 Posts: 99 Location: Gaponenko Occupation: HDM Interests: Москва
|
Posted: 24 Sep 2005 01:09 Post subject: Добавляем или правим? |
|
|
Как узнать в каком режиме -Добавление или Правка мы находимся?
И по Enter и по F4 форма ввода одинаковая и заполняется данными из текущей записи.
Но при добавлении записи хочется к примеру обнулить все поля, а ключевое сформировать, например, как очередное.
Last edited by GVA on 24 Sep 2005 01:16; edited 1 time in total |
|
Back to top |
|
|
GVA
Joined: 16 Oct 2003 Posts: 99 Location: Gaponenko Occupation: HDM Interests: Москва
|
Posted: 24 Sep 2005 01:14 Post subject: Форма по F6 |
|
|
При задании фильтра по F6 открывается форма подобная входной, но у меня не очень красиво - первая колонка с псевдографикой "наползает" но основную рамку и левый край рамки не прорисовывается. |
|
Back to top |
|
|
GVA
Joined: 16 Oct 2003 Posts: 99 Location: Gaponenko Occupation: HDM Interests: Москва
|
Posted: 24 Sep 2005 01:33 Post subject: Используем F2? |
|
|
Заполняем поле из подчиненного справочника по F2. Как реализовать? Или это уже тема четвертого урок |
|
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
|