forum.bitel.ru http://forum.bitel.ru/ |
|
Монитор статуса http://forum.bitel.ru/viewtopic.php?f=22&t=4832 |
Страница 1 из 1 |
Автор: | max [ 26 ноя 2010, 21:04 ] |
Заголовок сообщения: | Монитор статуса |
Скажите как вывести все договора по которым не поступило оплаты за текущий месяц? если это в текущем функционале незя сделать то можно в ТУДУ? |
Автор: | skyb [ 27 ноя 2010, 07:09 ] |
Заголовок сообщения: | Re: Монитор статуса |
2 или 3 раза писал уже про этот скрипт |
Автор: | max [ 28 ноя 2010, 16:49 ] |
Заголовок сообщения: | Re: Монитор статуса |
идея интересная, но тема с группами не ложится в нашу логику, плюс хотелось бы этого в базовом функционале, так как я смотрю фича то востребованная. Хотя как почву для дальнейших модификаций и изысканий конечно возьму, за это мерси. |
Автор: | skyb [ 28 ноя 2010, 16:56 ] |
Заголовок сообщения: | Re: Монитор статуса |
а в группах то чаво плохого? ![]() за это мерси. беру плюсиками ![]() |
Автор: | max [ 29 ноя 2010, 01:21 ] |
Заголовок сообщения: | Re: Монитор статуса |
так как у нас группа компаний биллинг обслуживает сразу несколько ООО, и как следствие идёт привязка на группы, исходя из этого формируется и шаблон договора в карточках, в общем много чего завязано, и трогать противопоказано. |
Автор: | skyb [ 29 ноя 2010, 05:46 ] |
Заголовок сообщения: | Re: Монитор статуса |
если интересно --- сейчас доделал и тестирую подобный скрип, только там CRM плагин используется |
Автор: | max [ 29 ноя 2010, 10:59 ] |
Заголовок сообщения: | Re: Монитор статуса |
а можно поподробней? |
Автор: | skyb [ 29 ноя 2010, 13:14 ] |
Заголовок сообщения: | Re: Монитор статуса |
max писал(а): а можно поподробней? конечно ![]() viewtopic.php?f=19&t=4538 |
Автор: | max [ 29 ноя 2010, 22:34 ] |
Заголовок сообщения: | Re: Монитор статуса |
и всётаки хотелось бы иметь данный функционал в мониторе статуса, так как есть клиенты которых отключать не нада, а скрипту собственно пофиг вип это клиент или нет ![]() |
Автор: | Администратор [ 30 ноя 2010, 12:27 ] |
Заголовок сообщения: | Re: Монитор статуса |
Если просто вывести, то: Код: SELECT contract.title, payment.id FROM contract
LEFT JOIN contract_payment AS payment ON contract.id=payment.cid AND payment.dt>='2010-11-01' AND payment.dt<'2010-12-01' HAVING payment.id IS NULL |
Автор: | max [ 30 ноя 2010, 22:01 ] |
Заголовок сообщения: | Re: Монитор статуса |
дык сделали бы галочку в мониторе статуса с таким кодом так как при выборе строки с договором он сам не открывается, и приходится пользоваться поиском по номеру что бы понять что это за клиент! было бы круто если бы сделали, за код спасибо.... |
Автор: | max [ 30 ноя 2010, 22:06 ] |
Заголовок сообщения: | Re: Монитор статуса |
сразу встречный вопрос а как можно игнорировать закрытые договора или договора? |
Автор: | Phricker [ 01 дек 2010, 12:26 ] |
Заголовок сообщения: | Re: Монитор статуса |
contract.date2 is null contract.id in ('xxx', 'xxx') |
Автор: | max [ 01 дек 2010, 19:33 ] |
Заголовок сообщения: | Re: Монитор статуса |
Phricker писал(а): contract.date2 is null не работает эта строчка
|
Автор: | Phricker [ 01 дек 2010, 19:37 ] |
Заголовок сообщения: | Re: Монитор статуса |
max писал(а): Phricker писал(а): contract.date2 is null не работает эта строчкаКод: SELECT contract.title, payment.id, contract.date2 FROM contract LEFT JOIN contract_payment AS payment ON contract.id=payment.cid AND payment.dt>='2010-11-01' AND payment.dt<'2010-12-01' where contract.date2 is null HAVING payment.id IS NULL Вроде так. Если не так прошу сильно не пинать сейчас голова забита совсем другим |
Автор: | max [ 08 дек 2010, 02:02 ] |
Заголовок сообщения: | Re: Монитор статуса |
да, спасибо, работает... жаль что не отписались девелоперы |
Автор: | max [ 18 дек 2010, 21:02 ] |
Заголовок сообщения: | Re: Монитор статуса |
скажите пожалуйста, а как в этом коде: Код: SELECT contract.title, payment.id, contract.date2 FROM contract LEFT JOIN contract_payment AS payment ON contract.id=payment.cid AND payment.dt>='2010-12-01' AND payment.dt<'2010-12-31' where contract.date2 is null HAVING payment.id IS NULL сделать ещё проверку на id группы договора? просто сейчас попадает в выборку много договоров из группы "расторгнутых и закрытых" |
Автор: | Phricker [ 20 дек 2010, 12:11 ] |
Заголовок сообщения: | Re: Монитор статуса |
max писал(а): скажите пожалуйста, а как в этом коде: Код: SELECT contract.title, payment.id, contract.date2 FROM contract LEFT JOIN contract_payment AS payment ON contract.id=payment.cid AND payment.dt>='2010-12-01' AND payment.dt<'2010-12-31' where contract.date2 is null and contract.gr = gr&(1<<1) # где вторая 1 является кодом группы из справочника "группы договоров" HAVING payment.id IS NULL сделать ещё проверку на id группы договора? просто сейчас попадает в выборку много договоров из группы "расторгнутых и закрытых" Wiki - Разные SQL запросы |
Автор: | max [ 20 дек 2010, 19:21 ] |
Заголовок сообщения: | Re: Монитор статуса |
сорри, но я не сильно шарю в скуэкле, как объединить эти два куска кода? Код: Поиск договоров с группой 7: SELECT * FROM contract WHERE gr&(1<<7) > 0 и Код: SELECT contract.title, payment.id, contract.date2 FROM contract
LEFT JOIN contract_payment AS payment ON contract.id=payment.cid AND payment.dt>='2010-12-01' AND payment.dt<'2010-12-31' where contract.date2 is null and contract.gr = gr&(1<<1) # где вторая 1 является кодом группы из справочника "группы договоров" HAVING payment.id IS NULL |
Автор: | Phricker [ 20 дек 2010, 20:33 ] |
Заголовок сообщения: | Re: Монитор статуса |
max писал(а): сорри, но я не сильно шарю в скуэкле, как объединить эти два куска кода? Код: Поиск договоров с группой 7: SELECT * FROM contract WHERE gr&(1<<7) > 0 и Код: SELECT contract.title, payment.id, contract.date2 FROM contract LEFT JOIN contract_payment AS payment ON contract.id=payment.cid AND payment.dt>='2010-12-01' AND payment.dt<'2010-12-31' where contract.date2 is null and contract.gr = gr&(1<<1) # где вторая 1 является кодом группы из справочника "группы договоров" HAVING payment.id IS NULL Читать выше я же написал ![]() |
Автор: | max [ 20 дек 2010, 23:17 ] |
Заголовок сообщения: | Re: Монитор статуса |
спс, не заметил.... |
Автор: | max [ 28 янв 2011, 01:28 ] |
Заголовок сообщения: | Re: Монитор статуса |
up |
Автор: | Phricker [ 28 янв 2011, 12:29 ] |
Заголовок сообщения: | Re: Монитор статуса |
max писал(а): 1. что за Newcontract в первой строчке? его на самом деле нет! и причём он светится в каждой выводимой группе! 2. что за колонка id? и можно сделать так что бы она не выводилась? 3. почему выводится колонка date2? как сделать чтобы не выводилась? 4. в ходе работы с результатом обнаружился большой процент ложных срабатываний, и появилась необходимость добавить ещё одно условие: а именно баланс на начало месяца должен быть меньше нуля, подскажите пожалуйста как это написать в запросе? Заранее спасибо. Как много вопросов ![]() 1) Ну это ваш договор созданный без шаблона. Ищите его. 2) Колонка ID - это ID платежа совершенного (в вашем случае не совершенного) в системе 3) Колонка date2 - дата закрытия договора (по вышесказанному вам наверное стоит заглянуть сюда и еще вот сюда, где, наверное, для начала посмотреть вот это Справка по языку манипуляции данными SQL (DML SQL)) 4) Код: SELECT contract.title, contract.comment, payment.id, contract.date2, contract_balance.summa1 FROM contract_balance, contract LEFT JOIN contract_payment AS payment ON contract.id=payment.cid AND payment.dt>='2011-01-01' AND payment.dt<'2011-01-31' where contract.date2 is null and contract.gr = gr&(1<<3) and contract_balance.cid = contract.id and contract_balance.summa1 <0 HAVING payment.id IS NULL Вроде так. Хотя честно говоря я уже забыл о чем этот скрипт ![]() |
Автор: | max [ 29 янв 2011, 00:57 ] | ||
Заголовок сообщения: | Re: Монитор статуса | ||
Phricker писал(а): Как много вопросов ![]() 1) Ну это ваш договор созданный без шаблона. Ищите его. 2) Колонка ID - это ID платежа совершенного (в вашем случае не совершенного) в системе 3) Колонка date2 - дата закрытия договора (по вышесказанному вам наверное стоит заглянуть сюда и еще вот сюда, где, наверное, для начала посмотреть вот это Справка по языку манипуляции данными SQL (DML SQL)) 4) Код: SELECT contract.title, contract.comment, payment.id, contract.date2, contract_balance.summa1 FROM contract_balance, contract LEFT JOIN contract_payment AS payment ON contract.id=payment.cid AND payment.dt>='2011-01-01' AND payment.dt<'2011-01-31' where contract.date2 is null and contract.gr = gr&(1<<3) and contract_balance.cid = contract.id and contract_balance.summa1 <0 HAVING payment.id IS NULL Вроде так. Хотя честно говоря я уже забыл о чем этот скрипт ![]() У меня есть возражения и появились ещё вопросы! 1. Нет этого договора! Причём эта строчка кочует из результата в результат независимо от тотго какую группу договоров я подставляю в запрос! 2. Понятно, но как убрать отображение её в результате? 3. Аналогично 2, с вашими ссылками буду знакомиться сенкс! 4. Ваш запрос выдаёт что то совсем не то (см аттач), изначально идея была вывести все номера договоров и их название по которым не было приходов за определённый период, и баланс которых на начало месяца меньше нуля, с учётом групповой принадлежности договора. Заранее спасибо.
|
Автор: | max [ 31 янв 2011, 14:50 ] |
Заголовок сообщения: | Re: Монитор статуса |
up |
Автор: | max [ 02 фев 2011, 22:44 ] |
Заголовок сообщения: | Re: Монитор статуса |
up |
Автор: | Phricker [ 02 фев 2011, 23:48 ] |
Заголовок сообщения: | Re: Монитор статуса |
Код: SELECT cnt.title, cnt.comment, bal.summa1 FROM contract_balance AS bal, contract AS cnt LEFT JOIN contract_payment AS pay ON cnt.id = pay.cid AND pay.dt BETWEEN '2011-01-01' AND '2011-01-31' WHERE pay.id IS NULL AND cnt.date2 IS NULL AND cnt.gr = gr & (1 << 3) AND bal.cid = cnt.id AND bal.yy = '2011' AND bal.mm = '1' AND bal.summa1 < 0 ORDER BY cnt.title Попробуйте. Сначала выложил версию без проверки на минусовой баланс ![]() Прим: Период менять в двух местах Цитата: AND bal.yy = '2011' отвечает за период балансовAND bal.mm = '1' Цитата: pay.dt BETWEEN '2011-01-01' AND '2011-01-31' за период платежей
|
Автор: | Phricker [ 02 фев 2011, 23:52 ] |
Заголовок сообщения: | Re: Монитор статуса |
Ах да... Про NEW CONTRACT. В этот скрипт попадают и те договора которые совсем без группы. ![]() Все эти три договора без группы ![]() Код: and cnt.gr <> 0 , но это уже по желанию
|
Автор: | max [ 03 фев 2011, 19:10 ] |
Заголовок сообщения: | Re: Монитор статуса |
спасибо то что нада! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |