Т.е. настоящего дропа как в кларе будем считать у тебя нет!?Andrew™ писал(а):добавление - это придётся тебе самому организовывать
Шаблон под MAV
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Admin
- Администратор
- Сообщения: 3963
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 29 раз
- Поблагодарили: 22 раза
- Контактная информация:
Версия от 060803:
Версия от 060822:
На первой версии в данном списке все работает хотя и не должно по твоим словам... (пересечение курсоров)
На всех версиях начиная с 060822 программа мертво встает колом.
А так же ... У меня продолжается проблема с ошибкой "Тип программы выходит за пределы допустимого диапазона (HY003)"
Сейчас избавляюсь от этого с помощью IF MAVGET(xxx).
Код: Выделить всё
6822824 Open cursor
Time Taken: 0.02 sec.
6822824 Maximum read 5000 rows for cursor
6822824 Parsing Cursor : SELECT "GoodsName","GoodsID" FROM NK_Goods ORDER BY "GoodsName"
Time Taken: 0.51 sec.
6826560 Open cursor
Time Taken: 0.59 sec.
6826560 Maximum read 1 rows for cursor
6826560 Parsing Cursor : SELECT COUNT(*) FROM NK_Goods
6826560 Fetch cursor
COUNT(*) = 27257
6826560 Close cursor
6826560 Free cursor
6822824 Close cursor
6822824 Free cursor
Код: Выделить всё
6822824 Open cursor
Time Taken: 0.02 sec.
6822824 Maximum read 5000 rows for cursor
6822824 Parsing Cursor : SELECT "GoodsName","GoodsID" FROM NK_Goods ORDER BY "GoodsName"
Time Taken: 0.48 sec.
На всех версиях начиная с 060822 программа мертво встает колом.
А так же ... У меня продолжается проблема с ошибкой "Тип программы выходит за пределы допустимого диапазона (HY003)"
Сейчас избавляюсь от этого с помощью IF MAVGET(xxx).
Код: Выделить всё
SELF.ConnectString = 'DRIVER={{SQL Server};SERVER='&SELF.Server&';DATABASE='&SELF.Database&';UID='&SELF.BaseLogin&';PWD='&SELF.BasePassword
IF MAVCONNECT(Conn:Def,SELF.ConnectString,xAcc:NoWin)
MAVSHOWERROR
SELF.Connected = FALSE
ELSE
IF MAVCONNECT(Conn:Std,SELF.ConnectString,xAcc:NoWin)
MAVSHOWERROR
SELF.Connected = FALSE
ELSE
SELF.Connected = TRUE
IF MAVGET(xaccLinks).
IF MAVGET(xaccLogs).
IF MAVGET(xaccObjects).
IF MAVGET(xaccPrograms).
IF MAVGET(xaccUsers).
END
END
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
реализация "настоящего" дропа в кларе убогая, мой по возможностям поиска и т д куда лучше (Auto Entry) на мой взгляд, ну а если тебе надо что то добавлять, что мешает повесить update buttons и в случае отсутсвия записи в Browse вызывать форму редактирования, это же пара строк кодаAdmin писал(а):Т.е. настоящего дропа как в кларе будем считать у тебя нет!?Andrew™ писал(а):добавление - это придётся тебе самому организовывать
почему в первой версии не должно - Browse загрузилась и сделала COUNT, т е всё последовательно, а то что у тебя что то встаёт теперь колом, мало слов, нужны примеры, чтобы понять от куда ноги растут.Admin писал(а):Версия от 060803:Версия от 060822:Код: Выделить всё
6822824 Open cursor Time Taken: 0.02 sec. 6822824 Maximum read 5000 rows for cursor 6822824 Parsing Cursor : SELECT "GoodsName","GoodsID" FROM NK_Goods ORDER BY "GoodsName" Time Taken: 0.51 sec. 6826560 Open cursor Time Taken: 0.59 sec. 6826560 Maximum read 1 rows for cursor 6826560 Parsing Cursor : SELECT COUNT(*) FROM NK_Goods 6826560 Fetch cursor COUNT(*) = 27257 6826560 Close cursor 6826560 Free cursor 6822824 Close cursor 6822824 Free cursor
На первой версии в данном списке все работает хотя и не должно по твоим словам... (пересечение курсоров)Код: Выделить всё
6822824 Open cursor Time Taken: 0.02 sec. 6822824 Maximum read 5000 rows for cursor 6822824 Parsing Cursor : SELECT "GoodsName","GoodsID" FROM NK_Goods ORDER BY "GoodsName" Time Taken: 0.48 sec.
На всех версиях начиная с 060822 программа мертво встает колом.
MAVGET не надо юзать, просто надо понять почему у тебя это происходит, сейчас же вместо MAVGET лучше вставлять IF MAVOPENFILE, Но лучше понять проблему т е поглядеть всё это на реальном примереAdmin писал(а): А так же ... У меня продолжается проблема с ошибкой "Тип программы выходит за пределы допустимого диапазона (HY003)"
Сейчас избавляюсь от этого с помощью IF MAVGET(xxx).
ноги вычислил - действительно мои, теперь всё красивоAndrew™ писал(а):почему в первой версии не должно - Browse загрузилась и сделала COUNT, т е всё последовательно, а то что у тебя что то встаёт теперь колом, мало слов, нужны примеры, чтобы понять от куда ноги растут.
Код: Выделить всё
7084920 Open cursor
Time Taken: 0.05 sec.
7084920 Maximum read 2 rows for cursor
7084920 Parsing Cursor : SELECT A."VendorNumber",A."VendorName",A."Address1",A."City",B."ZIP",A."State",A."PhoneNumber",A."ZipRef" FROM MAVT_VENDORS A LEFT OUTER JOIN MAVT_ZIPCODES B ON B."ZIPRef"=A."ZipRef"
7084920 Fetch cursor (1)
A."VendorNumber" = 1
A."VendorName" = Doug's Digs
A."Address1" = 12345 East 22nd Ave
A."City" = Pompano Beach
B."ZIP" = 33064
A."State" = FL
A."PhoneNumber" = 8005551212
A."ZipRef" = 3
7084920 Fetch cursor (2)
A."VendorNumber" = 2
A."VendorName" = Palms By Paul
A."Address1" = 8749 Paul Place
A."City" = Pompano Beach
B."ZIP" = 33065
A."State" = FL
A."PhoneNumber" = 9541234567
A."ZipRef" = 4
7084920 Close cursor
7089008 Open cursor
7089008 Maximum read 1 rows for cursor
7089008 Parsing Cursor : SELECT COUNT(*) FROM MAVT_VENDORS A LEFT OUTER JOIN MAVT_ZIPCODES B ON B."ZIPRef"=A."ZipRef"
7089008 Fetch cursor
COUNT(*) = 24
Time Taken: 0.05 sec.
7089008 Close cursor
7089008 Free cursor
7084920 Free cursor
- Admin
- Администратор
- Сообщения: 3963
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 29 раз
- Поблагодарили: 22 раза
- Контактная информация:
Когда добавляешь к MAVBrowse параметр (в поле Parameters:), к примеру (STRING Name) - IDE орет про группу %LoadProcedureParametersPrototype(MAVABC)
Наверное тебе нужно такую пустышку себе в шаблон вставить ...
И опять напомню про двойное соединение и ошибку "Тип программы выходит за пределы допустимого диапазона (HY003)"
Если нужен пример - вышлю свой класс с примером на мыло.
Наверное тебе нужно такую пустышку себе в шаблон вставить ...
И опять напомню про двойное соединение и ошибку "Тип программы выходит за пределы допустимого диапазона (HY003)"
Если нужен пример - вышлю свой класс с примером на мыло.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3963
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 29 раз
- Поблагодарили: 22 раза
- Контактная информация:
Вот еще один трабл... исправил.
ты забыл сюда вставить:
Из за этого при использовании репорта в ABC ругалось на отсутствие переменной...
Это все в файле mavabc.tpl
Код: Выделить всё
#ENDDEFAULT
#!--------------------------------------------------------------------
#PROCEDURE(SQLReport,'Generic Reporting Procedure'),WINDOW,REPORT,PARENT(Window(ABC))
#DEFAULT
NAME DefaultMAVABCReport
CATEGORY 'SQLReport'
Код: Выделить всё
#PROMPT('',CHECK),%EnablePrintPreview,AT(10,10)
Это все в файле mavabc.tpl
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
увидел трабл, починил, вставил группу пустышку в шаблонAdmin писал(а):Когда добавляешь к MAVBrowse параметр (в поле Parameters:), к примеру (STRING Name) - IDE орет про группу %LoadProcedureParametersPrototype(MAVABC)
Наверное тебе нужно такую пустышку себе в шаблон вставить ...
ну вот и хорошо, появился пример и появилось быстрое решение проблемы, я то не смог воспроизвести т к тут мало того, что MAVINSERT в не первом соединении так ещё есть READONLY поля, короче вылечилAdmin писал(а): И опять напомню про двойное соединение и ошибку "Тип программы выходит за пределы допустимого диапазона (HY003)"
Если нужен пример - вышлю свой класс с примером на мыло.
не, то что ругань была это да, но решение я сделал другоеAdmin писал(а):Вот еще один трабл... исправил.
ты забыл сюда вставить:Код: Выделить всё
#ENDDEFAULT #!-------------------------------------------------------------------- #PROCEDURE(SQLReport,'Generic Reporting Procedure'),WINDOW,REPORT,PARENT(Window(ABC)) #DEFAULT NAME DefaultMAVABCReport CATEGORY 'SQLReport'
Из за этого при использовании репорта в ABC ругалось на отсутствие переменной...Код: Выделить всё
#PROMPT('',CHECK),%EnablePrintPreview,AT(10,10)
Это все в файле mavabc.tpl
данный CHECK имеет место быть в свойствах Extension шаблона SQLReport т к он насделник от SQL Process шаблона, но теперь ругани нет
- Admin
- Администратор
- Сообщения: 3963
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 29 раз
- Поблагодарили: 22 раза
- Контактная информация:
Жаль, вот и глюков вроде не осталосьAndrew™ писал(а):ну вот и хорошо, появился пример и появилось быстрое решение проблемы, я то не смог воспроизвести т к тут мало того, что MAVINSERT в не первом соединении так ещё есть READONLY поля, короче вылечил
Ну тут все равно. Главное все починилось.Andrew™ писал(а):не, то что ругань была это да, но решение я сделал другое данный CHECK имеет место быть в свойствах Extension шаблона SQLReport т к он насделник от SQL Process шаблона, но теперь ругани нет
Будем продолжать совершенствоваться в поисках ...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3963
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 29 раз
- Поблагодарили: 22 раза
- Контактная информация:
Вот кстати текст в шаблоне который желательно русифицировать.
Ну т.е. как то иметь возможность транслировать в свой.
Ну т.е. как то иметь возможность транслировать в свой.
Код: Выделить всё
#AT(%MAVProcessProcedures,%ActiveTemplateInstance,'Init','CODE')
#CASE(%ProcessAction)
#OF('Put Record')
SELF.Draw('Updating Records',1)
#OF('Delete Record')
SELF.Draw('Deleting Records',1)
#ELSE
SELF.Draw('Processing Records',1)
#ENDCASE
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3963
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 29 раз
- Поблагодарили: 22 раза
- Контактная информация:
Вот еще ...
1. При наличии ListBox на форме в режиме DropDown у него меняется порядок при перемещении по кнопке Tab... т.е. ты видать убиваешь ListBox и делаешь вместо него другой контрол, и позицию не восстанавливаешь.
2. При BRW1:Browse.Kill ты не убиваешь кнопку которую внутри класса создаешь для хидера ListBox ... Мне в одном месте нужно перезапускать форму без закрытия окна, на форме есть MAVBrowse. Так вот окно я перезапускаю методом .Run и на нем появляется еще один батон для твоего хидера ... тоненький такой, по высоте заголовка листа. Ну ты наверное понял про что я.
3. Сегодня пару раз добивался вот таких ошибок. Откуда ростут ноги не пойму ... Хотя ... смахивает на остатки проблемы по которой я тебе логи слал.
1. При наличии ListBox на форме в режиме DropDown у него меняется порядок при перемещении по кнопке Tab... т.е. ты видать убиваешь ListBox и делаешь вместо него другой контрол, и позицию не восстанавливаешь.
2. При BRW1:Browse.Kill ты не убиваешь кнопку которую внутри класса создаешь для хидера ListBox ... Мне в одном месте нужно перезапускать форму без закрытия окна, на форме есть MAVBrowse. Так вот окно я перезапускаю методом .Run и на нем появляется еще один батон для твоего хидера ... тоненький такой, по высоте заголовка листа. Ну ты наверное понял про что я.
3. Сегодня пару раз добивался вот таких ошибок. Откуда ростут ноги не пойму ... Хотя ... смахивает на остатки проблемы по которой я тебе логи слал.
Код: Выделить всё
Program : C:\Cw_App\Work\-SQL-\NotSale\30\Nsale.exe
Error : [0] Entry Not Found (30)
SQL Statement -
Binding field 1 = 30
INSERT INTO xa_logs ("ProgramID","MessageDateTime","UserLogin","ComputerName","ProcedureName","Message") VALUES(?,?,?,?,?,?) SELECT SCOPE_IDENTITY()
----------------------------------------------------------------------
Program : C:\Cw_App\Work\-SQL-\NotSale\30\Nsale.exe
Error : [207] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'GoodsName'. [42S22] (42S22)
SQL Statement -
Binding field 1 D."IncomeID" = 43
SELECT "GoodsName",D."Amount",D."Price",D."ID" FROM xa_users A,xa_users B,xa_users C,xa_users E,ns_incomedet D WHERE D."IncomeID"=? ORDER BY "GoodsName"
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
это гляну, хотя это учитывалAdmin писал(а):Вот еще ...
1. При наличии ListBox на форме в режиме DropDown у него меняется порядок при перемещении по кнопке Tab... т.е. ты видать убиваешь ListBox и делаешь вместо него другой контрол, и позицию не восстанавливаешь.
это и не предусматривалось, т к при закрытии окна нет смысла убивать динамически созданные контролы, тут же ты повторно делаешь инициализацию Browse (не предусамтривалось такое), пока не понимаю зачем, чем не подойдёт перезагрузка Browse через метод .Load().Admin писал(а): 2. При BRW1:Browse.Kill ты не убиваешь кнопку которую внутри класса создаешь для хидера ListBox ... Мне в одном месте нужно перезапускать форму без закрытия окна, на форме есть MAVBrowse. Так вот окно я перезапускаю методом .Run и на нем появляется еще один батон для твоего хидера ... тоненький такой, по высоте заголовка листа. Ну ты наверное понял про что я.
мало инфо, нужет пример для анализа ситуацииAdmin писал(а): 3. Сегодня пару раз добивался вот таких ошибок. Откуда ростут ноги не пойму ... Хотя ... смахивает на остатки проблемы по которой я тебе логи слал.
Код: Выделить всё
Program : C:\Cw_App\Work\-SQL-\NotSale\30\Nsale.exe Error : [0] Entry Not Found (30) SQL Statement - Binding field 1 = 30 INSERT INTO xa_logs ("ProgramID","MessageDateTime","UserLogin","ComputerName","ProcedureName","Message") VALUES(?,?,?,?,?,?) SELECT SCOPE_IDENTITY()
тут ты что то напортачил с инициализацией, префикс у поля отсутвуетAdmin писал(а): ----------------------------------------------------------------------
Program : C:\Cw_App\Work\-SQL-\NotSale\30\Nsale.exe
Error : [207] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'GoodsName'. [42S22] (42S22)
SQL Statement -
Binding field 1 D."IncomeID" = 43
SELECT "GoodsName",D."Amount",D."Price",D."ID" FROM xa_users A,xa_users B,xa_users C,xa_users E,ns_incomedet D WHERE D."IncomeID"=? ORDER BY "GoodsName"
[/code]
до понедельника догуливаю последнюю недельку отпуска
- Admin
- Администратор
- Сообщения: 3963
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 29 раз
- Поблагодарили: 22 раза
- Контактная информация:
Андрей обращай внимания на такие сообщения плиз... а то забывается и так и висит под вопросом!Admin писал(а):Вот кстати текст в шаблоне который желательно русифицировать.
Ну т.е. как то иметь возможность транслировать в свой.
Код: Выделить всё
#AT(%MAVProcessProcedures,%ActiveTemplateInstance,'Init','CODE') #CASE(%ProcessAction) #OF('Put Record') SELF.Draw('Updating Records',1) #OF('Delete Record') SELF.Draw('Deleting Records',1) #ELSE SELF.Draw('Processing Records',1) #ENDCASE
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
реализовал как настройку в шаблонеAdmin писал(а):Андрей обращай внимания на такие сообщения плиз... а то забывается и так и висит под вопросом!Admin писал(а):Вот кстати текст в шаблоне который желательно русифицировать.
Ну т.е. как то иметь возможность транслировать в свой.
Код: Выделить всё
#AT(%MAVProcessProcedures,%ActiveTemplateInstance,'Init','CODE') #CASE(%ProcessAction) #OF('Put Record') SELF.Draw('Updating Records',1) #OF('Delete Record') SELF.Draw('Deleting Records',1) #ELSE SELF.Draw('Processing Records',1) #ENDCASE