26

(2 replies, posted in Russian)

Сделал так:

iCol := 5;
     While iCol <= c do
       begin
          for iRow := 0 to r do
            if  (datato.TableGrid3.Cells[iCol,iRow])<> '' then
              begin
                 if (datato.TableGrid3.Cells[iCol,iRow])= '1' then datato.TableGrid3.Cell[iCol+1,iRow].Color := clGreen else datato.TableGrid3.Cell[iCol+1,iRow].Color := clYellow ;
              end;
         iCol := iCol+4;
       end;

27

(2 replies, posted in Russian)

Кто подскажет? Как сделать что бы значение iCol шло с шагом 4

for iCol := 5 to c do

Мой скрипт:

procedure Form1_Button74_OnAfterClick (Sender: string);

var
    sFile: string;
    sDest: string;
    sName: string;
    sRas: string;

begin
if Form1.CheckBox5.Checked = True then
        begin
           sFile := Form1.frxPDFExport1.FileName;
           sName := ''+FormatDateTime('YYYYMMDD_hhmm', now)+'' ;
           sRas := '.pdf';
           sDest := 'Рayments\'+FormatDateTime('YYYY-MM-DD', now)+'\';

          if ForceDirectories(sDest) then
            begin
             CopyFile(sFile, sDest+sName+sRas);
             OpenFile(sDest+sName+sRas); // if you want open file
            end;

            DeleteFile(sFile);

      end;
end;

Ещё вопрос. Как сделать выбор папки сохранения? Диалог TSaveDialog необходимо указывать имя файла что бы вернуть путь

Опробовал скрипт и заметил интересную вещь - если акробат уже запущен то всё срабатывает на отлично (у меня сохраняет в pdf), а если нет то выходит ошибка (во вложении)

Спасибо, по предыдущей ссылке скачивалась 4.02

В понедельник

Так и осталось

В принципе работает такой скрипт:

procedure dogovor_TableGrid1_OnCellDoubleClick (Sender: string; ACol, ARow: Integer);
var
   s: string;
begin

     s := SaveFileFromDataBase('scandog', 'scan', dogovor.TableGrid1.dbItemID);
     OpenFile(s);
end;

но, выскакивает надоедливый запрос

Уже проверил - содержит полный путь откуда файл был сохранен в базу

Напишу здесь же.
Пробовал как в примере:

procedure dogovor_TableGrid1_OnCellDoubleClick (Sender: string; ACol, ARow: Integer);
var
    FileName: string;
begin
    FileName := SQLExecute('SELECT scan_filename FROM scandog WHERE id='+dogovor.TableGrid1.sqlValue);
    FileName := ExtractFileDir(Application.ExeName)+FileName;
    if FileExists(FileName) then OpenFile(FileName);
end;

ни какой реакции. В чем может быть проблема?

Да, запрет на открытие формы по двойному клику естественно прописал тоже.

37

(11 replies, posted in Russian)

Вопрос закрыт. Разобрался

38

(11 replies, posted in Russian)

Ещё вопрос - как мне связать таблицы через одну? Значение я получаю через вычислительное поле:

(SELECT user.user FROM user WHERE user.id=dogovor.id_user) AS 'dogovor.user_calc',

основная таблица с которой формирую отчет напрямую связана только с таблицей dogovor

LEFT OUTER JOIN dogovor ON buh_doc.id_dogovor=dogovor.id   

но мне необходимо сделать окончательную фильтрацию по полю user.user примерно так:

WHERE buh_doc.datapay={MonthCalendar1} AND buh_doc.pay=0 AND user.user = {Edit5}

Как мне прописать LEFT OUTER JOIN ?

39

(11 replies, posted in Russian)

Спасибо, разобрался

40

(11 replies, posted in Russian)

Используется

FROM buh_doc
LEFT OUTER JOIN dogovor ON buh_doc.id_dogovor=dogovor.id                     
LEFT OUTER JOIN block ON buh_doc.id_block=block.id
LEFT OUTER JOIN currency ON buh_doc.id_currency=currency.id

WHERE buh_doc.datapay={MonthCalendar1} AND buh_doc.pay="0"       

?

41

(11 replies, posted in Russian)

Условие buh_doc.pay работает в вариантах 0 и "Нет". А вот  условие block.block= не работает. Только строка

(SELECT SUM(summa)  FROM buh_doc
WHERE buh_doc.datapay={MonthCalendar1} AND block.block="А" AND buh_doc.pay="НЕТ") AS 'buh_doc.datapayA'

работает, но выдает общую сумму а не сумму блока А как задумывалось. От переноса очередности строк ничего не зависит

42

(11 replies, posted in Russian)

вкладка "К оплате -> на неделю -> выбрать дату на календаре, Button7 (шаблон platezh_week)

43

(11 replies, posted in Russian)

Проект на MySQL. Пароль на вход -  %

44

(11 replies, posted in Russian)

В программе формируется SQL отчет:

