VsMoroz / account-buh-documents

Automatically exported from code.google.com/p/account-buh-documents
0 stars 0 forks source link

Фильтры отображения введенных документов в разовых и ежемесячных документах #25

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Здесь будет перечень фильтров ( выпадающий 
список в верхнем правом углу) и ссылки на 
issue где мы их будем реализовывать по одному

Original issue reported on code.google.com by rf40...@gmail.com on 17 Nov 2014 at 8:36

GoogleCodeExporter commented 9 years ago
Добавь пожайлуста в список фильтров (в 
список который выпадает при нажатии на 
меню в правом верхнему углу )  строку 
"Документы копии", и убери строку 
"Оплаченные"

Спасибо.

Original comment by rf40...@gmail.com on 25 Nov 2014 at 6:08

GoogleCodeExporter commented 9 years ago
Выполнил, v1.01.11

Original comment by panche...@gmail.com on 26 Nov 2014 at 6:36

GoogleCodeExporter commented 9 years ago
Измени список фильтров на такой:

Все
Бух.задолженность tab.access.nik(того кто 
залогинен)
Все бух.задолженности
Документы копии

Original comment by rf40...@gmail.com on 29 Nov 2014 at 4:56

GoogleCodeExporter commented 9 years ago
Для построения отчетов 
"Бух.задолженность tab.access.nik(того кто 
залогинен)" и 
"Все бух.задолженности" используй ниже 
приведенный запрос:

Для разовых @tdocum=2, для ежемесячных @tdocum=1

Для "Все бух.задолженности" @nPerson = '%' для 
"Бух.задолженность tab.access.nik" @nPerson = 'tab.access.id 
того кто залогинен'

SET @tdocum=2;
SET @nPerson = '%';
SELECT 
tbl.NameOfPartner,tbl.invoice,tbl.certificate,tbl.tax_bill,tbl.id_inv,tbl.id_cer
t,tbl.id_txBill,tbl.ts
FROM  ((SELECT BdGetNameOfPartner ("z_tab_invoice",`z_tab_invoice`.`id`) AS 
NameOfPartner ,BdGetChetInfo (`z_tab_invoice`.`id`) AS invoice, 
        BdGetAktInfo (`z_tab_certificate`.`id_certif`) AS certificate, BdGetNnInfo (`z_tab_tax_bill`.`id`) AS tax_bill,
        `z_tab_invoice`.`id` AS id_inv,`z_tab_certificate`.`id_certif` AS id_cert,`z_tab_tax_bill`.`id` AS id_txBill,`z_tab_invoice`.`timestamp` AS ts,
        tab_klients.noNds as nds
FROM `z_tab_invoice` 
LEFT JOIN `z_tab_certificate` ON 
`z_tab_invoice`.`id`=`z_tab_certificate`.`num_invoice`
LEFT JOIN `z_tab_tax_bill` ON  
`z_tab_invoice`.`id`=`z_tab_tax_bill`.`num_invoice`
LEFT JOIN `z_connecttable` ON 
`z_tab_invoice`.`num_dogovor`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE z_tab_invoice.type_docum = @tdocum AND `z_connecttable`.`tab_a` like 
'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' AND 
z_tab_invoice.responsible like @nPerson )
UNION ALL
(SELECT BdGetNameOfPartner 
("z_tab_certificate",`z_tab_certificate`.`id_certif`),'...',BdGetAktInfo 
(`z_tab_certificate`.`id_certif`),'...',
       NULL,`z_tab_certificate`.`id_certif`, NULL,`z_tab_certificate`.`timestamp`,tab_klients.noNds as nds
FROM `z_tab_certificate` 
LEFT JOIN `z_connecttable` ON 
`z_tab_certificate`.`dogovor`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE `num_invoice` ='0' AND type_docum =@tdocum AND `z_connecttable`.`tab_a` 
like 'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' AND 
z_tab_certificate.respons like @nPerson)
UNION ALL
(SELECT BdGetNameOfPartner 
("z_tab_tax_bill",`z_tab_tax_bill`.`id`),'...','...',BdGetNnInfo 
(`z_tab_tax_bill`.`id`),
        NULL, NULL,`z_tab_tax_bill`.`id`, `z_tab_tax_bill`.`timestamp`,tab_klients.noNds as nds
FROM `z_tab_tax_bill` 
LEFT JOIN `z_connecttable` ON 
`z_tab_tax_bill`.`dogovor`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE `num_invoice` ='0' AND type_docum = @tdocum AND `z_connecttable`.`tab_a` 
like 'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' AND 
z_tab_tax_bill.response like @nPerson)
ORDER by ts DESC) tbl
WHERE tbl.invoice like '...' or tbl.certificate like '...' or (tbl.tax_bill 
like '...' AND tbl.nds ='0');

