1

(7 replies, posted in Russian)

Спасибо. Разобрался. Нужно было установить в винде размер текста 100% в параметрах экрана

2

(7 replies, posted in Russian)

такая же беда на разрешении 3840х2960 текст размыт в других программах все нормально.

в названии диалогового окна со шрифтом такой проблемы нет. 6й шрифт размывает еле разберешь.  Шрифты пробовал менять - не помогает.
Куда двигаться с этой проблемой?

Спасибо  все работает )

Вот есть такое выражение в вычисляемом поле. Подскажите как правильно даты сравнить в комбинации с вещественным числом?

CASE
   WHEN date('now')+ 'round(((таб1.поле1(вещ число) - таб1.поле2(вещ число)) * (таб1.поле3(вещ число) + таб1.поле4(вещ число))/612)day' >= date(таб1.поле5(Дата)) THEN 'ДА'           
   ELSE 'НЕТ'                                 
END

Заработало так:

procedure frmEkran_OnClose (Sender: TObject; Action: string);
var  vi, vc1, vc2, vc3, vc4, vc5, vc6, vc7,: integer;
begin
  vc1 := frmEkran.tablegrid1.RowCount-1;
    for vi := 0 to vc1 do
begin
    sqlexecute('update tabtehproc set mysort = ("'+frmEkran.tablegrid1.cells[9,vi]+'") where id =' +inttostr(frmEkran.tablegrid1.dbindextoid(vi)));
end;
begin
  vc2 := frmEkran.tablegrid2.RowCount-1;
    for vi := 0 to vc2 do
begin
    sqlexecute('update tabtehproc set mysort = ("'+frmEkran.tablegrid2.cells[9,vi]+'") where id =' +inttostr(frmEkran.tablegrid2.dbindextoid(vi)));
end;
end;

А как будет выглядеть этот скрипт,

procedure Form1_OnClose (Sender: string; Action: string);
var  vc, vi: integer;
begin
  vc := form1.tablegrid1.RowCount-1;
  for vi := 0 to vc do
    begin
      sqlexecute('update people set mysort = ("'+form1.tablegrid1.cells[3,vi]+'") where id =' +inttostr(form1.tablegrid1.dbindextoid(vi)));
    end;
end;

если на форме более одного TableGrid, а данные  из одной таблицы фильтруются в каждом TableGrid, ну и что еще изменится?

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

Спасибо derek.  Разобрался с проблемой. Я работал с другой таблицей, где ID были общие.

Дмитрий по поводу Новой версии 4.5 бета, пока не разобрался, если будет время посмотрите почему крашит.

Ошибка появляется в моем проекте приложил его

Здравствуйте Дмитрий в новой версии 4.5 бета крашит проект ошибкой access violation
если отключить скрипты запускается нормально.

И при перетаскивании слайда выдает
"Could not convert variant of type (UnicodeString) into type (Boolean)"


Для Дерека
Попробовал ваш вариант. не работает в моем случае. Возможно из за связанных таблиц.

Здравствуйте подскажите можно ли сохранить в TableGrid строки расставленные вручную?. В свойствах компонента есть опция goRowMoving, которая позволяет перемещать и устанавливать строки в ручную. При закрытии и открытии формы расстановка сбрасывается и сортируется классически.
KeepUsertSort попробовал -не работает. Как можно это реализовать?

11

(5 replies, posted in Russian)

Спасибо большое все работает

12

(5 replies, posted in Russian)

можно на примере простого склада реализовать, думаю разберусь если он заработает
проект склада с моей попыткой

13

(5 replies, posted in Russian)

извиняюсь сейчас прикреплю


на картинке не все видно в скрипте

frmPrihodRashod.combobox1.dbItemID := SQLExecute ('SELECT IFNULL(product.productname, -1)FROM product WHERE id = ' + IntToStr(form1.GridTovar.dbItemID) );

Добрый день помогите с таким вопросиком.


На примере простого склада пытаюсь сделать  добавление товара в приход/расход путем выбора его из грида.

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


Я уже всяко химичил со скриптом. Хэх Сдаюсь! Может вы чем поможете.

На картинке скрипт и ошибка.

15

(3 replies, posted in Russian)

Извиняюсь Дмитрий а с первым вопросом можете помочь? Попробую более конкретнее описать. Можно както искать одним комбобоксом связи из разных полей?

16

(3 replies, posted in Russian)

Приветствую ребята!

Подскажите, или помогите с решением, может кто сталкивался с подобным.

Есть очень емкий проект. Выкладываю краткое его применение.

(описание)
Проект для производства механообработки.
на станках работают наладчики, допустим 2 человека, в смену делают разные детали, допустим на 3х разных станках.
в смене 600 минут рабочего времени и есть нормы времени на каждую деталь.
Необходимо рассчитывать выработку наладчиков в смену на каждом станке и зарплату.
Также необходимо вести записи количества сделанных деталей,
потому как, в проекте учитывается все: брак, исправленный брак, время наладки станка, простоя, освоения новых деталей и прочее прочее.

Не получается осуществить следующее:
    1) На форме добавления записи наладчиком 2 комбобокса в которые он вносит свою фамилию и напарника, количество деталей которое они сделали, дату  и на каком станке делали детали.
все фамилии наладчиков хранятся в словаре, таблица.поле -( tab_naladchik.naladchik).
все данные с формы сохраняются в таблицу tab_zhurnal. В таблице tab_zhurnal 2 связи с таблицей
наладчиков id_tab_naladchik [tab_naladchik] и id_tab_naladchik1 [tab_naladchik] и создано вычисляемое поле calcnaladchik

(SELECT tab_naladchik.naladchik FROM tab_naladchik WHERE tab_naladchik.id=tab_zhurnal.id_tab_naladchik1)


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



  2) Расчет выработки .Эту задачу я вообще не имею представления как решить.
расчет ведется так: количество сделанных деталей умножается на время обработки деталей и делится на фонд времени и умножить на 100% .

Необходимо видеть в ТэйблГрид выработку за всю смену на одном станке
Наладчик сохраняет запись подетально, т.е. он в день может делать 2 или 3 разных детали на одном станке и столько же записей.
и на каждую деталь у него в расчете будет фонд времени 600 минут
тогда получится, что на каждую деталь у него низкая выработка, но в сумме за всю смену работы она будет 100%
Каким образом можно просматривать сумму выработки.
Возможно это будет еще один tableGrid с SQL-запросом, где каким-то образом будет учитываться связь даты станка и работников
или надо какойто идентификатор для каждой записи, например Ставить галочку на форме записи бригада 1 или бригада 2, чтобы различать записи разных смен и както сравнивать id станков и дату.

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=2630&preview&secure_str=1149t2928
3) Ну и 3 задачка наверно она вытечет из решения задачи 2
Еще есть ТэйблГрид с Планом заказов
Там отображается информация о том какая деталь будет делаться на каком станке и установлена партия.
Необходимо как-то вычленять информацию из записей наладчиков сколько они деталей сделали и  в Плане заказов отображать остаток деталей до конца партии.
     Пожалуйста у кого какие мысли есть как это проще или удобнее реализовать пишите, готов испробовать все.