Topic: Сделал проект (нужна помощь)

Здравствуйте Дмитрий!

1. Мне нужно чтобы из формы основного ввода - печаталось заявление с уже заполненными данными из этой формы
2. Нужен отчет с выбором диапазоном дат по Оказанным услугам (в EXCEL) описание в письме!!!

Не могу добиться чтобы в основной форме ввода в гридах1 Грид2 грид3 высвечивались данные только принадлежащие этому человеку!

Заранее спасибо!

Проект выслал.

с уважением,
Андрей Александрович.

Re: Сделал проект (нужна помощь)

Здравствуйте,


От вас пришло два письма но без проекта.

Dmitry.

Re: Сделал проект (нужна помощь)

Выслал сейчас на support@drive-software.com повторно!

с уважением,
Андрей Александрович.

Re: Сделал проект (нужна помощь)

Пишу тут так как не хочу плодить темы.
Дмитрий, подскажите пож-та  в TextBox,  что реализуют в свойствах значения " Currensy, Accurancy, Prefix, Suffix, ThousandSep."?
И еще вопрос  - если в главной форме размещаем элемент PageControl и размещаем на ней вкладки нескольких баз, то можно ли реализовать динамическое поведение формы в зависимости от величины размещенного на данной вкладке "грида". А то до этого основные формы базы запускались с главной страницы с помощью соответствующих кнопок, но так как решил сократить их количество, с помощью  PageControl и гриды различные по величине приходится всю форму подгонять  под самый большой грид.
СПС за ответ.

Re: Сделал проект (нужна помощь)

wertyby wrote:

Пишу тут так как не хочу плодить темы.
Дмитрий, подскажите пож-та  в TextBox,  что реализуют в свойствах значения " Currensy, Accurancy, Prefix, Suffix, ThousandSep."?

Обчно эти свойства работают с поля БД типа Деньги, и устанавливаются автоматически, когда TextBox-у присваивается поле с типом Деньги (через TableName и FieldName)
Accuracy - количество знаков после запятой
Prefix - обозначение валюты или чего либо другого спереди от числа
Suffix - обозначение валюты или чего либо другого сзади от числа


wertyby wrote:

И еще вопрос  - если в главной форме размещаем элемент PageControl и размещаем на ней вкладки нескольких баз, то можно ли реализовать динамическое поведение формы в зависимости от величины размещенного на данной вкладке "грида". А то до этого основные формы базы запускались с главной страницы с помощью соответствующих кнопок, но так как решил сократить их количество, с помощью  PageControl и гриды различные по величине приходится всю форму подгонять  под самый большой грид.
СПС за ответ.

Установите у формы Sizeable = True
затем каждый компонент имеет свойство Anchors, который позволяет задать поведение компонента при изменении размера формы.

Dmitry.

Re: Сделал проект (нужна помощь)

Спасибо за оба ответа, но по второму я наверное написал много текста но смысл не очень хорошо ловится. Со свойством Sizeable = True и Anchors я как то разобрался сам, и активно ими пользуюсь.
Тут больше вопрос в том,  что при использовании меню PageControl на конкретной форме то размер формы становится одинаковым  для всех его вкладок?
У меня гриды например на обеих вкладках на вкладке через свойство Anchors автоматически подстраиваются под размер формы, но на вкладке  №1 гриду нужно всего половина ширины формы от того грида, что размещен на вкладке №2. А грид на вкладке 2 имеет очень много значений и поэтому большая ширина, а нужно чтобы отображался полностью, без скроллинга, вот и получается что половина вкладки 1 меню PageControl не используется.
Вся суть  в том, что хотелось просто формы сделать фиксированных размеров, без возможности масштабирования.

Попробую может пересмотреть расстановку элементов вкладки №1 :-)

Re: Сделал проект (нужна помощь)

wertyby
Можете изменять размеры формы, в зависимости от выбранной вкладки, пример:

procedure Form1_PageControl1_OnChange (Sender: string);
begin
    if Form1.PageControl1.ActivePageIndex=0 then // первая вкладка
    begin
        Form1.Width := 640;
        Form1.Height := 480;
    end;

    if Form1.PageControl1.ActivePageIndex=1 then // вторая вкладка
    begin
        Form1.Width := 800;
        Form1.Height := 600;
    end;
end;
Dmitry.

Re: Сделал проект (нужна помощь)

Ок. буду пробовать. Спасибо. Но опять вопрос - вчера в процессе переделки пытался прикрутить к базе формирование логов. В качстве примера взял ваш проект. В принципе с большей частью кода потихоньку разобрался, сегодня попытаюсь его запустить но есть одно но  - насколько я понимаю в данном участке кода подразумевается, что используются поля базы с текстовыми записями, а как реализовать чек бокс? что то искал искал но не нашел.
sEmpID := IntToStr(frmEmployee.Button2.dbGeneralTableID);
     sCurrentDate := '"' + FormatDateTime('yyyy-MM-DD hh:nn:ss.000', now) + '"';
     sLastName   := '"'+frmEmployee.edLastName.Text+'"';          // тут как я понял присваивается значение типа Text????
     sFirstName  := '"'+frmEmployee.edFistName.Text+'"';