Original comment by rf40...@gmail.com on 30 Nov 2014 at 5:05

GoogleCodeExporter commented 9 years ago
Для построения отчета "Документы копии" 
используй ниже приведенный запрос:

SET @tdocum=2;
SET @copyNonCopy='Копия';
(SELECT BdGetNameOfPartner ("z_tab_invoice",`z_tab_invoice`.`id`) AS 
NameOfPartner ,BdGetChetInfo (`z_tab_invoice`.`id`) AS invoice, 
        BdGetAktInfo (`z_tab_certificate`.`id_certif`) AS certificate, BdGetNnInfo (`z_tab_tax_bill`.`id`) AS tax_bill,
        `z_tab_invoice`.`id` AS id_inv,`z_tab_certificate`.`id_certif` AS id_cert,`z_tab_tax_bill`.`id` AS id_txBill,`z_tab_invoice`.`timestamp` AS ts
FROM `z_tab_invoice` 
LEFT JOIN `z_tab_certificate` ON 
`z_tab_invoice`.`id`=`z_tab_certificate`.`num_invoice`
LEFT JOIN `z_tab_tax_bill` ON  
`z_tab_invoice`.`id`=`z_tab_tax_bill`.`num_invoice`
WHERE z_tab_invoice.type_docum = @tdocum AND z_tab_invoice.inv_copy_or_orig 
like @copyNonCopy)

ORDER by ts DESC;

Original comment by rf40...@gmail.com on 30 Nov 2014 at 5:33

GoogleCodeExporter commented 9 years ago
выполнил, v1.01.15

Original comment by panche...@gmail.com on 1 Dec 2014 at 12:24

GoogleCodeExporter commented 9 years ago
Изменение в построении отчета о 
задолженностях:

Для построения отчетов 
"Бух.задолженность tab.access.nik(того кто 
залогинен)" и 
"Все бух.задолженности" используй ниже 
приведенный запрос:

Для разовых @tdocum=2, для ежемесячных @tdocum=1

Для "Все бух.задолженности" @nPerson = '%' для 
"Бух.задолженность tab.access.nik" @nPerson = 'tab.access.id 
того кто залогинен'

Изменение только в последней строчке:
Вместо: WHERE tbl.invoice like '...' or tbl.certificate like '...' or 
(tbl.tax_bill like '...' AND tbl.nds ='0');
Стало: WHERE tbl.invoice like '...' or tbl.certificate like '...' or 
(tbl.tax_bill like '...' AND tbl.nds ='0' AND ts < '2015-01-01 00:00:00');

SET @tdocum=2;
SET @nPerson = '%';
SELECT 
tbl.NameOfPartner,tbl.invoice,tbl.certificate,tbl.tax_bill,tbl.id_inv,tbl.id_cer
t,tbl.id_txBill,tbl.ts
FROM  ((SELECT BdGetNameOfPartner ("z_tab_invoice",`z_tab_invoice`.`id`) AS 
NameOfPartner ,BdGetChetInfo (`z_tab_invoice`.`id`) AS invoice, 
        BdGetAktInfo (`z_tab_certificate`.`id_certif`) AS certificate, BdGetNnInfo (`z_tab_tax_bill`.`id`) AS tax_bill,
        `z_tab_invoice`.`id` AS id_inv,`z_tab_certificate`.`id_certif` AS id_cert,`z_tab_tax_bill`.`id` AS id_txBill,`z_tab_invoice`.`timestamp` AS ts,
        tab_klients.noNds as nds
FROM `z_tab_invoice` 
LEFT JOIN `z_tab_certificate` ON 
`z_tab_invoice`.`id`=`z_tab_certificate`.`num_invoice`
LEFT JOIN `z_tab_tax_bill` ON  
`z_tab_invoice`.`id`=`z_tab_tax_bill`.`num_invoice`
LEFT JOIN `z_connecttable` ON 
`z_tab_invoice`.`num_dogovor`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE z_tab_invoice.type_docum = @tdocum AND `z_connecttable`.`tab_a` like 
'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' AND 
z_tab_invoice.responsible like @nPerson )
UNION ALL
(SELECT BdGetNameOfPartner 
("z_tab_certificate",`z_tab_certificate`.`id_certif`),'...',BdGetAktInfo 
(`z_tab_certificate`.`id_certif`),'...',
       NULL,`z_tab_certificate`.`id_certif`, NULL,`z_tab_certificate`.`timestamp`,tab_klients.noNds as nds
FROM `z_tab_certificate` 
LEFT JOIN `z_connecttable` ON 
`z_tab_certificate`.`dogovor`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE `num_invoice` ='0' AND type_docum =@tdocum AND `z_connecttable`.`tab_a` 
like 'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' AND 
z_tab_certificate.respons like @nPerson)
UNION ALL
(SELECT BdGetNameOfPartner 
("z_tab_tax_bill",`z_tab_tax_bill`.`id`),'...','...',BdGetNnInfo 
(`z_tab_tax_bill`.`id`),
        NULL, NULL,`z_tab_tax_bill`.`id`, `z_tab_tax_bill`.`timestamp`,tab_klients.noNds as nds
FROM `z_tab_tax_bill` 
LEFT JOIN `z_connecttable` ON 
`z_tab_tax_bill`.`dogovor`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE `num_invoice` ='0' AND type_docum = @tdocum AND `z_connecttable`.`tab_a` 
like 'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' AND 
z_tab_tax_bill.response like @nPerson)
ORDER by ts DESC) tbl
WHERE tbl.invoice like '...' or tbl.certificate like '...' or (tbl.tax_bill 
like '...' AND tbl.nds ='0' AND ts < '2015-01-01 00:00:00');

