Последняя версия DataExpress 3 beta от 11 августа 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

План

Раздел для обсуждения и помощи в процессе разработки баз данных пользователей.
Kort
Интересующийся
Сообщения: 97
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: План

Сообщение Kort » Ср ноя 29, 2017 12:20 pm

Угу понятно спасибо,я не догадался так сделать :( А зачем отдельно Индекс_ключ ? Можно же просто Индекс|Индекс использовать? Он же и так уникальный. Индекс деталей не должен повторяться.

По идее операций на каждой детали не более 15-20 ну и деталей в плане штук 20-40...думаю не сильно туго будет для базы обработка таким образом?

З.Ы. Надо еще модуль замутить с Диаграмой Ганта....и можно будет реальное планирование делать и ERP системы полноценно мутить для предприятий, логистики и т.п

Аватара пользователя
admin
Разработчик
Сообщения: 3659
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: План

Сообщение admin » Ср ноя 29, 2017 1:39 pm

Kort писал(а):А зачем отдельно Индекс_ключ ? Можно же просто Индекс|Индекс использовать?

Потому что в DBGET данные фильтруются по объекту [!Индекс], а ему надо ID. Можно немного оптимизировать вычисления, если в справочнике деталей указать количество операций и извлекать это поле в запросе, а в вычисляемых полях написать условие IIF([количество операций]>=N, DBGET(...), null), где N - номер операции.

Еще я заметил в ваших формах выражения типа: [Объект|Поле объекта]. Можно просто использовать компонент "Поле объекта", а если надо редактировать, то свойство объекта "Вставить значения". Так будет оптимальнее, потому что обращение к полю объекта в выражении это запрос к базе. Если использовать "Вставить значения", то программа делает один запрос сразу для группы полей.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

Re: План

Сообщение YurAnt » Ср ноя 29, 2017 2:18 pm

Kort писал(а):Минус только в том что нельзя посреди текста вставить, вставляет в конце.

Действие:
Вставка текста в поле(action_epas).zip
(1021 байт) 27 скачиваний

Изображение

Kort
Интересующийся
Сообщения: 97
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: План

Сообщение Kort » Ср ноя 29, 2017 6:23 pm

Супер! Разобрался. Честно с начало не допонял как работает. Получаеться в первой строке можно вставить любой текст, во второй любое выражение или результат выражения а третьей текст с самой кнопки. И не забыть вверху выбрать поле....что я и забыл сделать :D

Кстати а можно ли сделать так чтобы в любое поле на форме вставляло? Или перечень полей? Функция может все поля сама в себя загнать чтоб работать в любом поле на форме которое в данный момент с курсором?

Kort
Интересующийся
Сообщения: 97
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: План

Сообщение Kort » Ср ноя 29, 2017 6:42 pm

admin писал(а):
Kort писал(а):Еще я заметил в ваших формах выражения типа: [Объект|Поле объекта]. Можно просто использовать компонент "Поле объекта", а если надо редактировать, то свойство объекта "Вставить значения". Так будет оптимальнее, потому что обращение к полю объекта в выражении это запрос к базе. Если использовать "Вставить значения", то программа делает один запрос сразу для группы полей.


Не могу осознать :shock: Если использовать компонент "Поле обьекта" там же можно только вставить значение из поля которое уже есть в форме...а "Обьект" позволяет взять данные с другой таблицы...Или как раз советуете вместо "Поле обьекта" использовать "Обьект" но для его предварительного заполнения использовать "Вставить значение" ??

Я использую "Обьект" чтобы вставлять значения из других таблиц, а "Поле обьекта" использую что бы согласно выбраному значению подхватились соседние значения из таблицы....

В моем случае у меня как уникальное значение идет Индекс детали но оно всегда сопровождаеться наименованием...т.к. по самому индексу никто не поймет что за деталь. Поэтому я "Обьектом" хватаю индекс, а название подхватываю "Полем обьекта" Или хватаю оборудование и "полем обьекта" индекс этого оборудования.


P.S. Единственное что возможно хотелось бы чтобы можно было выбрать "наименвоание", а потом "индес"(остались бы только те что подходят по наименование). Так как индекс уникален(его в любом случае надо указать), а наименования могут быть одинаковы для разных индексов....но чаще всего ты как раз знаешь наименвоание но индекс в упор не помнишь...он же заковыристый из цыфр обычно. Но чтобы и при указании индекса поле наименование автозаполнилось....взаимная фильрация полей даст такое но выбрать все равно придеться из списка же.

Аватара пользователя
admin
Разработчик
Сообщения: 3659
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: План

Сообщение admin » Ср ноя 29, 2017 6:55 pm

Kort писал(а):В моем случае у меня как уникальное значение идет Индекс детали но оно всегда сопровождаеться наименованием...т.к. по самому индексу никто не поймет что за деталь. Поэтому я "Обьектом" хватаю индекс, а название подхватываю "Полем обьекта" Или хватаю оборудование и "полем обьекта" индекс этого оборудования.

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

Kort писал(а):P.S. Единственное что возможно хотелось бы чтобы можно было выбрать "наименвоание", а потом "индес"(остались бы только те что подходят по наименование).

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

Kort
Интересующийся
Сообщения: 97
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: План

Сообщение Kort » Чт ноя 30, 2017 12:05 pm

Если интересно, получилось пока вот так
Изображение

Но вот с диаграммой ганта былобы еще лучше :D


З.Ы. Почему у меня в этой форме внутри талиц запросов есть великолепная кнопка "Перейти" и я могу прыгнуть в тех процес или к детали....А вот в форме Детали...вроде тоже форма состоит из дерева+формы с запросом...нотам по правой клавише только есть "Обновить" а перейти, посмотреть и т.п нету :(

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

Re: План

Сообщение YurAnt » Чт ноя 30, 2017 12:46 pm

Kort писал(а):А вот в форме Детали...вроде тоже форма состоит из дерева+формы с запросом...нотам по правой клавише только есть "Обновить" а перейти, посмотреть и т.п нету :(

Это потому, что "Детали" состоит из нескольких источников. Тут есть вариант решения.

Замените в модуле формы "Запрос_2_источника" код на этот:
upd:30.11.17_13:06

Код: Выделить всё

procedure Click(S:TObject);
var
  FN:String;
  ID,RN:Integer;
  Fm:TdxForm;
  G:TdxQueryGrid;
begin
G:=TdxQueryGrid(S);
if g.eof then exit;
RN:=G.RecNo;
FN:=G.Ass['ИмяФормы'];
ID:=G.Asi['ID'];
try
FM:=CreateForm(FN);
FM.OpenRecord(ID);
if Fm.CanEdit<>asLocked then
Fm.Edit;
if FM.EditWindow.ShowModal=mrOK then
  begin
    FM.Post
    ID:=G.RecNo;
    G.Refresh;
    G.MoveBy(ID-1);
  end
else
  FM.cancel;
finally
  DestroyForm(FM);
end;
end;

procedure OnKey(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if (Key=13) or (Key=32) then
  Click(Sender);
end;

procedure Form_Create;
begin
 dxQueryGrid1.OnDblClick:=@Click;
 dxQueryGrid1.OnKeyDown:=@OnKey;
end;

Kort
Интересующийся
Сообщения: 97
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: План

Сообщение Kort » Чт ноя 30, 2017 1:10 pm

Спасибо. Честно просто убрал второй источник, он всеравно не нужен был. Давно воял, молодо зелено :)

Аватара пользователя
admin
Разработчик
Сообщения: 3659
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: План

Сообщение admin » Чт ноя 30, 2017 1:14 pm

Kort писал(а):Но вот с диаграммой ганта былобы еще лучше

Прямо гант вряд ли, а вот вместо номеров операций дни вполне реально хотя бы в ограниченном диапазоне. Техника та же.