Open GoogleCodeExporter opened 9 years ago
Добавь пожайлуста в список фильтров (в
список который выпадает при нажатии на
меню в правом верхнему углу ) строку
"Документы копии", и убери строку
"Оплаченные"
Спасибо.
Original comment by rf40...@gmail.com
on 25 Nov 2014 at 6:08
Выполнил, v1.01.11
Original comment by panche...@gmail.com
on 26 Nov 2014 at 6:36
Измени список фильтров на такой:
Все
Бух.задолженность tab.access.nik(того кто
залогинен)
Все бух.задолженности
Документы копии
Original comment by rf40...@gmail.com
on 29 Nov 2014 at 4:56
Для построения отчетов
"Бух.задолженность 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
Для построения отчета "Документы копии"
используй ниже приведенный запрос:
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
выполнил, v1.01.15
Original comment by panche...@gmail.com
on 1 Dec 2014 at 12:24
Изменение в построении отчета о
задолженностях:
Для построения отчетов
"Бух.задолженность 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
Выполнил, v1.01.47
Original comment by panche...@gmail.com
on 30 Mar 2015 at 12:53
Спасибо, теперь поработаем над отчетом о
задолженностях в ежемесячных документах.
Принцип такой группируем документы по
договору + месяц+ год за который
оплачиваются услуги если сумма счетов за
этот период равна сумме актов - это не долг.
Если сумма не равна - это долг.
В счете присутствует информация о месяце и
дате за который выставлен этот счет.
В акте присутствует дата акта - это и есть
период который закрывае этот акт.
Действуем в два этапа, сначала я
реализовываю логику на уровне sql дальше
смотрим что можно оптимизировать.
Original comment by rf40...@gmail.com
on 30 Mar 2015 at 9:44
Original comment by rf40...@gmail.com
on 30 Mar 2015 at 9:51
Прошу реализовать в программа, запросы
выдает такое же количество полей как и
ранее:
Запрос для рассчета задолженности перед
бухгалтерией по ЕЖЕМЕСЯЧНЫМ документам:
Для фильтров:
"Бух.задолженность 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
Выполнил, v1.01.51
Original comment by panche...@gmail.com
on 6 Apr 2015 at 5:34
Original comment by rf40...@gmail.com
on 7 Apr 2015 at 7:34
Вопрос по компоненте с помощью которой ты
выполняешь фильтрацию в основном окне
программы. Она позволяет производить какие
то вычисления.
Например когда я ввел слово для поиска,
"Надра" оно покажет все счета со словом
Надра - как то можно от нее получить
информацию о том сколько строчек найдено.
Или если мы выведем где то инфо о сумме
счета и сумме акта - можно как то с помощью
компоненты посчитать какая общая сумма
найденных счетов по Надрам и отдельно
какая сумма по Актам ?
Original comment by rf40...@gmail.com
on 7 Apr 2015 at 8:57
Нет. Я разбирался и открытого кода не
обнаружил. Изменения, дополнения
невозможны.
Original comment by panche...@gmail.com
on 7 Apr 2015 at 9:04
Може оно изменяться не может но может
выдавать количество найденных строк ?
Original comment by rf40...@gmail.com
on 7 Apr 2015 at 9:13
Выполнил (нижний левый угол), v1.01.53
Original comment by panche...@gmail.com
on 7 Apr 2015 at 10:32
Класс !
Меня интересует насколько можно пойти
глубже, если мы выведем где то инфо о сумме
каждого счета и каждого акта - можно как то
с помощью компоненты посчитать какая общая
сумма найденных счетов по Надрам и
отдельно какая сумма по Актам ? И показать
на экране, можно возле количества
найденный записей.
Original comment by rf40...@gmail.com
on 7 Apr 2015 at 1:10
Похоже есть такая возможность: поле с
цифрами, а под ними сумма (итого). Можно
попробовать реализовать.
Original comment by panche...@gmail.com
on 7 Apr 2015 at 1:15
Ок, давай вернемся к этому вопросу после
выполнения задач с приоритетом Hi
Original comment by rf40...@gmail.com
on 7 Apr 2015 at 1:53
Что то сломалось с подсчетом розовых
долгов перед бухгалтерией в версии:
Даю команду показать все разовые долги
перед бухгалтерией и вижу выделенный синим
как бы долг которого быть не должно.
Затем беру запрос из пункта 7 этой ветки,
ввожу напрямую в mysql и получаю корректный
результат (без выделенного синим)
* Ты случайно не применяешь один и тот же
запрос для формирования долгов в разовых и
ежемесячных ? Это нужно изменить.
Долги Разовые- считаются по коментарию 7
Долги ежемесячные - считаются по
комментарию 11
Original comment by rf40...@gmail.com
on 7 Apr 2015 at 2:43
Attachments:
Исправил ошибку, v1.01.54
Original comment by panche...@gmail.com
on 7 Apr 2015 at 3:02
тестим
Original comment by rf40...@gmail.com
on 8 Apr 2015 at 9:03
Попросили в разовые долги перед
бухгалтерией не включать отмененные счета
и счета которые быливставленны до 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
Выполнил, v1.01.58
Original comment by panche...@gmail.com
on 20 Apr 2015 at 5:54
Прошу изменить запросы для 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
v1.01.59, #26 - реализован
Original comment by panche...@gmail.com
on 21 Apr 2015 at 7:03
Original comment by rf40...@gmail.com
on 21 Apr 2015 at 7:29
Привет !
В выпадающий фильтр (справа в верхнем углу)
добавь пожайлуста фильтр: "Ответственный
перед бух. 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
Original comment by rf40...@gmail.com
on 26 Apr 2015 at 6:27
Выполнил, v1.01.61
Original comment by panche...@gmail.com
on 27 Apr 2015 at 11:59
Новый пункт в выпадающем меню фильтра не
появился, у тебя появился ?
Original comment by rf40...@gmail.com
on 27 Apr 2015 at 12:56
Attachments:
Исправил, файл выслал, v1.01.61
Original comment by panche...@gmail.com
on 27 Apr 2015 at 1:37
Спасибо, тестируем !
Уменьши название пункта до такого (не
влазит в окно)
"Ответств.перед бух. tab.access.nik"
Original comment by rf40...@gmail.com
on 27 Apr 2015 at 2:08
Уменьшил, файл выслал, v1.01.61
Original comment by panche...@gmail.com
on 27 Apr 2015 at 2:14
Работает нормально,спасибо
Original comment by rf40...@gmail.com
on 19 May 2015 at 12:37
Original issue reported on code.google.com by
rf40...@gmail.com
on 17 Nov 2014 at 8:36