VsMoroz / account-buh-documents

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

III этап возможность менеджеру подтвердить счет к оплате #44

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 9 years ago
Это пока не задача, это фиксация намерений:

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

Счета можно подтвержать только  в 
определенное время, будет задаваться 
пользователем, например каждый рабочий 
день с  9 до 16.

Как только менеджер подтердил счет к 
оплате, сразу же у счета снимается галочка 
"не включать в реестр".

Заведем еще одну таблицу в которой будем 
хранить информацию об изменениях статусов 
счета, там будет храниться информация о 
подтверждениях менеджеров.

Создадим веб интерфейс в который и будет 
ходить менеджеры, после залогинивания у 
них отобразится окно с счетами которые 
требуется подтвердить, можно будет выбрать 
два фильтра показать счета закрепленные за 
мной (по умолчанию) или все счета.

Менеджер сможет ( в период с  9до 16) 
подтвердить счет в оплату и поставить ему 
первоочередность, также менеджер сможет 
отменить счет.

Original issue reported on code.google.com by rf40...@gmail.com on 4 Jan 2015 at 3:23

GoogleCodeExporter commented 9 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

GoogleCodeExporter commented 9 years ago
План реалистичный, потдерживаю. 
По п.3: информация будет в форме 
редактирования или как ты это видиш?

Original comment by panche...@gmail.com on 12 Jan 2015 at 12:55

GoogleCodeExporter commented 9 years ago
Мое предложение такое: 
 -статусы будут иметь только разовые счета
 -основной инструмент для проставления статусов будет web
 - в  делфи клиенте изменение статусов будет исключением по этому предлагаю сделать так: по щелчку правой кнопки мыши будет открываться меню где можно будет выбрать строку "статусы", после выбора открывается меню где будет история изменения статусов и возможность изменить статус на любой из каталога статусов 
 - завтра я пришлю таблицы и каталог изменения статусов и механизмы которые должны отрабатываться: скорей всего там будет типа, если статус перешел в "подтвержден к оплате" - значит убрать галочку не включать в реестр. Если перешел из режима "подтвержден к оплате" значит поставить галочку не включать в реестр.

Original comment by rf40...@gmail.com on 15 Feb 2015 at 8:45

GoogleCodeExporter commented 9 years ago

Original comment by rf40...@gmail.com on 15 Feb 2015 at 8:46

GoogleCodeExporter commented 9 years ago

Original comment by rf40...@gmail.com on 30 Mar 2015 at 10:23

GoogleCodeExporter commented 9 years ago
Добавил две таблицы, в первой будет 
храниться информация о подтверждениях 
менеджера, во второй информация о статусах 
этих подтверждений, введи в своей базе 
данных, посмотри десрипшины и примеры, 
дальнейшую логику и в программе и в web 
интрефейсе допишу дополнительно.

Original comment by rf40...@gmail.com on 5 Apr 2015 at 4:50

Attachments:

GoogleCodeExporter commented 9 years ago
Добавил

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

GoogleCodeExporter commented 9 years ago
Привет ! 
Обнови у себя табличку со статусами 

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

Attachments:

GoogleCodeExporter commented 9 years ago
обновил

Original comment by panche...@gmail.com on 8 Apr 2015 at 7:55

GoogleCodeExporter commented 9 years ago
Сделаем реализацию подтверждений для 
РОЗОВЫХ СЧЕТОВ в 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

GoogleCodeExporter commented 9 years ago
Важный момент, при выборе статусов 
одобряющих оплату  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

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

Original comment by panche...@gmail.com on 8 Apr 2015 at 11:25

GoogleCodeExporter commented 9 years ago
Спасибо, работает вернемся к этому вопросу 
уже когда будем делать web интерфейс для 
менеджеров - это уже скоро.

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

GoogleCodeExporter commented 9 years ago

Original comment by rf40...@gmail.com on 8 Apr 2015 at 1:58

GoogleCodeExporter commented 9 years ago
Сегодня решили что будем делать web 
интерфейс на  php + JS
Стартонем развернув PHP у меня на 
компьютере, затем переведем на сервер где у 
нас крутится БД.

Original comment by rf40...@gmail.com on 9 Apr 2015 at 2:47

GoogleCodeExporter commented 9 years ago
Описываю 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

GoogleCodeExporter commented 9 years ago
Пример html страничек во вложении, нас 
интересует основная страничка и страница 
авторизации.Распакуй архив в какую то 
папочку и от туда запусти.

Там применен bootstrap как посмотришь это все 
позвони поговорим.

Вместо кнопок - "Отметить все"  "Снять все 
отметки" будем использовать чек бокс в 
заголовке страницы, если один раз тапнул - 
все выделилось, еще раз тапнул со всего 
снялось выделение и так по кругу.

Original comment by rf40...@gmail.com on 9 Apr 2015 at 11:50

Attachments:

GoogleCodeExporter commented 9 years ago
Задача понятна, приступаю к работе.