Original comment by rf40...@gmail.com on 29 Mar 2015 at 5:30

GoogleCodeExporter commented 9 years ago
Выполнил, v1.01.47

Original comment by panche...@gmail.com on 30 Mar 2015 at 12:53

GoogleCodeExporter commented 9 years ago
Спасибо, теперь поработаем над отчетом о 
задолженностях в ежемесячных документах.
Принцип такой группируем документы по 
договору + месяц+ год за который 
оплачиваются услуги если сумма счетов за 
этот период равна сумме актов - это не долг.
Если сумма не равна - это долг.

В счете присутствует информация о месяце и 
дате за который выставлен этот счет.
В акте присутствует дата акта - это и есть 
период который закрывае этот акт.

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

Original comment by rf40...@gmail.com on 30 Mar 2015 at 9:44

GoogleCodeExporter commented 9 years ago

Original comment by rf40...@gmail.com on 30 Mar 2015 at 9:51

GoogleCodeExporter commented 9 years ago
Прошу реализовать в программа, запросы 
выдает такое же количество полей как и 
ранее:
Запрос для рассчета задолженности перед 
бухгалтерией по ЕЖЕМЕСЯЧНЫМ документам:

Для фильтров:
"Бух.задолженность tab.access.nik(того кто 
залогинен)" и 
"Все бух.задолженности" используй ниже 
приведенный запрос:

Для ежемесячных @tdocum=1

Для "Все бух.задолженности" @nPerson = '%' для 
"Бух.задолженность tab.access.nik" @nPerson = 'tab.access.id 
того кто залогинен'

