Страница 10 из 12
Добавлено: 26 Январь 2006, 10:47
Andrew™
Admin писал(а):Нужно делать ADD(SELF.Q,1)
что бы запись была первой в листе.
Но! Когда открываешь форму на добавление выбрана первой не эта пустая запись а первая текстом ... Что делать?
Код: Выделить всё
BRW3:Browse.Load PROCEDURE
CODE
PARENT.Load
SELF.Q_Mgr.ClearQ()
ADD(SELF.Q,1)
IF ThisWindow.Request = InsertRecord
SELF.Selected(1)
END
в коммерческой версии сделал это на автомате внутри библы, если Browse в режиме DropList (настройка не только контрола но и в свойствах Browse выставлен DropList с constraint'ом) автоматом добавляется пустая запись
Добавлено: 07 Февраль 2006, 4:59
Admin
в коммерческой версии сделал это на автомате внутри библы, если Browse в режиме DropList (настройка не только контрола но и в свойствах Browse выставлен DropList с constraint'ом) автоматом добавляется пустая запись
Не работает. Все стоит как ты указал.
Пустая запись не добавляется.
Добавлено: 07 Февраль 2006, 5:48
Admin
не так давно в коммерческой версии появилась возможность обрабатывать ошибки с помощью ХП на сервере, на вход инфо об SQL ошибке, возвращает то что хотелось бы показать пользователю, ну а при сохранении в лог будет сохранятться как прежде та инфо которая требуется для разработчика - для анализа и разруливания ошибочной ситуации, а выглядит это следующим образом:
реализуется вызов хранимой процедуры для обработки ошибки:
Повторил весь код который ты написал:
Создал процедуру GetErrorMessage
Передал ее адрес через SETERRORFUNCTION
Создал хранимую функцию A_ErrMessage
Пробую удалить связанную запись => программа вылетает без слов... после 2-х секундных раздумий.
Добавлено: 07 Февраль 2006, 5:55
Admin
Пробую удалить связанную запись => программа вылетает без слов... после 2-х секундных раздумий.
По предыдущему письму с вылетом все стало понятно.
Не в ту базу добавил функцию. Но все равно не очень хорошо что при отсутствии функции в базе программа высыпается без слов...
Кстати: также бибилотека MAV ничего не говорит если я пробую записать уже изменившуюся запись ...
Это решается добавлением какого нибудь кода в A_ErrMessage?
Или еще что нибудь нужно делать... типа другой функции добавлять и т.д.
Добавлено: 07 Февраль 2006, 11:09
Andrew™
Admin писал(а):в коммерческой версии сделал это на автомате внутри библы, если Browse в режиме DropList (настройка не только контрола но и в свойствах Browse выставлен DropList с constraint'ом) автоматом добавляется пустая запись
Не работает. Все стоит как ты указал.
Пустая запись не добавляется.
Ты получил моё письмо с регистрационными ключами?
я там написал что в ближ. время дам ссылки на актуальное состояние.
Много чего изменил и в частности это. Не так быстро изменения попадают в дистрибутив.
Ещё очень интересный фикс, именно фикс, никогда не думал что кто то попробует следующее:
Browse в режиме Tree + в режиме DropCombo - самое интересное что работает, НО, как мы знаем есть атрибут DROP - на сколько строк расскрывать выпадающий список, так вот если список линейный не Tree, то если в нём меньше записей чем указано в DROP то раскрывается только на то количество записей которое имеется, что есть правильно, НО неправильно для TREE, допустим что DROP(10), Tree по умолчанию свёрнут, допустим что в этом состоянии в выпадающем списке имеется 4 свёрнутые ветки, видим 4 строчки в выпадающем списке - Ok, раскрываем любой, при этом выпадающий список не раскрывается на 10, а просто появляется строка верт. прокрутки, и получается визуально убого вместо 10 всего 4 видимые строчки. Я считаю это багом самой клаши, чего я пофиксил, теперь в таких случаях выпадающий список динамически меняет размер при раскрытии и скрыии уровней. Ещё - для удобства раскрывать/скрывать уровни можно с помощью пробела.
Добавлено: 07 Февраль 2006, 11:12
Andrew™
Admin писал(а):Пробую удалить связанную запись => программа вылетает без слов... после 2-х секундных раздумий.
По предыдущему письму с вылетом все стало понятно.
Не в ту базу добавил функцию. Но все равно не очень хорошо что при отсутствии функции в базе программа высыпается без слов...
тут на мой взгляд ситуация следующая, ты замапил функцию обработки ошибки на свою, но в вней САМ не обрабатываешь ошибку вызова данной ХП, вставь оброаботку ошибки и думаю проблема снимется
Admin писал(а):
Кстати: также бибилотека MAV ничего не говорит если я пробую записать уже изменившуюся запись ...
Это решается добавлением какого нибудь кода в A_ErrMessage?
Или еще что нибудь нужно делать... типа другой функции добавлять и т.д.
тут не понял
ЗЫ
не совсем оперативно отвечаю на этой неделе, в отпуске я до понедельника, на связь выхожу не регулярно, отдыхаем-с

Добавлено: 08 Февраль 2006, 12:36
Admin
тут не понял
Я в форму, редактирую запись...
На другом компе юзер зашел в ту же запись, изменил ее и записал.
Я тоже что то изменил и пытаюсь записать.
Сейчас MAV ничего не делает и не говорит. Он просто не дает нажать Ok. Вернее Ok нажимается на форма не закрывается т.к. данные у текущей редактируемой на сервере уже изменились...
Как отслеживать такую ситуацию?
Хотелось бы по примеру с удалением связанных записей получить внятное сообщение об ошибке...
Добавлено: 09 Февраль 2006, 10:59
Andrew™
Admin писал(а):тут не понял
Я в форму, редактирую запись...
На другом компе юзер зашел в ту же запись, изменил ее и записал.
Я тоже что то изменил и пытаюсь записать.
Сейчас MAV ничего не делает и не говорит. Он просто не дает нажать Ok. Вернее Ok нажимается на форма не закрывается т.к. данные у текущей редактируемой на сервере уже изменились...
Как отслеживать такую ситуацию?
Хотелось бы по примеру с удалением связанных записей получить внятное сообщение об ошибке...
понятно, увидел, для Legasy генерится соответсвующее StandfardWarning, для ABC ничего не генерится, сейчас вставлю
я так понимаю у тебя проект под ABC?
Добавлено: 09 Февраль 2006, 12:40
Admin
Да именно ABC и только ABC

Legacy сто лет не трогал... уже и забыл как там все ...
P.S. После отпуска обновление MAV будет?
Добавлено: 09 Февраль 2006, 12:41
Andrew™
Admin писал(а):Да именно ABC и только ABC

Legacy сто лет не трогал... уже и забыл как там все ...
P.S. После отпуска обновление MAV будет?
соответсвующее MESSAGE по всем правилам ABC вставил
будет
MAV: баг - GPF при наведении мыши на тулбар
Добавлено: 17 Февраль 2006, 10:14
Andrew™
Попов Андрей Александрович писал(а):Скачал обновление mav_c63_9050_060216.rar - баг присутствует.
Обстановка : Win XP SP2, C63
Подробности:
- на твоем примере MAV_TV программа сыпется просто при наведении мыши на тулбар
- в моей проге этого не происходит, я вначале открываю окно (простой брауз),
потом закрываю окно, потом мышей на тулбар и только тогда получаю GPF.
исправлено!!!
Блокировка записей, применительно к MSSQL серверу
Добавлено: 21 Февраль 2006, 9:05
Andrew™
В формах редактирования при попытке изменить запись(и)
они сначало блокируются в транзакции с помощью
Код: Выделить всё
UPDATE КакоеНибудьНеReadOnlyИнеBLOBПоле=самоНАсебя WHERE по полям первичного ключа
далее идёт проверка на изменение этих записей с других рабочих станций
в случае успешной проверки - UPDATE записей в БД
так вот для MSSQL можно более оптимально сделать блокировку, её можно объеденить с проверкой, т е подымать записи для проверки, которые учавствуют в транзакции с соответсвующим хинтом
т е мы проверяем и блокируем записи одновременно.
что и было реализовано в библиотеке
Чтение записей, где присутствуют BLOB поля
Добавлено: 21 Февраль 2006, 9:12
Andrew™
В библиотеке реализовано механизм блочного чтения, что даёт хорошие выигрыши в скоростях доступа, размер блока устанавливается в MAVSelect.Init методе в первом параметре, если он опущен, то размер блока 100, так вот если в SELECTе имеют место быть BLOB поля, то с помощью блочных курсоров их не поднять, SQLGetData для блочных курсоров не поддерживается, т е если мы хотим читать записи с BLOB полями надо было не забывать выставлять размер блока в 1, но в Process шаблоне нету места куда бы это вставить.
так вот в библиотеке, а точнее в MAVSelect объекте реализован контроль на наличие BLOB полей в результирующем SELECT запросе, и если они там есть и размер блока > 1, автоматом размер блока выставляется в 1
MAV Direct качай с помощью eMule
Добавлено: 25 Февраль 2006, 12:26
Andrew™
пробую выкладывать в эту файловую сеть
сервак
ну а файл ищите по ключевм словам
Lookup Button и Browse Lookup filter шаблоны
Добавлено: 26 Февраль 2006, 9:30
Andrew™
Для режима поиска записи по введённому значению - Selected record введна возможность выставления в шаблонах Order by, что бывает очень необходимо для получения ПЕРВОЙ записи в определённой последовательности удовлетворяющей условиям ввода.