Closed GoogleCodeExporter closed 8 years ago
Кроме web интерефейса такая же возможность
подтверждать разовый счет должна бы быть и
в delphi приложении и возможностью посмотреть
историю
Давай продумаем как это может выглядеть ?
Например:
1 Заведем каталог статусов счета
2 Заведем таблицу где будет храниться
изменения статусов, прям два поля id_счета,
id_статуса, id_того кто проставил статус, timestamp
3 В бд в разовых счетах будем отображать
последнее значение статуса
4 В интерфейсе иметь возможность выбрать
этот счет и правой кнопкой мыши вызвать
меню изменения статуса счета.
Original comment by rf40...@gmail.com
on 12 Jan 2015 at 10:26
План реалистичный, потдерживаю.
По п.3: информация будет в форме
редактирования или как ты это видиш?
Original comment by panche...@gmail.com
on 12 Jan 2015 at 12:55
Мое предложение такое:
-статусы будут иметь только разовые счета
-основной инструмент для проставления статусов будет web
- в делфи клиенте изменение статусов будет исключением по этому предлагаю сделать так: по щелчку правой кнопки мыши будет открываться меню где можно будет выбрать строку "статусы", после выбора открывается меню где будет история изменения статусов и возможность изменить статус на любой из каталога статусов
- завтра я пришлю таблицы и каталог изменения статусов и механизмы которые должны отрабатываться: скорей всего там будет типа, если статус перешел в "подтвержден к оплате" - значит убрать галочку не включать в реестр. Если перешел из режима "подтвержден к оплате" значит поставить галочку не включать в реестр.
Original comment by rf40...@gmail.com
on 15 Feb 2015 at 8:45
Original comment by rf40...@gmail.com
on 15 Feb 2015 at 8:46
Original comment by rf40...@gmail.com
on 30 Mar 2015 at 10:23
Добавил две таблицы, в первой будет
храниться информация о подтверждениях
менеджера, во второй информация о статусах
этих подтверждений, введи в своей базе
данных, посмотри десрипшины и примеры,
дальнейшую логику и в программе и в web
интрефейсе допишу дополнительно.
Original comment by rf40...@gmail.com
on 5 Apr 2015 at 4:50
Attachments:
Добавил
Original comment by panche...@gmail.com
on 6 Apr 2015 at 5:35
Привет !
Обнови у себя табличку со статусами
Original comment by rf40...@gmail.com
on 8 Apr 2015 at 7:47
Attachments:
обновил
Original comment by panche...@gmail.com
on 8 Apr 2015 at 7:55
Сделаем реализацию подтверждений для
РОЗОВЫХ СЧЕТОВ в Delphi.
По правому щелчку мыши на счете, сейчас
открывается меню с пунктами:
-добавить акт
-добавить НН
-копия счета
Модернизируй ее что бы было так:
-добавить акт
-добавить НН
-копия счета
Статусы:---
здесь вывести списком то что выдаст запрос:
SELECT `state` FROM `z_confirm_catal` ORDER BY `z_confirm_catal`.`id` ASC
При нажатии на строку со статусом вставить
в `z_confirmation` информацию о том что был
проставлен статус:
INSERT INTO `klients`.`z_confirmation` (`id`, `persona`, `sheet`, `sheet_id`,
`status`, `tmstamp`) VALUES (NULL, 'PERSONA', 'z_tab_invoice', 'IDDOCUM',
'IDSTATUSA', CURRENT_TIMESTAMP);
Где:
PERSONA - tab_access.id того кто залогинен в программу
IDDOCUM - z_tab_invoice.id того документа на котором щелкнул правой кнопкой мыши пользователь что бы проставить этот статус
IDSTATUSA - z_confirm_catal.id того статуса который выбрал пользователь (какой именно статус)
Original comment by rf40...@gmail.com
on 8 Apr 2015 at 8:19
Важный момент, при выборе статусов
одобряющих оплату z_confirm_catal.id = 10,20,40 - этому
документу нужно снять галочку "не включать
в реестр ковальчук
UPDATE `klients`.`z_tab_invoice` SET `not_incl_in_reestr` = '0' WHERE
`z_tab_invoice`.`id` ='номер счета по которому
щелкнули правой кнопкой мыши';
При выборе отменяющего статуса z_confirm_catal.id =
30 - эту галочку наоборот надо поставить.
UPDATE `klients`.`z_tab_invoice` SET `not_incl_in_reestr` = '1' WHERE
`z_tab_invoice`.`id` ='номер счета по которому
щелкнули правой кнопкой мыши';
Original comment by rf40...@gmail.com
on 8 Apr 2015 at 9:01
Выполнил, v1.01.56
Original comment by panche...@gmail.com
on 8 Apr 2015 at 11:25
Спасибо, работает вернемся к этому вопросу
уже когда будем делать web интерфейс для
менеджеров - это уже скоро.
Original comment by rf40...@gmail.com
on 8 Apr 2015 at 11:34
Original comment by rf40...@gmail.com
on 8 Apr 2015 at 1:58
Сегодня решили что будем делать web
интерфейс на php + JS
Стартонем развернув PHP у меня на
компьютере, затем переведем на сервер где у
нас крутится БД.
Original comment by rf40...@gmail.com
on 9 Apr 2015 at 2:47
Описываю web интерфейс, всего одно окно в нем:
Фильтр "Статус документов:"
- Все
- Требующие подтверждения (по умолчанию)
* потом может быть добавим Оплаченные,Отмененные,
Фильтр "За кем закреплен клиент:"
- Все
- здесь список менеджеров, по умолчанию тот менеджер который залогинился (SELECT `nik` FROM `tab_access` WHERE `activated` = 1 ORDER BY `nik` ASC)
Запрос как должны отображаться счета -
пришлю чуть позже.
Напротив каждого счета должна быть галочка.
Сверху над всеми счетами и снизу всех
счетов должны быть:
- кнопка "Отметить все"
- кнопка "Снять все отметки"
- Выпадающее меню "Присвоить статус" (значения из SELECT `state` FROM `z_confirm_catal` ORDER BY `z_confirm_catal`.`id` ASC)
- кнопка "Присвоить"
Шаблон странички web авторизации пришлю
сегодня завтра, запросы в БДСЭ пришлю
завтра послезавтра.
Original comment by rf40...@gmail.com
on 9 Apr 2015 at 4:00
Пример html страничек во вложении, нас
интересует основная страничка и страница
авторизации.Распакуй архив в какую то
папочку и от туда запусти.
Там применен bootstrap как посмотришь это все
позвони поговорим.
Вместо кнопок - "Отметить все" "Снять все
отметки" будем использовать чек бокс в
заголовке страницы, если один раз тапнул -
все выделилось, еще раз тапнул со всего
снялось выделение и так по кругу.
Original comment by rf40...@gmail.com
on 9 Apr 2015 at 11:50
Attachments:
Задача понятна, приступаю к работе.
Original comment by panche...@gmail.com
on 10 Apr 2015 at 6:04
Чуть чуть обновил шаблон, добавил там
предупреждение текстовое для менеджеров.
Original comment by rf40...@gmail.com
on 10 Apr 2015 at 7:05
Attachments:
Используй привычные тебе компоненты, потом
я попробую их подвести под bootstrap
знаменатель.
Если что стандартные компоненты bootstraop вот:
http://getbootstrap.com/components/
Original comment by rf40...@gmail.com
on 10 Apr 2015 at 7:10
Немного изменился шаблон авторизации
(появилось обьяснение для пользователей) а
также главный шаблон, там пару статусов
изменилоь и таблица. Само содержимое
таблицы еще обсуждаем, но количество полей
таблицы больше менять не планируется.
Original comment by rf40...@gmail.com
on 10 Apr 2015 at 9:32
Attachments:
Обновленный шаблон, в нем изменилось
только поочередность следования
информации в поле "Информация о счете все
остальное не изменилось".
Начинаю готовить sql запросы.
Original comment by rf40...@gmail.com
on 12 Apr 2015 at 2:04
Attachments:
SQL запросы:
1.Получить из БДСЭ список менеджеров:
SELECT `id`, `nik` FROM `tab_access` WHERE `activated` = '1' ORDER BY `nik` ASC
2.Получить из БДСЭ список клиентов:
SELECT `id`,`client` FROM `tab_klients` WHERE `type_partn` = '1' ORDER BY
`client` ASC
3.Получить из БДСЭ список статусов которые
можно присвоить:
SELECT `id`,`state` FROM `z_confirm_catal` ORDER BY `z_confirm_catal`.`id` ASC
Original comment by rf40...@gmail.com
on 12 Apr 2015 at 3:19
Основная таблица:
4.Получить из БД "Все документы" (если
@manager='%'- покажет документы всех менеджеров,
если подставить вместо % ID какогото из
менеджеров, покажет только его счета. Тоже
самое и с названием клиента @client='%'
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
ORDER BY klnt.client ASC, z_tab_invoice.sap_id DESC
Original comment by rf40...@gmail.com
on 12 Apr 2015 at 5:54
В запросе попадается html разметка <font> <strong>
не пугайся это я виделил некоторые части
текста, прям так и вставляй в таблицу.
Original comment by rf40...@gmail.com
on 12 Apr 2015 at 5:55
5.Получить из БД счета "Требуется
подтверждение менеджера"
(такой же запрос как в пункте 4 только в
раздел where добавляется AND (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)
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.id FROM `z_confirmation` prv
WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id
LIMIT 1) IS NULL
ORDER BY klnt.client ASC, z_tab_invoice.sap_id DESC
Original comment by rf40...@gmail.com
on 12 Apr 2015 at 9:12
6.Получить из БД счета "Подтвержденные не
оплаченные документы"
(такой же запрос как в пункте 4 только в
раздел where добавляется AND (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 NOT NULL
AND z_tab_invoice.dt_of_pay = '0000-00-00')
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.id FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id LIMIT 1) IS NOT NULL
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 12 Apr 2015 at 9:30
7. действия web интерфейса если пользователь
отметил галочкой один или больше
документов выбрал статус и нажал кнопку
применить (действия очень похожие на то что
мы делаем в десктоп версии)
Вставить в `z_confirmation` информацию о том что
пользователь добавил этому документу
статус:
INSERT INTO `klients`.`z_confirmation` (`id`, `persona`, `sheet`, `sheet_id`,
`status`, `tmstamp`) VALUES (NULL, 'PERSONA', 'z_tab_invoice', 'IDDOCUM',
'IDSTATUSA', CURRENT_TIMESTAMP);
Где:
PERSONA - tab_access.id того кто залогинен в программу
IDDOCUM - z_tab_invoice.id того документа у которого поставили галочку
IDSTATUSA - z_confirm_catal.id того статуса который выбрал пользователь (какой именно статус)
Original comment by rf40...@gmail.com
on 12 Apr 2015 at 9:37
Привет!
Работа движется, есть успехи.
Для тестирования предлагаю тебе
установить XAMPP. Удобная штука.
Original comment by panche...@gmail.com
on 14 Apr 2015 at 11:38
Качнул, буду инсталлить !
Original comment by rf40...@gmail.com
on 14 Apr 2015 at 1:29
Отпаравил файлы с функционалом (тестовые).
Original comment by panche...@gmail.com
on 16 Apr 2015 at 6:46
XAMPP последний на моей XP не ставиться,
говорит бери 5.5.xx версию качнул, тоже чето
пока не пошло, буду разбираться.
Original comment by rf40...@gmail.com
on 17 Apr 2015 at 2:39
ставь связку Apach + PHP + MySQL, по отдельности (в
Internete есть пошаговые инструкции). При
установке MySQL выбирай utf8 (а не cp1251, как
рекомендуют).
Original comment by panche...@gmail.com
on 17 Apr 2015 at 2:52
Саня, делай и страничку авторизации тоже !
Я сегодня пересмотрел запросы и подправил
их для вот таких фильтров, измени у себя в
PHP:
- Получить из БД счета "Требуется
подтверждение менеджера"
- Получить из БД счета "Подтвержденные не
оплаченные документы"
------------------
Получить из БД счета "Требуется
подтверждение менеджера"
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.id FROM `z_confirmation` prv WHERE prv.sheet like 'z_tab_invoice' AND `prv`.`sheet_id` = z_tab_invoice.id LIMIT 1) IS NULL
ORDER BY klnt.client ASC, z_tab_invoice.sap_id DESC;
----------------
Получить из БД счета "Подтвержденные не
оплаченные документы"
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 z_confirmation.tmstamp DESC LIMIT 1) NOT IN (30)
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 Apr 2015 at 8:13
Прардон вот такой правильный запрос:
Получить из БД счета "Подтвержденные не
оплаченные документы"
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)
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 Apr 2015 at 8:17
Таблицы заменил, авторизацию добавил, файл
выслал.
Original comment by panche...@gmail.com
on 20 Apr 2015 at 7:44
Привет !
Изменение в Десктоп приложении: присвоение
статусов (это уже реализованно по заданию
из комментария #10
https://code.google.com/p/account-buh-documents/issues/detail?id=44#c10 )
Убери в десктоп приложении задание из
комментария #11
https://code.google.com/p/account-buh-documents/issues/detail?id=44#c11
Тоесть должен остаться только комментарий
#10 при изменении статусов будут
добавляться записи в таблице z_confirmation и не
будут трогаться поля самого счета.
Original comment by rf40...@gmail.com
on 20 Apr 2015 at 7:56
Так же просьба реализовать комментарий #10
для интерфейса ЕЖЕМЕСЯЧНЫХ счетов, тоже
при простановле статусов - вносить запись в
z_confirmation
https://code.google.com/p/account-buh-documents/issues/detail?id=44#c10
Original comment by rf40...@gmail.com
on 20 Apr 2015 at 7:58
Выполнил (#10 работает, #11 - проигнорирован)
Original comment by panche...@gmail.com
on 20 Apr 2015 at 8:17
Уточнение: #37,#39 для Reest.exe или для WEB?
Original comment by panche...@gmail.com
on 20 Apr 2015 at 8:20
Комментарий #38 касается desktop приложения (на
всякий случай что бы не запутаться) :)
Original comment by rf40...@gmail.com
on 20 Apr 2015 at 9:34
[deleted comment]
#37, #38 для десктопа тоесть для reestr exe
Original comment by rf40...@gmail.com
on 20 Apr 2015 at 9:45
[deleted comment]
#11 исключен, "статус" открыт для ежемесячных
Original comment by panche...@gmail.com
on 21 Apr 2015 at 4:54
Original comment by rf40...@gmail.com
on 26 Apr 2015 at 6:26
Looks like you have forgot to define the html5_data attribute for the 1 column
Original comment by rf40...@gmail.com
on 5 May 2015 at 7:02
Attachments:
Измени по умолчанию:
- количество отображаемых строк 100
- Фильтр (он должен обязательно выполнится
при открытии) "Требуетс подтверждение
менеджера"
Original comment by rf40...@gmail.com
on 5 May 2015 at 7:53
С менеджерами по умолчанию не работает. Я
залогинился как один из менеджеров в web
форму и не увидел заклепленных за ним
счетов, показывает просто пустую форму "нет
записей" хотя в реальности за ним
закрепленные счета которые требуют
подтверждения - они есть
Original comment by rf40...@gmail.com
on 12 May 2015 at 11:39
Проверял в phpMyAdmin c SET @manager='номер менеджера'?
Original comment by panche...@gmail.com
on 12 May 2015 at 4:33
Original issue reported on code.google.com by
rf40...@gmail.com
on 4 Jan 2015 at 3:23