А строка с датой понимаю прописывается отдельно в таком виде?
if frmEmployee.dtDateOfBirth.Checked then
          sBirthDate  := '"' + FormatDateTime('yyyy-MM-DD 00:00:00.000', frmEmployee.dtDateOfBirth.Date) + '"'
          else sBirthDate := 'NULL';

Re: Сделал проект (нужна помощь)

wertyby
Да, все верно, для чек бокса так:

if frmEmployee.CheckBox1.Checked then sYesNo :='1' else sYesNo := '0';
Dmitry.

Re: Сделал проект (нужна помощь)

1. кстати не пойму сейчас баг в платформе или нет. Но если я копирую гриды без настроек в другие окна, для того чтобы постоянно не двигать их по размеру и вновь не создавать - то когда я начинаю задавать в каждом гриде настройки данных которые должны будут отображаться- то выходит глюк в программе - закрываешь вновь открываешь окно - только после этого данные в гриде появляются!
Приходиться вновь добавлять новый грид вместо скопированного и только тогда всё хорошо!

2. Очень неудобно следующее... например когда я хочу отредактировать связь со справочником пример:

установлена связь с настройками sprspecialist (просто без функции защиты от удаления) -> меняю на sprspecialist^ то ошибка расползается во весь проект...Желалось чтобы корректив вносился и в другие зависимые от этого поля во всей структуре всех баз!

3. И самый главный косяк нашел! - Сделал кнопку Формирование заявления! - Нажимаю Добавить -> Вбиваю данные о человеке -> нажимаю сформировать заявление - > он сохраняет данные -> но это не правильно, а если я хочу не сохранять данные вобще!?
функция сформировать заявление по персональным данным не должно делать функцию сохранения данных в основную базу...
с одной стороны это хорошо, чтобы не забыть сохранить, но и если отменить данные - всё равно данные сохраняться- даже если данные вводились временно!

с уважением,
Андрей Александрович.

Re: Сделал проект (нужна помощь)

DriveSoft wrote:

wertyby
Да, все верно, для чек бокса так:

if frmEmployee.CheckBox1.Checked then sYesNo :='1' else sYesNo := '0';

Уффф, целый день почти корпел, все никак не шло оказалось все дело в непроставленных кавычках в одной строке.
Ковыряюсь дальше и  все в принципе путем чтения мануалов решилось и вроде работает, но остается одно но:
при использовании подсказанного Вами  запроса оформленного впоследствии таким образом
var:
sYesNo: string;
................
if NEW_OM.OM_Navsegda.Checked then sYesNo :='1' else sYesNo := '0';
        sDeletedNavsegda :=sYesNo;

Вроде как и работает, но при редактировании в логи попадает верная информация т.е. чек активен =да, неактивен=нет. а в случае удаления записи почему то всегда "нет" . натолкните пожалуйста куда копать. мозг выкипел.

Re: Сделал проект (нужна помощь)

andrey_gb10
1,2. Не могли бы вы сделать тестовый проект с данными ошибками? так как не получается их повторить.

3. Данные от отчета всегда берутся из базы данных, поэтому данные с формы автоматически сохраняются, тут к сожалению ничего не поделать.

Dmitry.

Re: Сделал проект (нужна помощь)

Я разработал правило для операторов. Это нормально что сохраняет записи впринципе. есть заявление есть в базе- нет заявления а значит не состоит на учете! Короче в данном случае пока мне повезло!

Я закончил проект под ключ уже сегодня запустил его на государственной службе! Ура!

Будут моменты можно же будет писать? Процесс пошел!

с уважением,
Андрей Александрович.

Re: Сделал проект (нужна помощь)

andrey_gb10
Конечно, обращайтесь.

Dmitry.

Re: Сделал проект (нужна помощь)

Дмитриииий может глянете пож-та на пост 11.

16 (edited by wertyby 2015-04-17 19:12:50)

Re: Сделал проект (нужна помощь)

А может и не надо, переписал код так вроде работает. Только скажете насколько верна такая запись?

sDeletedNavsegda := SQLExecute ('SELECT NAVSEGDA FROM OTKAZNIE WHERE id = ' + IntToStr(OTKAZNIE_MATERIALI.REZULTAT.dbItemID) );
        if sDeletedNavsegda then sYesNo :='1' else sYesNo := '0';
        sDeletedNavsegda :=sYesNo;


Теперь другой вопрос появился  - возможно ли  объединение Ваших примеров автоматического подбора колонок грида по содержимому, и автоматического подбора высоты строк в один проект. Что то никак не получается, выполняется только когда активна только одна из данных функций.