SELECT DISTINCT
dogovor.nomer AS `dogovor.nomer`,
dogovor.data AS `dogovor.data`,
(SELECT kontr.name FROM kontr WHERE kontr.id=dogovor.id_kontr) AS 'dogovor.kontr',
(SELECT rashod.vid FROM rashod LEFT OUTER JOIN statya ON statya.id_rashod=rashod.id WHERE statya.id=dogovor.id_statya ) AS 'dogovor.stat',
(SELECT statya.st FROM statya WHERE statya.id=dogovor.id_statya ) AS 'dogovor.stat_calc',
(SELECT user.user FROM user WHERE user.id=dogovor.id_user) AS 'dogovor.user_calc',
buh_doc.vid AS `buh_doc.vid`,
buh_doc.nomer AS `buh_doc.nomer`,
buh_doc.data AS `buh_doc.data`,                                                         
buh_doc.summa AS `buh_doc.summa`,
buh_doc.datapay AS `buh_doc.datapay`,
buh_doc.pay AS `buh_doc.pay`,
currency.curr AS `currency.curr`,
dogovor.usl_opl AS `dogovor.usl_opl`,
(SELECT block.block FROM block WHERE buh_doc.id_block=block.id)  AS `block.block`,


(SELECT SUM(summa)  FROM buh_doc
WHERE buh_doc.datapay={MonthCalendar1} AND block.block="В" AND buh_doc.pay="НЕТ") AS 'buh_doc.datapayB', 
   
(SELECT SUM(summa)  FROM buh_doc
WHERE buh_doc.datapay={MonthCalendar1} AND block.block="Н" AND buh_doc.pay="НЕТ") AS 'buh_doc.datapayH',               
   
(SELECT SUM(summa)  FROM buh_doc
WHERE buh_doc.datapay={MonthCalendar1} AND block.block="А" AND buh_doc.pay="НЕТ") AS 'buh_doc.datapayA'
                                                                           
FROM buh_doc
LEFT OUTER JOIN dogovor ON buh_doc.id_dogovor=dogovor.id                     
LEFT OUTER JOIN block ON buh_doc.id_block=block.id
LEFT OUTER JOIN currency ON buh_doc.id_currency=currency.id

WHERE buh_doc.datapay={MonthCalendar1} AND buh_doc.pay="НЕТ"         


Не работают строки:

(SELECT SUM(summa)  FROM buh_doc
WHERE buh_doc.datapay={MonthCalendar1} AND block.block="В" AND buh_doc.pay="НЕТ") AS 'buh_doc.datapayB', 
   
(SELECT SUM(summa)  FROM buh_doc
WHERE buh_doc.datapay={MonthCalendar1} AND block.block="Н" AND buh_doc.pay="НЕТ") AS 'buh_doc.datapayH',               
   
(SELECT SUM(summa)  FROM buh_doc
WHERE buh_doc.datapay={MonthCalendar1} AND block.block="А" AND buh_doc.pay="НЕТ") AS 'buh_doc.datapayA'

Поправьте меня, что я делаю не так.

45

(7 replies, posted in Russian)

Есть форма ввода, на ней таблгрид связанной таблицы (тип связи на скрине выше). При заполнении основной формы мне необходимо импортировать данные(спецификацию) скриптом в связанную таблицу. Импорт проходит нормально, но связь с основной таблицей отсутствует отсутствует.

46

(7 replies, posted in Russian)

импорт происходит в связанную таблицу. Но после импорта отсутствует связь с основной таблицей (при сохранении не генерируется id_create)

47

(7 replies, posted in Russian)

Интересует id_create. На форме create есть таблгрид привязанный к другой таблице (specif). На сколько я понял при нажатии кнопки добавить основные данные создают запись в таблице create и при создании записи в таблице specif создается запись с соответствующим id_create. При импорте тогда необходимо сохранить основную запись с хотя бы одной записью в таблице specif, открыть запись заново, считать id_create и при импорте подставить его в импортируемые данные. Хотелось сделать процесс импорта по проще.
Во вложении структура этого куска базы.

48

(7 replies, posted in Russian)

При создании записи необходимо импортировать данные в таблицу связанную с основной. Как при импорте внести id связи если сама запись еще не внесена в базу (id по факту еще не существует). Вопрос туманен по этому прикладываю проект (MySQL)

49

(5 replies, posted in Russian)

DriveSoft wrote:
ZBear wrote:

Как сделать чтобы в гриде время отображалось в формате HH:MM (без секунд)

Если используете MySQL, тогда можно отформатировать время с помощью вычисляемого поля вида

DATE_FORMAT(timefield,"%H:%i")

1.Можно пример?
2.Проект во вложении. Запуск->часовая->добавить

50

(5 replies, posted in Russian)

Добавлю сюда же. Создаю запись, есть поле Дата и поле Время. После редактирования запись Дата пропадает из грида. Версия программы 2.8, 3.3 выдает ошибку (во вложении). Прикладывать проект думаю смысла нет т.к. он на MySQL