Original comment by panche...@gmail.com on 10 Apr 2015 at 6:04

GoogleCodeExporter commented 9 years ago
Чуть чуть обновил шаблон, добавил там 
предупреждение текстовое для менеджеров.

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

Attachments:

GoogleCodeExporter commented 9 years ago
Используй привычные тебе компоненты, потом 
я попробую их подвести под bootstrap 
знаменатель.

Если что стандартные компоненты bootstraop вот: 
http://getbootstrap.com/components/ 

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

GoogleCodeExporter commented 9 years ago
Немного изменился шаблон авторизации 
(появилось обьяснение для пользователей) а 
также главный шаблон, там пару статусов 
изменилоь и таблица. Само содержимое 
таблицы еще обсуждаем, но количество полей 
таблицы больше менять не планируется.

Original comment by rf40...@gmail.com on 10 Apr 2015 at 9:32

Attachments:

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

Original comment by rf40...@gmail.com on 12 Apr 2015 at 2:04

Attachments:

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
Основная таблица: 
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

GoogleCodeExporter commented 9 years ago
В запросе попадается html разметка <font> <strong> 
не пугайся это я виделил некоторые части 
текста, прям так и вставляй в таблицу.

Original comment by rf40...@gmail.com on 12 Apr 2015 at 5:55

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
Привет!
Работа движется, есть успехи.
Для тестирования предлагаю тебе 
установить XAMPP. Удобная штука.

Original comment by panche...@gmail.com on 14 Apr 2015 at 11:38

GoogleCodeExporter commented 9 years ago
Качнул, буду инсталлить !

Original comment by rf40...@gmail.com on 14 Apr 2015 at 1:29

GoogleCodeExporter commented 9 years ago
Отпаравил файлы с функционалом (тестовые).

Original comment by panche...@gmail.com on 16 Apr 2015 at 6:46

GoogleCodeExporter commented 9 years ago
XAMPP последний на моей XP не ставиться, 
говорит бери 5.5.xx версию  качнул, тоже чето 
пока не пошло, буду разбираться.

Original comment by rf40...@gmail.com on 17 Apr 2015 at 2:39

GoogleCodeExporter commented 9 years ago
ставь связку Apach + PHP + MySQL, по отдельности (в 
Internete есть пошаговые инструкции). При 
установке MySQL выбирай utf8 (а не cp1251, как 
рекомендуют).

Original comment by panche...@gmail.com on 17 Apr 2015 at 2:52

GoogleCodeExporter commented 9 years ago
Саня,  делай и страничку авторизации тоже !

Я сегодня пересмотрел запросы и подправил 
их для вот таких фильтров, измени у себя в 
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

GoogleCodeExporter commented 9 years ago
Прардон вот такой правильный запрос:

Получить из БД счета "Подтвержденные не 
оплаченные документы"

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

GoogleCodeExporter commented 9 years ago
Таблицы заменил, авторизацию добавил, файл 
выслал. 

Original comment by panche...@gmail.com on 20 Apr 2015 at 7:44

GoogleCodeExporter commented 9 years ago
Привет ! 
Изменение в Десктоп приложении: присвоение 
статусов (это уже реализованно по заданию 
из комментария #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

GoogleCodeExporter commented 9 years ago
Так же просьба реализовать комментарий #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

GoogleCodeExporter commented 9 years ago
Выполнил (#10 работает, #11 - проигнорирован)

Original comment by panche...@gmail.com on 20 Apr 2015 at 8:17

GoogleCodeExporter commented 9 years ago
Уточнение: #37,#39 для Reest.exe или для WEB?

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

GoogleCodeExporter commented 9 years ago
Комментарий #38 касается desktop приложения (на 
всякий случай что бы не запутаться) :)

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

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
#37, #38 для десктопа тоесть для reestr exe

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

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
#11 исключен, "статус" открыт для ежемесячных

Original comment by panche...@gmail.com on 21 Apr 2015 at 4:54

GoogleCodeExporter commented 9 years ago

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

GoogleCodeExporter commented 9 years ago
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:

GoogleCodeExporter commented 9 years ago
Измени по умолчанию:
- количество отображаемых строк 100
- Фильтр (он должен обязательно выполнится 
при открытии) "Требуетс подтверждение 
менеджера"

Original comment by rf40...@gmail.com on 5 May 2015 at 7:53

GoogleCodeExporter commented 9 years ago
С менеджерами по умолчанию не работает. Я 
залогинился как один из менеджеров в web 
форму и не увидел заклепленных за ним 
счетов, показывает просто пустую форму "нет 
записей" хотя  в реальности за ним 
закрепленные счета которые требуют 
подтверждения - они есть

Original comment by rf40...@gmail.com on 12 May 2015 at 11:39

GoogleCodeExporter commented 9 years ago
Проверял в phpMyAdmin c SET @manager='номер менеджера'?

Original comment by panche...@gmail.com on 12 May 2015 at 4:33