1 (edited by d.v.aleinikov 2015-07-02 13:12:45)

Topic: Помощь с проектом - "Реестр договоров"

Доброго времени суток!
Необходима помощь с реализацией проекта - технической его части. Буду иногда задавать вопросы в этой теме по этому проекту, если позволите )).
Проект частично реализован, но есть технические моменты, которые не дают мне покоя.
Итак, вопрос первый:
В проекте ведется учет договоров и счетов. Счета привязаны к договорам по типу "телефонной книги" (в примерах к программе), где к каждому абоненту может быть привязано несколько номеров. В моем случае - к договору привязываются счета.
Добавление нового договора и счетов к нему выполняется в одной форме (frmDogovor).
Проблема вот в чем: на главной форме (или из формы поиска) жмем кнопку добавить НОВЫЙ договор (записи в таблице о нем еще нет и счетов к нему нет), появляется форма "frmDogovor". По порядку заполняем все данные. Доходим до кнопки "добавить счет", жмем, высвечивается форма заполнения счета и, параллельно, поскольку счет привязан к договору, сохраняется запись о НОВОМ договоре. После сохранения счета жмем кнопку "ОК" в форме "frmDogovor" и тут происходит повторное сохранение НОВОГО договора, поскольку есть возможность сохранения договора без добавления счета через ту же форму.
Подскажите как можно сделать так, чтобы кнопка "ОК" не работала на сохранение, если запись о НОВОМ договоре уже добавлена через "добавление счета"?
Чтобы не выглядело все сумбурным, прилагаю проект.

Post's attachments

Attachment icon Reestr.rar 10.55 kb, 469 downloads since 2015-07-02 

Re: Помощь с проектом - "Реестр договоров"

Приветствую,


проверил ваш проект, все ок.


странно, такое не должно происходить, скачайте пожалуйста снова последнюю версию
http://myvisualdatabase.com/thank_you_f … ading.html

Dmitry.

Re: Помощь с проектом - "Реестр договоров"

Спасибо! Переустановка MVD помогла.

4 (edited by d.v.aleinikov 2015-07-03 10:42:06)

Re: Помощь с проектом - "Реестр договоров"

Ограничение минимального размера окна при установленной функции "Sizeable"- возможно ли такое?

Re: Помощь с проектом - "Реестр договоров"

d.v.aleinikov wrote:

Ограничение минимального размера окна при установленной функции "Sizeable"- возможно ли такое?

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.Constraints.MinWidth := 400;
    Form1.Constraints.MinHeight := 400;
end;
Dmitry.

Re: Помощь с проектом - "Реестр договоров"

Спасибо!

7 (edited by d.v.aleinikov 2015-07-07 14:01:19)

Re: Помощь с проектом - "Реестр договоров"

СКРИПТ ДЛЯ ТАБЛИЦЫ:
Доброго времени суток!
Подскажите пожалуйста скрипт для таблицы (TableGrid) - необходимо, чтобы при двойном щелчке на записи в таблице (например, отображенной в таблице по результатам поиска) запускалась определенная форма, а не та которая задается по умолчанию при назначении действия "редактирование" для кнопки.

Re: Помощь с проектом - "Реестр договоров"

d.v.aleinikov wrote:

Скрипт для таблицы:
Доброго времени суток!
Подскажите пожалуйста скрипт для таблицы (TableGrid) - необходимо, чтобы при двойном щелчке на записи в таблице (например, отображенной в таблице по результатам поиска) запускалась определенная форма, а не та которая задается по умолчанию при назначении действия "редактирование" для кнопки.

так вы можете отключить действие по двойному клику.

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.TableGrid1.dbPopupMenu.Items.Items[0].Enabled := False; 
end;

а так открыть другую форму при двойном клике

procedure Form1_TableGrid1_OnCellDoubleClick (Sender: string; ACol, ARow: Integer);
begin
    Form2.Show;
end;
Dmitry.

Re: Помощь с проектом - "Реестр договоров"

Второй вариант для меня. Но в таком случае высвечивается только пустая форма, а не форма в варианте "показать запись".  Задача в том, чтобы по двойному клику на записи высвечивалась форма, в которой не возможно отредактировать данные. В моем проекте две аналогичные формы: одна с возможностью редактировать данные, а другая - просто для просмотра.
P.S. Может я замудрил и можно открывать одну и туже форму с возможностью редактировать данные и без неё? ))

Re: Помощь с проектом - "Реестр договоров"

d.v.aleinikov
Можно одну и туже.
Просто блокировать кнопку сохранения записи в нужном случае

Form2.ButtonSave.Enabled := False;

приложите пожалуйста свой проект (zip файл без exe и dll), с описанием, какой TableGrid и форма необходима для вызова.

Dmitry.

11 (edited by d.v.aleinikov 2015-07-07 13:01:19)

Re: Помощь с проектом - "Реестр договоров"

Выкладываю.
По двойному клику на записи в таблице "pskTblDogovor", расположенной в форме "frmPoisk", должна запускаться форма "frmDogovor2" (для просмотра выбранной записи).
В проекте функция запуска формы "frmDogovor" для "редактирования" уже отключена. Иначе запускается две формы.

Post's attachments

Attachment icon Reestr.rar 12.99 kb, 468 downloads since 2015-07-07 

12 (edited by d.v.aleinikov 2015-07-07 13:59:51)

Re: Помощь с проектом - "Реестр договоров"

СКРИПТ - ПРОВЕРКА НА ЗАПОЛНЕННОСТЬ "DateTimePicker"

Доброго времени суток! Как прописать проверку на заполненность поля "DateTimePicker":

procedure frmDogovor_knpkAddDog_OnClick (Sender: string; var Cancel: boolean);
begin
    if (frmDogovor.addVidDog.Text='') or (frmDogovor.addKontragent.Text='') or (frmDogovor.addINN.Text='') or (frmDogovor.DateDog.!!!!!!!!!!!!!!) then
        begin
            ShowMessage('Обязательные поля не заполнены!');
            Cancel := True;
            Exit;
        end;
    if (Length(frmDogovor.addINN.Text)<>10) and (Length(frmDogovor.addINN.Text)<>12) then
        begin
            ShowMessage('Не верный ИНН!');
            Cancel := True;
        end;
end;

Re: Помощь с проектом - "Реестр договоров"

d.v.aleinikov
Поправил ваш проект.

Post's attachments

Attachment icon Reestr_fixed.zip 17.77 kb, 455 downloads since 2015-07-07 

Dmitry.

Re: Помощь с проектом - "Реестр договоров"

DriveSoft wrote:

d.v.aleinikov
Поправил ваш проект.

Спасибо. Все работает с небольшой корректировкой)

Post's attachments

Attachment icon Reestr_fixed.rar 13.77 kb, 436 downloads since 2015-07-08 

Re: Помощь с проектом - "Реестр договоров"

поправил баг, который вы описали в предыдущем сообщении но почему то удалили, пока я его исправлял )

Post's attachments

Attachment icon Reestr_fixed2.zip 18.01 kb, 466 downloads since 2015-07-08 

Dmitry.

16 (edited by d.v.aleinikov 2015-07-08 13:50:12)

Re: Помощь с проектом - "Реестр договоров"

DriveSoft wrote:

поправил баг, который вы описали в предыдущем сообщении но почему то удалили, пока я его исправлял )

Просто разобрался в чем дело )). Чем чаще практикуешься в написании скрипта, тем понятнее всё становится.
Кстати, точно так же сделал.