Closed GoogleCodeExporter closed 8 years ago
Точно помню что в него должны попадать:
- все счета которые не оплачены еще и
утвержденны к оплате до сегодня 15:00,
+ так же те которые вообще сегодня были
утверждены (без ограничения в 15:00)
пользователем который залогинен в десктоп
приложение.
В примечание вписывать если срочная оплата
то "Срочно ! и ФИО того кто такой статус
поставил) так же отдельным столбцом
вписывать ID из реестра ковальчук)
Шаблон excell файлика и sql запроса я пришлю
Original comment by rf40...@gmail.com
on 12 Apr 2015 at 10:01
Давай сформируем еще одну кнопку "Реестр
для фин.депа" возле кнопки "реестр
бухгалтерии" (а кнопку "удалить" скрой).
Шаблон как должен выглядеть
сформированный докумен в экселе во
вложении, давай именно ресстр будем
формировать в экселе.
Сейчас делаем реестр для разовых
документов: (ежемесячные попозже, там
шаблон отличается)
SET @cnt=0;
SELECT @cnt:=@cnt+1 AS NN, fin.nplane as '№ задачи', fin.postav as
'Поставщик', fin.numinv as 'НомСчета',''as 'Дата
оплаты',
aminvoice as 'Сумма','0' as 'Статус платежа', fin.artbudg as 'Статья бюджета','' as 'Регион', '' AS Комент
FROM
((SELECT kli.client AS 'nplane', provider.client AS
'postav',z_tab_invoice.num_invoice AS numinv,
ROUND(z_tab_invoice.summa,2) AS aminvoice, z_tab_catal_type_budget.statiya AS 'artbudg',
z_tab_invoice.sap_id AS 'ts'
FROM z_tab_invoice
LEFT JOIN tab_klients kli ON z_tab_invoice.client=kli.id
LEFT JOIN z_tab_catal_type_budget ON z_tab_invoice.articl_budget
=z_tab_catal_type_budget.id
LEFT JOIN tab_catal_dogovor ON z_tab_invoice.num_dogovor=tab_catal_dogovor.id
LEFT JOIN z_connecttable ON tab_catal_dogovor.id = z_connecttable.tab_b_id AND
z_connecttable.tab_b like 'tab_catal_dogovor'
LEFT JOIN tab_klients provider ON z_connecttable.tab_a_id = provider.id
WHERE z_tab_invoice.type_docum = '2' AND z_connecttable.tab_a like
'tab_klients' AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30))
UNION ALL
(SELECT kli.client AS '№ задачи',provider.client AS
'Прставщик',z_tab_invoice.num_invoice AS 'НомСчета',
ROUND(z_tab_invoice.summa,2) AS 'Сумма', z_tab_catal_type_budget.statiya AS 'Статья бюджета',
z_tab_invoice.sap_id AS 'ts'
FROM z_tab_invoice
LEFT JOIN tab_klients kli ON z_tab_invoice.client=kli.id
LEFT JOIN z_tab_catal_type_budget ON z_tab_invoice.articl_budget
=z_tab_catal_type_budget.id
LEFT JOIN tab_catal_dogovor ON z_tab_invoice.num_dogovor=tab_catal_dogovor.id
LEFT JOIN z_connecttable ON tab_catal_dogovor.id = z_connecttable.tab_b_id AND
z_connecttable.tab_b like 'tab_catal_dogovor'
LEFT JOIN z_tab_klients provider ON z_connecttable.tab_a_id = provider.id
WHERE z_tab_invoice.type_docum = '2' AND z_connecttable.tab_a like
'z_tab_klients' AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30))) fin
ORDER BY fin.ts DESC
Задел на ближайшее будущее доделаю запрос
в следующей итерации, пишу что бы не забыть:
* добавить что бы если счет срочно в оплату
то в поле Комент вписывать Срочно в оплату,
проставил такой то менеджер такого то числа
* модернизировать что бы в финреестр
попадали все счета которые не оплаченны и
подтверждены до сегодня до 15:00, а так же
только те счета которые после 15:00
подтвердил тот кто залогинен.
Original comment by rf40...@gmail.com
on 26 Apr 2015 at 6:26
Attachments:
О блин, забыл ID из реестра Ковальчук
добавить в запрос, вот такой запрос
правильный, (так же в эксель файлике добавь
справа еще колонку "Таблица Ковальчук")
SET @cnt=0;
SELECT @cnt:=@cnt+1 AS NN, fin.nplane as '№ задачи', fin.postav as
'Поставщик', fin.numinv as 'НомСчета',''as 'Дата
оплаты',
aminvoice as 'Сумма','0' as 'Статус платежа', fin.artbudg as 'Статья бюджета','' as 'Регион', '' AS Комент,
fin.tblkoval AS 'ТаблицаКовальчук'
FROM
((SELECT kli.client AS 'nplane', provider.client AS
'postav',z_tab_invoice.num_invoice AS numinv,
ROUND(z_tab_invoice.summa,2) AS aminvoice, z_tab_catal_type_budget.statiya AS 'artbudg',
z_tab_invoice.sap_id AS 'ts', z_tab_invoice.reestr_num_kovalchuk as tblkoval
FROM z_tab_invoice
LEFT JOIN tab_klients kli ON z_tab_invoice.client=kli.id
LEFT JOIN z_tab_catal_type_budget ON z_tab_invoice.articl_budget
=z_tab_catal_type_budget.id
LEFT JOIN tab_catal_dogovor ON z_tab_invoice.num_dogovor=tab_catal_dogovor.id
LEFT JOIN z_connecttable ON tab_catal_dogovor.id = z_connecttable.tab_b_id AND
z_connecttable.tab_b like 'tab_catal_dogovor'
LEFT JOIN tab_klients provider ON z_connecttable.tab_a_id = provider.id
WHERE z_tab_invoice.type_docum = '2' AND z_connecttable.tab_a like
'tab_klients' AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30))
UNION ALL
(SELECT kli.client AS '№ задачи',provider.client AS
'Прставщик',z_tab_invoice.num_invoice AS 'НомСчета',
ROUND(z_tab_invoice.summa,2) AS 'Сумма', z_tab_catal_type_budget.statiya AS 'Статья бюджета',
z_tab_invoice.sap_id AS 'ts',z_tab_invoice.reestr_num_kovalchuk as tblkoval
FROM z_tab_invoice
LEFT JOIN tab_klients kli ON z_tab_invoice.client=kli.id
LEFT JOIN z_tab_catal_type_budget ON z_tab_invoice.articl_budget
=z_tab_catal_type_budget.id
LEFT JOIN tab_catal_dogovor ON z_tab_invoice.num_dogovor=tab_catal_dogovor.id
LEFT JOIN z_connecttable ON tab_catal_dogovor.id = z_connecttable.tab_b_id AND
z_connecttable.tab_b like 'tab_catal_dogovor'
LEFT JOIN z_tab_klients provider ON z_connecttable.tab_a_id = provider.id
WHERE z_tab_invoice.type_docum = '2' AND z_connecttable.tab_a like
'z_tab_klients' AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30))) fin
ORDER BY fin.ts DESC
Original comment by rf40...@gmail.com
on 26 Apr 2015 at 6:34
Выполнил, v1.01.61
Original comment by panche...@gmail.com
on 27 Apr 2015 at 11:59
Попросили упорядочить для финдепа эту
часть:
Для разовых счетов, для реестра который
формируется по нажатию на кнопку "Реестр
для фин.депа"
1.Добавить в эксель файлике справа колонку
"Подтвержден" в нем будет дата
подтверждения (добавил и в запрос это новое
поле под названием Подтвержден )
2.В поле Комент добавить статус счета если
он срочный
3.Отсортировать записи по срочности и по
дате подтверждения
4.Значения в поле статья бюджета сменить на
капекс и опекс (для этого обнови две
таблицы во вложении)
5. Отсортировать по новому:
SET @cnt=0;
SELECT @cnt:=@cnt+1 AS NN, fin.nplane as '№ задачи', fin.postav as
'Поставщик', fin.numinv as 'НомСчета',''as 'Дата
оплаты',
aminvoice as 'Сумма','0' as 'Статус платежа', fin.artbudg as 'Статья бюджета','' as 'Регион',
IF((SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = fin.idnt ORDER BY prv.tmstamp DESC LIMIT 1) = '20',
(SELECT z_confirm_catal.state FROM `z_confirmation` prv LEFT JOIN z_confirm_catal ON prv.status=z_confirm_catal.id WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = fin.idnt ORDER BY prv.tmstamp DESC LIMIT 1),
'') AS Комент,
fin.tblkoval AS 'ТаблицаКовальчук',
(SELECT DATE_FORMAT(prv.tmstamp,'%d.%m.%y') FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = fin.idnt ORDER BY prv.tmstamp DESC LIMIT 1) AS Подтвержден
FROM
((SELECT kli.client AS 'nplane', provider.client AS
'postav',z_tab_invoice.num_invoice AS numinv,
ROUND(z_tab_invoice.summa,2) AS aminvoice, z_tab_catal_type_budget_kovalchuk.kname AS 'artbudg',
z_tab_invoice.sap_id AS 'ts', z_tab_invoice.reestr_num_kovalchuk as tblkoval, z_tab_invoice.id as idnt
FROM z_tab_invoice
LEFT JOIN tab_klients kli ON z_tab_invoice.client=kli.id
LEFT JOIN z_tab_catal_type_budget ON z_tab_invoice.articl_budget
=z_tab_catal_type_budget.id
LEFT JOIN z_tab_catal_type_budget_kovalchuk ON
z_tab_catal_type_budget.finKovalchuk = z_tab_catal_type_budget_kovalchuk.id
LEFT JOIN tab_catal_dogovor ON z_tab_invoice.num_dogovor=tab_catal_dogovor.id
LEFT JOIN z_connecttable ON tab_catal_dogovor.id = z_connecttable.tab_b_id AND
z_connecttable.tab_b like 'tab_catal_dogovor'
LEFT JOIN tab_klients provider ON z_connecttable.tab_a_id = provider.id
WHERE z_tab_invoice.type_docum = '2' AND z_connecttable.tab_a like
'tab_klients' AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30,50))
UNION ALL
(SELECT kli.client AS '№ задачи',provider.client AS
'Прставщик',z_tab_invoice.num_invoice AS 'НомСчета',
ROUND(z_tab_invoice.summa,2) AS 'Сумма', z_tab_catal_type_budget_kovalchuk.kname AS 'Статья бюджета',
z_tab_invoice.sap_id AS 'ts',z_tab_invoice.reestr_num_kovalchuk as tblkoval, z_tab_invoice.id as idnt
FROM z_tab_invoice
LEFT JOIN tab_klients kli ON z_tab_invoice.client=kli.id
LEFT JOIN z_tab_catal_type_budget ON z_tab_invoice.articl_budget
=z_tab_catal_type_budget.id
LEFT JOIN z_tab_catal_type_budget_kovalchuk ON
z_tab_catal_type_budget.finKovalchuk = z_tab_catal_type_budget_kovalchuk.id
LEFT JOIN tab_catal_dogovor ON z_tab_invoice.num_dogovor=tab_catal_dogovor.id
LEFT JOIN z_connecttable ON tab_catal_dogovor.id = z_connecttable.tab_b_id AND
z_connecttable.tab_b like 'tab_catal_dogovor'
LEFT JOIN z_tab_klients provider ON z_connecttable.tab_a_id = provider.id
WHERE z_tab_invoice.type_docum = '2' AND z_connecttable.tab_a like
'z_tab_klients' AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30,50))) fin
ORDER BY Комент DESC, Подтвержден ASC
Original comment by rf40...@gmail.com
on 19 May 2015 at 12:48
Attachments:
Выполнил, v1.01.63
Original comment by panche...@gmail.com
on 19 May 2015 at 7:41
Все гуд только в приложении чего то
сломалась сортировка.
У меня в запросе сортировка сначала по
срочности а в рамках каждой срочности по
возрастанию по дате подтверждения
У тебя все то же самое но сортировка по дате
подтверждения по уменьшению
Original comment by rf40...@gmail.com
on 19 May 2015 at 11:39
Замени запрос, в нем изменилась только
последняя строка:
Было ORDER BY Комент DESC, Подтвержден ASC
Стало ORDER BY fin.artbudg ASC, Комент DESC, Подтвержден
ASC
Также в эксель файлике в шаблоне сделай
столбец E (№ счёта) в формате Текстовый, а то
оно сейчас в формате "Общиц" и само пытается
адаптировать номера счетов то в дату
превратит то заменит точки на запятые -
непорядок.
SET @cnt=0;
SELECT @cnt:=@cnt+1 AS NN, fin.nplane as '№ задачи', fin.postav as
'Поставщик', fin.numinv as 'НомСчета',''as 'Дата
оплаты',
aminvoice as 'Сумма','0' as 'Статус платежа', fin.artbudg as 'Статья бюджета','' as 'Регион',
IF((SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = fin.idnt ORDER BY prv.tmstamp DESC LIMIT 1) = '20',
(SELECT z_confirm_catal.state FROM `z_confirmation` prv LEFT JOIN z_confirm_catal ON prv.status=z_confirm_catal.id WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = fin.idnt ORDER BY prv.tmstamp DESC LIMIT 1),
'') AS Комент,
fin.tblkoval AS 'ТаблицаКовальчук',
(SELECT DATE_FORMAT(prv.tmstamp,'%d.%m.%y') FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = fin.idnt ORDER BY prv.tmstamp DESC LIMIT 1) AS Подтвержден
FROM
((SELECT kli.client AS 'nplane', provider.client AS
'postav',z_tab_invoice.num_invoice AS numinv,
ROUND(z_tab_invoice.summa,2) AS aminvoice, z_tab_catal_type_budget_kovalchuk.kname AS 'artbudg',
z_tab_invoice.sap_id AS 'ts', z_tab_invoice.reestr_num_kovalchuk as tblkoval, z_tab_invoice.id as idnt
FROM z_tab_invoice
LEFT JOIN tab_klients kli ON z_tab_invoice.client=kli.id
LEFT JOIN z_tab_catal_type_budget ON z_tab_invoice.articl_budget
=z_tab_catal_type_budget.id
LEFT JOIN z_tab_catal_type_budget_kovalchuk ON
z_tab_catal_type_budget.finKovalchuk = z_tab_catal_type_budget_kovalchuk.id
LEFT JOIN tab_catal_dogovor ON z_tab_invoice.num_dogovor=tab_catal_dogovor.id
LEFT JOIN z_connecttable ON tab_catal_dogovor.id = z_connecttable.tab_b_id AND
z_connecttable.tab_b like 'tab_catal_dogovor'
LEFT JOIN tab_klients provider ON z_connecttable.tab_a_id = provider.id
WHERE z_tab_invoice.type_docum = '2' AND z_connecttable.tab_a like
'tab_klients' AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30,50))
UNION ALL
(SELECT kli.client AS '№ задачи',provider.client AS
'Прставщик',z_tab_invoice.num_invoice AS 'НомСчета',
ROUND(z_tab_invoice.summa,2) AS 'Сумма', z_tab_catal_type_budget_kovalchuk.kname AS 'Статья бюджета',
z_tab_invoice.sap_id AS 'ts',z_tab_invoice.reestr_num_kovalchuk as tblkoval, z_tab_invoice.id as idnt
FROM z_tab_invoice
LEFT JOIN tab_klients kli ON z_tab_invoice.client=kli.id
LEFT JOIN z_tab_catal_type_budget ON z_tab_invoice.articl_budget
=z_tab_catal_type_budget.id
LEFT JOIN z_tab_catal_type_budget_kovalchuk ON
z_tab_catal_type_budget.finKovalchuk = z_tab_catal_type_budget_kovalchuk.id
LEFT JOIN tab_catal_dogovor ON z_tab_invoice.num_dogovor=tab_catal_dogovor.id
LEFT JOIN z_connecttable ON tab_catal_dogovor.id = z_connecttable.tab_b_id AND
z_connecttable.tab_b like 'tab_catal_dogovor'
LEFT JOIN z_tab_klients provider ON z_connecttable.tab_a_id = provider.id
WHERE z_tab_invoice.type_docum = '2' AND z_connecttable.tab_a like
'z_tab_klients' AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30,50))) fin
ORDER BY fin.artbudg ASC, Комент DESC, Подтвержден ASC
Original comment by rf40...@gmail.com
on 19 May 2015 at 12:43
выполнил, v1.01.64
Original comment by panche...@gmail.com
on 19 May 2015 at 1:07
По web интерфейсу осталось три открытых
вопроса:
1. Проблема, когда название клиента длинное
вместо того что бы переносить текст на
вторую строчку - поле " Клиент" начинает
расширяться и теснить поле "Информация о
счете" так что поле "Клиент" имеет ширину
больше чем "Информация о счете", это не
правильно - есть ли возможность сделать
ширину полей Менеджер и Клиент
фиксированной, что бы текст в них
переносился на вторую строку ?
2. Все та же, что бы по умолчанию фильтр
Менеджер был = тому кто залогинился в
страничку
3. Что бы работал статус счета - "Вернуть в
неподтвержденные"
готовлю SQL запросы для пункта 3
Original comment by rf40...@gmail.com
on 19 May 2015 at 9:34
Вот измененные запросы и измененный файлик
во вложении, саня а в этом файлике стоят
двсе строчки подряд они правильные ?
case 2:
case 4:
5.Получить из БД счета "Требуется
подтверждение менеджера"
SET @manager='%';
SET @client='%';
SELECT z_tab_invoice.id as IDcheta, mang.nik as Mngr,klnt.client as Klient,
Concat (IF(z_tab_invoice.dt_of_pay > '0000-00-00',concat('Опл: ',DATE_FORMAT(z_tab_invoice.dt_of_pay,'%d.%m.%y'),', '),
IF((SELECT prv.id FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id LIMIT 1) IS NULL,'','<font color="red">не оплачен</font>, ')),
detail_of_pay,', ',tab_town.town,' ',z_tab_invoice.address,', ',CAST(z_tab_invoice.sap_id AS CHAR),IF(z_tab_invoice.planner_id='0','',concat(', плнр ',
CAST(z_tab_invoice.planner_id AS CHAR))),', <strong>',
(SELECT partner.client
FROM tab_catal_dogovor
LEFT JOIN `z_connecttable` ON `tab_catal_dogovor`.`id`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` partner ON `z_connecttable`.`tab_a_id`=`partner`.`id`
WHERE tab_catal_dogovor.id = z_tab_invoice.num_dogovor AND `z_connecttable`.`tab_a` like 'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' LIMIT 1
UNION ALL
SELECT z_tab_klients.client
FROM tab_catal_dogovor
LEFT JOIN `z_connecttable` ON `tab_catal_dogovor`.`id`=`z_connecttable`.`tab_b_id`
LEFT JOIN `z_tab_klients` ON `z_connecttable`.`tab_a_id`=`z_tab_klients`.`id`
WHERE tab_catal_dogovor.id = z_tab_invoice.num_dogovor AND `z_connecttable`.`tab_a` like 'z_tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' LIMIT 1),
' счет ',z_tab_invoice.num_invoice,'</strong> от ',DATE_FORMAT(z_tab_invoice.dt_invoice,'%d.%m.%y'),' отв ',otvetstv.nik,', ',z_tab_invoice.description,
IF ((SELECT prv.id FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id LIMIT 1) IS NULL,'',
(SELECT concat(' (<strong>Статус:</strong> ',z_confirm_catal.state,' ',DATE_FORMAT(z_confirmation.tmstamp,'%d.%m.%y'),', ',whostatus.nik,')')
FROM `z_confirmation`
LEFT JOIN tab_access whostatus ON z_confirmation.persona=whostatus.id
LEFT JOIN z_confirm_catal ON z_confirmation.status=z_confirm_catal.id
WHERE z_confirmation.sheet like 'z_tab_invoice' AND `z_confirmation`.`sheet_id` = z_tab_invoice.id ORDER BY z_confirmation.tmstamp DESC LIMIT 1)
)
) as Info,
z_tab_invoice.summa as SumScheta
FROM `z_tab_invoice`
LEFT JOIN tab_access mang ON z_tab_invoice.manager=mang.id
LEFT JOIN tab_klients klnt ON z_tab_invoice.client=klnt.id
LEFT JOIN tab_town ON z_tab_invoice.town = tab_town.id
LEFT JOIN tab_access otvetstv ON z_tab_invoice.responsible=otvetstv.id
WHERE `type_docum` = 2 AND z_tab_invoice.manager LIKE @manager AND
z_tab_invoice.client LIKE @client AND z_tab_invoice.dt_of_pay = '0000-00-00'
AND (((SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id LIMIT 1) IS NULL)
OR ((SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER by prv.tmstamp DESC LIMIT 1) IN (50)) )
ORDER BY klnt.client ASC, z_tab_invoice.sap_id DESC;
6.Получить из БД счета "Подтвержденные не
оплаченные документы"
SET @manager='%';
SET @client='%';
SELECT z_tab_invoice.id as IDcheta, mang.nik as Mngr,klnt.client as Klient,
Concat (IF(z_tab_invoice.dt_of_pay > '0000-00-00',concat('Опл: ',DATE_FORMAT(z_tab_invoice.dt_of_pay,'%d.%m.%y'),', '),
IF((SELECT prv.id FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id LIMIT 1) IS NULL,'','<font color="red">не оплачен</font>, ')),
detail_of_pay,', ',tab_town.town,' ',z_tab_invoice.address,', ',CAST(z_tab_invoice.sap_id AS CHAR),IF(z_tab_invoice.planner_id='0','',concat(', плнр ',
CAST(z_tab_invoice.planner_id AS CHAR))),', <strong>',
(SELECT partner.client
FROM tab_catal_dogovor
LEFT JOIN `z_connecttable` ON `tab_catal_dogovor`.`id`=`z_connecttable`.`tab_b_id`
LEFT JOIN `tab_klients` partner ON `z_connecttable`.`tab_a_id`=`partner`.`id`
WHERE tab_catal_dogovor.id = z_tab_invoice.num_dogovor AND `z_connecttable`.`tab_a` like 'tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' LIMIT 1
UNION ALL
SELECT z_tab_klients.client
FROM tab_catal_dogovor
LEFT JOIN `z_connecttable` ON `tab_catal_dogovor`.`id`=`z_connecttable`.`tab_b_id`
LEFT JOIN `z_tab_klients` ON `z_connecttable`.`tab_a_id`=`z_tab_klients`.`id`
WHERE tab_catal_dogovor.id = z_tab_invoice.num_dogovor AND `z_connecttable`.`tab_a` like 'z_tab_klients' AND `z_connecttable`.`tab_b` like 'tab_catal_dogovor' LIMIT 1),
' счет ',z_tab_invoice.num_invoice,'</strong> от ',DATE_FORMAT(z_tab_invoice.dt_invoice,'%d.%m.%y'),' отв ',otvetstv.nik,', ',z_tab_invoice.description,
IF ((SELECT prv.id FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id LIMIT 1) IS NULL,'',
(SELECT concat(' (<strong>Статус:</strong> ',z_confirm_catal.state,' ',DATE_FORMAT(z_confirmation.tmstamp,'%d.%m.%y'),', ',whostatus.nik,')')
FROM `z_confirmation`
LEFT JOIN tab_access whostatus ON z_confirmation.persona=whostatus.id
LEFT JOIN z_confirm_catal ON z_confirmation.status=z_confirm_catal.id
WHERE z_confirmation.sheet like 'z_tab_invoice' AND `z_confirmation`.`sheet_id` = z_tab_invoice.id ORDER BY z_confirmation.tmstamp DESC LIMIT 1)
)
) as Info,
z_tab_invoice.summa as SumScheta
FROM `z_tab_invoice`
LEFT JOIN tab_access mang ON z_tab_invoice.manager=mang.id
LEFT JOIN tab_klients klnt ON z_tab_invoice.client=klnt.id
LEFT JOIN tab_town ON z_tab_invoice.town = tab_town.id
LEFT JOIN tab_access otvetstv ON z_tab_invoice.responsible=otvetstv.id
WHERE `type_docum` = 2 AND z_tab_invoice.manager LIKE @manager AND
z_tab_invoice.client LIKE @client
AND (SELECT prv.status FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id ORDER BY prv.tmstamp DESC LIMIT 1) NOT IN (30,50)
AND z_tab_invoice.dt_of_pay = '0000-00-00'
ORDER BY klnt.client ASC, z_tab_invoice.sap_id DESC;
Original comment by rf40...@gmail.com
on 19 May 2015 at 10:53
Attachments:
В коментарии #8 я тебя немного ввел в оману,
изменения чуточку больше, давай созвонимся
и поправим в голосовом режиме в десктопе
Original comment by rf40...@gmail.com
on 19 May 2015 at 10:54
#10,11: выполнил. Файлы выслал.
Ответы:
1. Зафиксировать не получится, мешает "select"
во главе столбца "Клиент". Он динамичный,
зависит от длины элементов списка. Буду
разбираться, возможно удасться его
зафиксировать.
2. Сделано.
#11: эти две строчки подряд правильные, но в
новой версии осталась одна.
5,6. Заменил запросы.
Original comment by panche...@gmail.com
on 20 May 2015 at 5:56
Ура, теперь при первом открытии страницы -
значение фильтра Менеджер = тому кто
залогинился.
Можно ли сделать так что бы когда
пользователь справа вверху выбирает
другие фильтры, значение поля Менеджер и
Клиент - не слетало на ноль, а оставалось
таким каким оно есть на сейчас, ну тоест не
менялось ?
Original comment by rf40...@gmail.com
on 22 May 2015 at 8:28
Постараюсь адаптировать.
Original comment by panche...@gmail.com
on 22 May 2015 at 9:01
О, заметил большую проблему, если я выбрал
фильтр Менеджер (себя) и нажимаю кнопку Select
ALL - то выделяются все счета, и мои и не мои,
все которые требуют подтверждения
менеджеров.
Можно ли что бы кнопка Select All выбирала
только те которые отфильтрованны и на
экране ?
Если нельзя - давай скроем кнопку Select All. А
то сейчас менеджеры залогинившись
получают на экран только свои счета,
нажимают Select all и думая что подтверждают
только свои - на самом деле подтверждают
все счета.
Original comment by rf40...@gmail.com
on 22 May 2015 at 9:26
Эту проблему ты определил играя фильтрами,
или после нажатия кнопки "Применить" и в MySQL?
Original comment by panche...@gmail.com
on 22 May 2015 at 10:51
Я проверял:
1) в MySQL отправятся только те, которые видно
на экране. А те которых не видно -
отправляться не будут.
2) при выборе других фильтров будут
выдиляться новые записи, т.к. выбран
главный фильтр "Выделить все".
Original comment by panche...@gmail.com
on 22 May 2015 at 11:58
Вынес запрос для формирования документа к финдепу в отдельный файлик. account-buh-documents/Query/Koval to findep.sql
Добавлю условия:
Прочитано
Изменил запрос, посмотри файлик, может быть тебе поменять названия полей на английские ? Или ты их поменяй а потом сохрани изменения поставив галочку Create a new branch for this commit and start a pull request я эти изменения пересмотрю и подтвержу
Я не могу ничего добавлять в этот файл
Смотрю что ты понемногу осваиваешься :) Примени для десктоп приложения для кнопки реетр финдепа, вот этот запрос account-buh-documents/Query/Koval to findep.sql
А Koval to findep (eng).sql отличается от файла с русскими названиями
Заменил запрос, v1.01.68
Original issue reported on code.google.com by
rf40...@gmail.com
on 12 Apr 2015 at 9:50