SET @tdocum=1;
SET @nPerson = '%';
SELECT 
tbl.NameOfPartner,tbl.invoice,tbl.certificate,tbl.tax_bill,tbl.id_inv,tbl.id_cer
t,tbl.id_txBill,tbl.ts
FROM  ((SELECT BdGetNameOfPartner ("z_tab_invoice",`z_tab_invoice`.`id`) AS 
NameOfPartner ,BdGetChetInfo (`z_tab_invoice`.`id`) AS invoice, 
        BdGetAktInfo (`z_tab_certificate`.`id_certif`) AS certificate, BdGetNnInfo (`z_tab_tax_bill`.`id`) AS tax_bill,
        `z_tab_invoice`.`id` AS id_inv,`z_tab_certificate`.`id_certif` AS id_cert,`z_tab_tax_bill`.`id` AS id_txBill,`z_tab_invoice`.`timestamp` AS ts,
        tab_klients.noNds as nds,
        (SELECT SUM(podInv.`summa`)  
        FROM `z_tab_invoice` podInv 
        WHERE podInv.`type_docum` = z_tab_invoice.type_docum AND podInv.`num_dogovor` = z_tab_invoice.`num_dogovor` AND 
        podInv.`month_pay` = z_tab_invoice.`month_pay` AND podInv.`year_pay`= z_tab_invoice.`year_pay`)  as sumInv, 
        (SELECT SUM(podCertf.`certif_pay`)  
        FROM `z_tab_certificate` podCertf 
        WHERE podCertf.`type_docum` = z_tab_invoice.type_docum AND podCertf.`dogovor`= z_tab_invoice.`num_dogovor` AND 
        MONTH(podCertf.`dt_certif`) = z_tab_invoice.`month_pay` AND YEAR(podCertf.`dt_certif`)= z_tab_invoice.`year_pay`) as sumCert 
FROM `z_tab_invoice` 
LEFT JOIN `z_tab_certificate` ON 
`z_tab_invoice`.`id`=`z_tab_certificate`.`num_invoice`
LEFT JOIN `z_tab_tax_bill` ON  
`z_tab_invoice`.`id`=`z_tab_tax_bill`.`num_invoice`
LEFT JOIN `z_connecttable` ON 
`z_tab_invoice`.`num_dogovor`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE z_tab_invoice.type_docum = @tdocum AND `z_connecttable`.`tab_a` like 
'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' AND 
z_tab_invoice.responsible like @nPerson )
UNION ALL
(SELECT BdGetNameOfPartner 
("z_tab_certificate",`z_tab_certificate`.`id_certif`),'...',BdGetAktInfo 
(`z_tab_certificate`.`id_certif`),'...',
       NULL,`z_tab_certificate`.`id_certif`, NULL,`z_tab_certificate`.`timestamp`,tab_klients.noNds as nds, 
       (SELECT SUM(podInv.`summa`)  
       FROM `z_tab_invoice` podInv 
       WHERE podInv.`type_docum` = z_tab_certificate.type_docum AND podInv.`num_dogovor` = z_tab_certificate.`dogovor` AND 
       podInv.`month_pay` = MONTH(z_tab_certificate.`dt_certif`) AND podInv.`year_pay`= YEAR(z_tab_certificate.`dt_certif`)) as sumInv, 
       (SELECT SUM(podCertf.`certif_pay`)  
  FROM `z_tab_certificate` podCertf 
  WHERE podCertf.`type_docum` = z_tab_certificate.type_docum AND podCertf.`dogovor`= z_tab_certificate.`dogovor` AND 
        MONTH(podCertf.`dt_certif`) = MONTH(z_tab_certificate.`dt_certif`) AND YEAR(podCertf.`dt_certif`)= YEAR(z_tab_certificate.`dt_certif`)) as sumCert
FROM `z_tab_certificate` 
LEFT JOIN `z_connecttable` ON 
`z_tab_certificate`.`dogovor`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE `num_invoice` ='0' AND type_docum =@tdocum AND `z_connecttable`.`tab_a` 
like 'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' AND 
z_tab_certificate.respons like @nPerson)
ORDER by ts DESC) tbl
WHERE (IF(tbl.sumInv is NULL,'0',tbl.sumInv)) != IF(tbl.sumCert is 
NULL,'0',tbl.sumCert);

Original comment by rf40...@gmail.com on 4 Apr 2015 at 6:07

GoogleCodeExporter commented 9 years ago
Выполнил, v1.01.51

Original comment by panche...@gmail.com on 6 Apr 2015 at 5:34

GoogleCodeExporter commented 9 years ago

Original comment by rf40...@gmail.com on 7 Apr 2015 at 7:34

GoogleCodeExporter commented 9 years ago
Вопрос по компоненте с помощью которой ты 
выполняешь фильтрацию в основном окне 
программы. Она позволяет производить какие 
то вычисления.

Например когда я ввел слово для поиска, 
"Надра" оно покажет все счета со словом 
Надра - как то можно от нее получить 
информацию о том сколько строчек найдено.

Или если мы выведем где то инфо  о сумме 
счета и сумме акта - можно как то с помощью 
компоненты посчитать какая общая сумма 
найденных счетов по Надрам и отдельно 
какая сумма по Актам ? 

Original comment by rf40...@gmail.com on 7 Apr 2015 at 8:57

GoogleCodeExporter commented 9 years ago
Нет. Я разбирался и открытого кода не 
обнаружил. Изменения, дополнения 
невозможны.

Original comment by panche...@gmail.com on 7 Apr 2015 at 9:04

GoogleCodeExporter commented 9 years ago
Може оно изменяться не может но может 
выдавать количество найденных строк ? 

Original comment by rf40...@gmail.com on 7 Apr 2015 at 9:13

GoogleCodeExporter commented 9 years ago
Выполнил (нижний левый угол), v1.01.53