Re: Сделал проект (нужна помощь)

wertyby
Запись верна, только я не знаю для чего именно эта запись  )


пришлите пожалуйста ваш проект на support@drive-software.com
со ссылкой на ваше сообщение, постараюсь помочь.

Dmitry.

Re: Сделал проект (нужна помощь)

Напишите как можно реализовать следующее.

1. Допустим в гриде1 накапливаются данные которые постепенно вводят.

Задача: Нужно сделать кнопку , чтобы она из этого грида1 искала двойников по нескольким признакам
и двойников высвечивала ну например в другом гриде2??? Прям по действиям...

Мне нужен код для кнопки и какие функции использовать?


ФИО, СНИЛС, Дата рождения

Если есть какой то код вместо названия полей напишите в примере вместо ангийских названий русскими СНИЛС ФИЛ Дата рождения.... и. .т.п. и .т.д

Пожалуйста!?? Жду очень!

с уважением,
Андрей Александрович.

Re: Сделал проект (нужна помощь)

Спасибо за Вашу помощь, но попробую пободаться сам, когда приходится напрягаться  - материал усваивается по ходу выполнения. А когда проект редактируете Вы то все уже готовое, и как работает один хрен непонятно.
В вопросе с кодом это кусок для реализации ведения логов, там я стопорнулся на сохранении в лог записи с логическим выражением, в таком виде вроде как все начало работать. Там просто 2 момента в данном случае так реализовал при удалении записи. А при редактировании и вводе новой все проще - как вы натолкнули ранее.

По второму вопросу об объединении 2 проектов с реализацией автоматического подбора высоты строк в зависимости от содержания и проекта автоматической подборки ширины столбцов в зависимости от ширины например шапки при попытке простого сведения скриптов программа крашится при запуске. Вчера путем перебора было установлено что при отключении процедуры

procedure Form1_GridEmployees_OnColumnResize (Sender: string; ACol: Integer);
begin
    Form1_GridEmployees_OnChange ('');
end;

в данном проекте
http://myvisualdatabase.com/forum/viewtopic.php?id=777

Вроде как работает но еще детально не тестил. Для чего она нужна?

20 (edited by wertyby 2015-04-19 07:36:41)

Re: Сделал проект (нужна помощь)

Может кто натолкнет и покажет как записать код запроса для импорта из файла csv колонки с логическим выражением (галки чек бокса). 7 колонок с различной информацией импортируются отличной а эту никак не получается настроить.

Решено не нужно.

Но опять вопрос при экспорте в Excel как я понимаю ID записи в базе не сохраняется если не выведено в вывод таблицы грида?

Re: Сделал проект (нужна помощь)

Информация в справочнике по заданному полю отсортирована нормально это видно в окне грида где располагаются все данные справочника, а в комбобоксе где я выбираю именно те записи которые внес в справочник - они отображаются не поалфавиту! Это баг в платформе? или я что-то не так делаю??? Мне нужен срочный ответ!

с уважением,
Андрей Александрович.

Re: Сделал проект (нужна помощь)

andrey_gb10 wrote:

Напишите как можно реализовать следующее.

1. Допустим в гриде1 накапливаются данные которые постепенно вводят.

Задача: Нужно сделать кнопку , чтобы она из этого грида1 искала двойников по нескольким признакам
и двойников высвечивала ну например в другом гриде2??? Прям по действиям...

Создайте кнопку с действием "SQL запрос", пример SQL запрос для поиска дубликатор

SELECT
firstname, lastname, COUNT(*) c

FROM person

GROUP BY
firstname, lastname HAVING c > 1
Dmitry.

Re: Сделал проект (нужна помощь)

wertyby wrote:
procedure Form1_GridEmployees_OnColumnResize (Sender: string; ACol: Integer);
begin
    Form1_GridEmployees_OnChange ('');
end;

в данном проекте
http://myvisualdatabase.com/forum/viewtopic.php?id=777

Вроде как работает но еще детально не тестил. Для чего она нужна?

Чтобы снова пересчитать необходимую высоту ячеек при изменении размера колонок.

Dmitry.

Re: Сделал проект (нужна помощь)

wertyby wrote:

Но опять вопрос при экспорте в Excel как я понимаю ID записи в базе не сохраняется если не выведено в вывод таблицы грида?

Не совсем понял вопроса, при экспорте из базы в Excel, никаких операцией по сохранению в базу не происходит.

Dmitry.

Re: Сделал проект (нужна помощь)

andrey_gb10 wrote:

Информация в справочнике по заданному полю отсортирована нормально это видно в окне грида где располагаются все данные справочника, а в комбобоксе где я выбираю именно те записи которые внес в справочник - они отображаются не поалфавиту! Это баг в платформе? или я что-то не так делаю??? Мне нужен срочный ответ!

У компонента ComboBox есть свойство Sort, установите его в True

Dmitry.