сделал процедуру DoStatus для определения статуса

procedure DoStatus;
begin
    // если есть id записи от task и есть подзадачи
    if (frmTask.btnSave.dbGeneralTableId<>-1) and
       ( SQLExecute('SELECT IFNULL(Count(*),0) FROM subtask WHERE subtask.id_task='+IntToStr(frmTask.btnSave.dbGeneralTableId))>0 ) then
    begin
        frmTask.CheckStatus.Enabled := False; // блокируем изменения статуса вручную
        // если есть подзадачи на КОНТРОЛЕ
        if SQLExecute('SELECT IFNULL(Count(*),0) FROM subtask WHERE subtask.id_task='+IntToStr(frmTask.btnSave.dbGeneralTableId)+' AND subtask.status=1') > 0 then
            frmTask.CheckStatus.Checked := True else frmTask.CheckStatus.Checked := False;

    end else frmTask.CheckStatus.Enabled := True;
end;

если все подзадачи выполнены, может ли задача иметь статус На контроле?


если подзадачи не выполнены, может ли задача считать выполненной?

Когда меняешь статус субзадачи на "НА КОНТРОЛЕ" изменяется статус задачи на главной форме. Когда же статус всех субзадач меняешь на "ВЫПОЛНЕНО" изменения на главной форме не происходит, а должно на главной форме в статусе задачи записаться "ВЫПОЛНЕНО".

У вас просто нет механизма, который менял бы статус CheckBox-а на главной форме frmTask при изменении субзадач на форме frmAddSubTask


Повторюсь, если у вас состояние задачи определяется только состояниями подзадачи, то поле task.status вам просто не нужно.

1. Потому что у вас может измениться этот статус автоматически только в событии формы

procedure frmTask_OnShow (Sender: string; Action: string); 

if frmTask.CheckStatusYes.Checked = True then frmTask.CheckStatus.Checked := True else frmTask.CheckStatus.Checked := False;

т.е. в момент вывода формы frmTask на экран.
Возможно поле task.status вам просто не нужно, т.к. для определения статуса задачи у вас есть выч. поле statusYes



2. Изменить к сожалению пока нельзя.

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


Можно, скачайте пожалуйста эти проекты, в одном реализована видимость только собственных записей, во втором реализована защита от редактирования чужих записей.


пароли у пользователей такие же как и логин, например
логин: manager1
пароль: manager1

tcoton
Please send me your project again to support@drive-software.com

If I understanding correctly you need linked list, here you can file the example:
http://myvisualdatabase.com/forum/viewtopic.php?id=1425

6,733

(2 replies, posted in Russian)

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


сделал для вас пример

6,734

(11 replies, posted in Russian)

kalparik
Для данного отчета необходимо будет использовать SQL запрос, который будет учитывать запчасти как из наборов, так и из единичных запчастей, к сожалению сложно его (sql запрос) сходу написать на абстрактном примере, сначала необходимо реализовать данные наборы в проекте, затем я постараюсь вам помочь с данным отчетом.

6,735

(11 replies, posted in Russian)

kalparik wrote:

Спасибо, большое) А насчет добавления материалов наборами можно что-нибудь придумать?

Можно, необходимо создать еще одну таблицу в БД, в которой вы создадите наборы материалов с необходимыми именами, состоящие из запчастей,

Затем необходима еще одна таблица БД, на подобии partsapp, только для заранее сформированных наборов материалов, т.е. туда будете добавлять уже не запчасти, а готовые наборы для заявки.


К сожалению подобной реализации в качестве примера у меня нет.

inter1292
Дело в том, что перед добавлением номера, автоматически нажимается кнопка "Сохранить запись", т.к. номер не может быть добавлен без сохранения родительской записи. Поэтому и срабатывает событие OnAfterClick


поэтому можно организовать отправку E-mail отдельной кнопкой, либо скачайте проект, поправил чтобы такого не происходило.

inter1292
Поправил кодировку, скачайте пожалуйста бета версию 1.53
https://www.dropbox.com/s/x8fmbj7mycf0u … 3.zip?dl=0

6,738

(23 replies, posted in Russian)

nikolai_nn wrote:

Здравей,
Избирам име  от Form1.TableGrid1 ->Button12(или double click) ->frmApplication
Когато натисна  frmApplication.Button18 искам  да се останат същите записи в "Име(edClient)" , "Телефон(edPhone)","Вид на уреда(cbBrand)
Име и телефон направих ,но cbBrand не мога

попробуйте так

procedure frmApplication_Button18_OnAfterClick (Sender: string; var Cancel: boolean);
begin
    frmApplication.edClient.Text := SQLExecute('SELECT clientname FROM application WHERE id='+IntToStr(Form1.TableGrid1.dbItemID));
    frmApplication.edPhone.Text :=  SQLExecute('SELECT clientphone FROM application WHERE id='+IntToStr(Form1.TableGrid1.dbItemID));
    frmApplication.cbStatus.ItemIndex :=6;
    frmApplication.cbBrand.dbItemID := SQLExecute('SELECT id_brand FROM application WHERE id='+IntToStr(Form1.TableGrid1.dbItemID));
    frmApplication.cbBrand.DoOnChange;
end;

6,739

(11 replies, posted in Russian)

kalparik wrote:

1

На главной форме расположил кнопку "Печать выбранной заявки"

6,740

(11 replies, posted in Russian)

если не получается, можете отправить на support@drive-software.com

6,741

(11 replies, posted in Russian)

Пожалуйста, приложите ваш проект (zip файл без exe и dll)
постараюсь помочь.

6,742

(23 replies, posted in Russian)

nikolai_nn
Пожалуйста, приложите ваш проект и напишите, что именно не работает.

6,743

(3 replies, posted in Russian)

Здесь можете посмотреть, как правильно создавать события:
http://myvisualdatabase.com/help_ru/scr … rview.html


также не удаляйте в конце скрипта блок

begin

end.

6,744

(12 replies, posted in Russian)

Сделал тестовое приложение. Установите галочку "Send test message every 5 seconds." чтобы проект сам каждые 5 сек. отправлял сообщение в чат, и так запустите проект на максимально возможным количестве компьютеров в локальной сети, для тестирования нагрузки.

6,745

(3 replies, posted in Russian)

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


Это можно сделать с помощью скрипта, создав событие OnClick у компонента Panel, пример:

procedure Form1_Panel1_OnClick (Sender: string);
begin
    if Form1.Panel1.Color = clRed then Form1.Panel1.Color := clGreen else Form1.Panel1.Color := clRed;
end;

Данный таймаут говорит о том, что при попытке отправки емейла не удалось соединиться с сервером, проверьте ваши настройки SMTP сервера в функции SendMail, также возможно фаервол на компьютере блокирует соединение.

6,747

(7 replies, posted in General)

jean.brezhonek
You can change only background color of header, example:
http://myvisualdatabase.com/forum/misc. … download=1

Не совсем понял, какой таймаут?

6,749

(12 replies, posted in Russian)

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

6,750

(12 replies, posted in Russian)

К сожалению это не решит проблему, сколько одновременных пользователей планируется?