Original comment by panche...@gmail.com on 7 Apr 2015 at 10:32

GoogleCodeExporter commented 9 years ago
Класс ! 
Меня интересует насколько можно пойти 
глубже, если мы выведем где то инфо  о сумме 
каждого счета и каждого акта - можно как то 
с помощью компоненты посчитать какая общая 
сумма найденных счетов по Надрам и 
отдельно какая сумма по Актам ?  И показать 
на экране, можно возле количества 
найденный записей.

Original comment by rf40...@gmail.com on 7 Apr 2015 at 1:10

GoogleCodeExporter commented 9 years ago
Похоже есть такая возможность: поле с 
цифрами, а под ними сумма (итого). Можно 
попробовать реализовать.

Original comment by panche...@gmail.com on 7 Apr 2015 at 1:15

GoogleCodeExporter commented 9 years ago
Ок, давай вернемся к этому вопросу после 
выполнения задач с приоритетом Hi

Original comment by rf40...@gmail.com on 7 Apr 2015 at 1:53

GoogleCodeExporter commented 9 years ago
Что то сломалось с подсчетом розовых 
долгов перед бухгалтерией в версии:

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

Затем беру запрос из пункта 7 этой ветки, 
ввожу напрямую в mysql и получаю корректный 
результат (без выделенного синим)

* Ты случайно не применяешь один и тот же 
запрос для формирования долгов в разовых и 
ежемесячных ?  Это нужно изменить.

Долги Разовые- считаются по коментарию 7

Долги ежемесячные - считаются по 
комментарию 11

Original comment by rf40...@gmail.com on 7 Apr 2015 at 2:43

Attachments:

GoogleCodeExporter commented 9 years ago
Исправил ошибку, v1.01.54

Original comment by panche...@gmail.com on 7 Apr 2015 at 3:02

GoogleCodeExporter commented 9 years ago
тестим

Original comment by rf40...@gmail.com on 8 Apr 2015 at 9:03

GoogleCodeExporter commented 9 years ago
Попросили в разовые долги перед 
бухгалтерией не включать отмененные счета 
и счета которые быливставленны до 1.01.15 -  
оплаченны после 1.01.15 и не имеющие НН.

Для фильтров "Все бух.задолженности" @nPerson = 
'%' для "Бух.задолженность tab.access.nik" @nPerson = 
'tab.access.id того кто залогинен'

Приготовил запрос: 

SET @tdocum=2;
SET @nPerson = '%';
SELECT 
tbl.NameOfPartner,tbl.invoice,tbl.certificate,tbl.tax_bill,tbl.id_inv,tbl.id_cer
t,tbl.id_txBill,tbl.ts
FROM  ((SELECT BdGetNameOfPartner ("z_tab_invoice",`z_tab_invoice`.`id`) AS 
NameOfPartner ,BdGetChetInfo (`z_tab_invoice`.`id`) AS invoice, 
        BdGetAktInfo (`z_tab_certificate`.`id_certif`) AS certificate, BdGetNnInfo (`z_tab_tax_bill`.`id`) AS tax_bill,
        `z_tab_invoice`.`id` AS id_inv,`z_tab_certificate`.`id_certif` AS id_cert,`z_tab_tax_bill`.`id` AS id_txBill,`z_tab_invoice`.`timestamp` AS ts,
        tab_klients.noNds as nds, z_tab_invoice.dt_of_pay as dtpay 
FROM `z_tab_invoice` 
LEFT JOIN `z_tab_certificate` ON 
`z_tab_invoice`.`id`=`z_tab_certificate`.`num_invoice`
LEFT JOIN `z_tab_tax_bill` ON  
`z_tab_invoice`.`id`=`z_tab_tax_bill`.`num_invoice`
LEFT JOIN `z_connecttable` ON 
`z_tab_invoice`.`num_dogovor`=`z_connecttable`.`tab_b_id` AND 
`z_connecttable`.`tab_b` like 'tab_catal_dogovor'
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id` AND 
`z_connecttable`.`tab_a` like 'tab_klients' 
WHERE z_tab_invoice.type_docum = @tdocum  AND IF ((SELECT `status` FROM 
`z_confirmation` WHERE `sheet` LIKE 'z_tab_invoice' AND `sheet_id` = 
z_tab_invoice.id ORDER BY `tmstamp` DESC LIMIT 1) IS NULL,'0',
                                              (SELECT `status` FROM `z_confirmation` WHERE `sheet` LIKE 'z_tab_invoice' AND `sheet_id` = z_tab_invoice.id ORDER BY `tmstamp` DESC LIMIT 1)) !='30' 
      AND z_tab_invoice.responsible like @nPerson )
UNION ALL
(SELECT BdGetNameOfPartner 
("z_tab_certificate",`z_tab_certificate`.`id_certif`),'...',BdGetAktInfo 
(`z_tab_certificate`.`id_certif`),'...',
       NULL,`z_tab_certificate`.`id_certif`, NULL,`z_tab_certificate`.`timestamp`,tab_klients.noNds as nds, z_tab_certificate.dt_certif as dtpay
FROM `z_tab_certificate` 
LEFT JOIN `z_connecttable` ON 
`z_tab_certificate`.`dogovor`=`z_connecttable`.`tab_b_id` AND 
`z_connecttable`.`tab_b` like 'tab_catal_dogovor'
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id` AND 
`z_connecttable`.`tab_a` like 'tab_klients'
WHERE `num_invoice` ='0' AND type_docum =@tdocum   AND 
z_tab_certificate.respons like @nPerson)
UNION ALL
(SELECT BdGetNameOfPartner 
("z_tab_tax_bill",`z_tab_tax_bill`.`id`),'...','...',BdGetNnInfo 
(`z_tab_tax_bill`.`id`),
        NULL, NULL,`z_tab_tax_bill`.`id`, `z_tab_tax_bill`.`timestamp`,tab_klients.noNds as nds, z_tab_tax_bill.dt_taxbill as dtpay
FROM `z_tab_tax_bill` 
LEFT JOIN `z_connecttable` ON 
`z_tab_tax_bill`.`dogovor`=`z_connecttable`.`tab_b_id` AND 
`z_connecttable`.`tab_b` like 'tab_catal_dogovor'
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id` AND 
`z_connecttable`.`tab_a` like 'tab_klients'
WHERE `num_invoice` ='0' AND type_docum = @tdocum  AND z_tab_tax_bill.response 
like @nPerson)
ORDER by ts DESC) tbl
WHERE tbl.invoice like '...' or tbl.certificate like '...' or (tbl.tax_bill 
like '...' AND tbl.nds ='0' AND tbl.dtpay < '2015-01-01' AND tbl.dtpay > 
'0000-00-00') ;

Original comment by rf40...@gmail.com on 19 Apr 2015 at 7:14

GoogleCodeExporter commented 9 years ago
Выполнил, v1.01.58

Original comment by panche...@gmail.com on 20 Apr 2015 at 5:54

GoogleCodeExporter commented 9 years ago
Прошу изменить запросы для desktop приложения, 
закладки ЕЖЕМЕСЯЧНЫЕ
фильтры:
 "Все бух.задолженности" 
 "Бух.задолженность tab.access.nik" @nPerson = 'tab.access.id того кто залогинен"
В него добавлено не учитывать, не 
показывать если счет отменен:

SET @tdocum=1;
SET @nPerson = '%';
SELECT 
tbl.NameOfPartner,tbl.invoice,tbl.certificate,tbl.tax_bill,tbl.id_inv,tbl.id_cer
t,tbl.id_txBill,tbl.ts
FROM  ((SELECT BdGetNameOfPartner ("z_tab_invoice",`z_tab_invoice`.`id`) AS 
NameOfPartner ,BdGetChetInfo (`z_tab_invoice`.`id`) AS invoice, 
        BdGetAktInfo (`z_tab_certificate`.`id_certif`) AS certificate, BdGetNnInfo (`z_tab_tax_bill`.`id`) AS tax_bill,
        `z_tab_invoice`.`id` AS id_inv,`z_tab_certificate`.`id_certif` AS id_cert,`z_tab_tax_bill`.`id` AS id_txBill,`z_tab_invoice`.`timestamp` AS ts,
        tab_klients.noNds as nds,
        (SELECT SUM(podInv.`summa`)  
        FROM `z_tab_invoice` podInv 
        WHERE podInv.`type_docum` = z_tab_invoice.type_docum AND podInv.`num_dogovor` = z_tab_invoice.`num_dogovor` AND 
        podInv.`month_pay` = z_tab_invoice.`month_pay` AND podInv.`year_pay`= z_tab_invoice.`year_pay` 
          AND IF ((SELECT `status` FROM `z_confirmation` WHERE `sheet` LIKE 'z_tab_invoice' AND `sheet_id` = podInv.id ORDER BY `tmstamp` DESC LIMIT 1) IS NULL,'0',
          (SELECT `status` FROM `z_confirmation` WHERE `sheet` LIKE 'z_tab_invoice' AND `sheet_id` = podInv.id ORDER BY `tmstamp` DESC LIMIT 1)) !='30' 
        )  as sumInv, 
        (SELECT SUM(podCertf.`certif_pay`)  
        FROM `z_tab_certificate` podCertf 
        WHERE podCertf.`type_docum` = z_tab_invoice.type_docum AND podCertf.`dogovor`= z_tab_invoice.`num_dogovor` AND 
        MONTH(podCertf.`dt_certif`) = z_tab_invoice.`month_pay` AND YEAR(podCertf.`dt_certif`)= z_tab_invoice.`year_pay`) as sumCert 
FROM `z_tab_invoice` 
LEFT JOIN `z_tab_certificate` ON 
`z_tab_invoice`.`id`=`z_tab_certificate`.`num_invoice`
LEFT JOIN `z_tab_tax_bill` ON  
`z_tab_invoice`.`id`=`z_tab_tax_bill`.`num_invoice`
LEFT JOIN `z_connecttable` ON 
`z_tab_invoice`.`num_dogovor`=`z_connecttable`.`tab_b_id` AND 
`z_connecttable`.`tab_a` like 'tab_klients' AND `z_connecttable`.`tab_b` like 
'tab_catal_dogovor'
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE z_tab_invoice.type_docum = @tdocum  AND z_tab_invoice.responsible like 
@nPerson AND IF((SELECT `status` FROM `z_confirmation` WHERE `sheet` LIKE 
'z_tab_invoice' AND `sheet_id` = z_tab_invoice.id ORDER BY `tmstamp` DESC LIMIT 
1) IS NULL,'0',
          (SELECT `status` FROM `z_confirmation` WHERE `sheet` LIKE 'z_tab_invoice' AND `sheet_id` = z_tab_invoice.id ORDER BY `tmstamp` DESC LIMIT 1)) !='30')
UNION ALL
(SELECT BdGetNameOfPartner 
("z_tab_certificate",`z_tab_certificate`.`id_certif`),'...',BdGetAktInfo 
(`z_tab_certificate`.`id_certif`),'...',
       NULL,`z_tab_certificate`.`id_certif`, NULL,`z_tab_certificate`.`timestamp`,tab_klients.noNds as nds, 
       (SELECT SUM(podInv.`summa`)  
       FROM `z_tab_invoice` podInv 
       WHERE podInv.`type_docum` = z_tab_certificate.type_docum AND podInv.`num_dogovor` = z_tab_certificate.`dogovor` AND 
       podInv.`month_pay` = MONTH(z_tab_certificate.`dt_certif`) AND podInv.`year_pay`= YEAR(z_tab_certificate.`dt_certif`)
         AND IF ((SELECT `status` FROM `z_confirmation` WHERE `sheet` LIKE 'z_tab_invoice' AND `sheet_id` = podInv.id ORDER BY `tmstamp` DESC LIMIT 1) IS NULL,'0',
          (SELECT `status` FROM `z_confirmation` WHERE `sheet` LIKE 'z_tab_invoice' AND `sheet_id` = podInv.id ORDER BY `tmstamp` DESC LIMIT 1)) !='30'
       ) as sumInv, 
       (SELECT SUM(podCertf.`certif_pay`)  
  FROM `z_tab_certificate` podCertf 
  WHERE podCertf.`type_docum` = z_tab_certificate.type_docum AND podCertf.`dogovor`= z_tab_certificate.`dogovor` AND 
        MONTH(podCertf.`dt_certif`) = MONTH(z_tab_certificate.`dt_certif`) AND YEAR(podCertf.`dt_certif`)= YEAR(z_tab_certificate.`dt_certif`)) as sumCert
FROM `z_tab_certificate` 
LEFT JOIN `z_connecttable` ON 
`z_tab_certificate`.`dogovor`=`z_connecttable`.`tab_b_id` AND 
`z_connecttable`.`tab_a` like 'tab_klients' AND `z_connecttable`.`tab_b` like 
'tab_catal_dogovor'
LEFT JOIN `tab_klients` ON  `z_connecttable`.`tab_a_id`=`tab_klients`.`id`
WHERE `num_invoice` ='0' AND type_docum =@tdocum  AND z_tab_certificate.respons 
like @nPerson)
ORDER by ts DESC) tbl
WHERE (IF(tbl.sumInv is NULL,'0',tbl.sumInv)) != IF(tbl.sumCert is 
NULL,'0',tbl.sumCert);

Original comment by rf40...@gmail.com on 20 Apr 2015 at 9:41

GoogleCodeExporter commented 9 years ago
v1.01.59, #26 - реализован

Original comment by panche...@gmail.com on 21 Apr 2015 at 7:03

GoogleCodeExporter commented 9 years ago

Original comment by rf40...@gmail.com on 21 Apr 2015 at 7:29

GoogleCodeExporter commented 9 years ago
Привет ! 
В выпадающий фильтр (справа в верхнем углу) 
добавь пожайлуста фильтр: "Ответственный 
перед бух. tab.access.nik (того кто залогинен)" 

Запрос для отображения документов вот: @tdocum 
-определяет разовые(2) или ежемесячные (1) 
документы, @nPerson - id того кто залогинен:

SET @tdocum=2; 
SET @nPerson = '%';
(SELECT BdGetNameOfPartner ("z_tab_invoice",`z_tab_invoice`.`id`) AS 
NameOfPartner ,BdGetChetInfo (`z_tab_invoice`.`id`) AS invoice, 
        BdGetAktInfo (`z_tab_certificate`.`id_certif`) AS certificate, BdGetNnInfo (`z_tab_tax_bill`.`id`) AS tax_bill,
        `z_tab_invoice`.`id` AS id_inv,`z_tab_certificate`.`id_certif` AS id_cert,`z_tab_tax_bill`.`id` AS id_txBill,`z_tab_invoice`.`timestamp` AS ts
FROM `z_tab_invoice` 
LEFT JOIN `z_tab_certificate` ON 
`z_tab_invoice`.`id`=`z_tab_certificate`.`num_invoice`
LEFT JOIN `z_tab_tax_bill` ON  
`z_tab_invoice`.`id`=`z_tab_tax_bill`.`num_invoice`
WHERE z_tab_invoice.type_docum = @tdocum AND z_tab_invoice.responsible = 
@nPerson)

UNION ALL

(SELECT BdGetNameOfPartner 
("z_tab_certificate",`z_tab_certificate`.`id_certif`),'...',BdGetAktInfo 
(`z_tab_certificate`.`id_certif`),'...',
       NULL AS id_inv,`z_tab_certificate`.`id_certif` AS id_cert, NULL AS id_txBill,`z_tab_certificate`.`timestamp` AS ts
FROM `z_tab_certificate` 
WHERE `num_invoice` ='0' AND type_docum =@tdocum AND respons = @nPerson)

UNION ALL

(SELECT BdGetNameOfPartner 
("z_tab_tax_bill",`z_tab_tax_bill`.`id`),'...','...',BdGetNnInfo 
(`z_tab_tax_bill`.`id`),
        NULL AS id_inv, NULL AS id_cert,`z_tab_tax_bill`.`id` AS id_txBill, `z_tab_tax_bill`.`timestamp` AS ts
FROM `z_tab_tax_bill` 
WHERE `num_invoice` ='0' AND type_docum = @tdocum AND response = @nPerson )
ORDER by ts DESC

Спасибо ! 

Original comment by rf40...@gmail.com on 26 Apr 2015 at 4:43

GoogleCodeExporter commented 9 years ago

Original comment by rf40...@gmail.com on 26 Apr 2015 at 6:27

GoogleCodeExporter commented 9 years ago
Выполнил, v1.01.61

Original comment by panche...@gmail.com on 27 Apr 2015 at 11:59

GoogleCodeExporter commented 9 years ago
Новый пункт в выпадающем меню фильтра не 
появился, у тебя появился ? 

Original comment by rf40...@gmail.com on 27 Apr 2015 at 12:56

Attachments:

GoogleCodeExporter commented 9 years ago
Исправил, файл выслал, v1.01.61

Original comment by panche...@gmail.com on 27 Apr 2015 at 1:37

GoogleCodeExporter commented 9 years ago
Спасибо, тестируем !
Уменьши название пункта до такого (не 
влазит в окно)

"Ответств.перед бух. tab.access.nik" 

Original comment by rf40...@gmail.com on 27 Apr 2015 at 2:08

GoogleCodeExporter commented 9 years ago
Уменьшил, файл выслал, v1.01.61

Original comment by panche...@gmail.com on 27 Apr 2015 at 2:14

GoogleCodeExporter commented 9 years ago
Работает нормально,спасибо

Original comment by rf40...@gmail.com on 19 May 2015 at 12:37