|  27.05.2009, 09:15 | #1 | 
| Участник | 
			
			Сделал report, который блокирует клиентов по параметрам: - баланс > кредитного лимита; - кредитный лимит>0 и код формулы оплаты ='ПРЕДОПЛАТА' IF Customer."Balance (LCY)">Customer."Credit Limit (LCY)" THEN BEGIN Customer.Blocked:=3; Customer.MODIFY; END; IF Customer."Credit Limit (LCY)" > 0 THEN IF Customer."Payment Terms Code" = 'ПРЕДОПЛАТА' THEN BEGIN Customer.Blocked:=3; Customer.MODIFY; END; Надо сделать еще одну проверку, например, у клиента в карточке баланс >0 и код формулы оплаты ='10 дней', дата последней отгрузки у этого клиента 010409, а сегодня уже 150409 тогда клиент должен блокироваться. Подскажите пожалуйста, как сделать эту проверку. | 
|  | 
|  27.05.2009, 10:13 | #2 | 
| Участник | 
			
			Тут есть нюанс. Вы уверены, что сравниваете дату оплаты с датой именно отгрузки, а не выставления счета клиенту? Если все же с датой выставления счета, то можно воспользоваться вычисляемыми полями в карточке Клиента "Задолженность" и "Задолженность (РУБ)". Если же вас интересует именно дата отгрузки, то все не так просто.
		 | 
|  | 
|  27.05.2009, 11:11 | #3 | 
| Участник | Цитата: 
		
			Сообщение от lobster
			   Сделал report, который блокирует клиентов по параметрам: - баланс > кредитного лимита; - кредитный лимит>0 и код формулы оплаты ='ПРЕДОПЛАТА' IF Customer."Balance (LCY)">Customer."Credit Limit (LCY)" THEN BEGIN Customer.Blocked:=3; Customer.MODIFY; END; IF Customer."Credit Limit (LCY)" > 0 THEN IF Customer."Payment Terms Code" = 'ПРЕДОПЛАТА' THEN BEGIN Customer.Blocked:=3; Customer.MODIFY; END; Надо сделать еще одну проверку, например, у клиента в карточке баланс >0 и код формулы оплаты ='10 дней', дата последней отгрузки у этого клиента 010409, а сегодня уже 150409 тогда клиент должен блокироваться. Подскажите пожалуйста, как сделать эту проверку. Кстати, настройку в виде галочки можно сделать одним полем для каждого вида оплат | 
|  | 
|  27.05.2009, 11:28 | #4 | 
| Участник | Цитата: 
		
			Сообщение от Milk
			   Тут есть нюанс. Вы уверены, что сравниваете дату оплаты с датой именно отгрузки, а не выставления счета клиенту? Если все же с датой выставления счета, то можно воспользоваться вычисляемыми полями в карточке Клиента "Задолженность" и "Задолженность (РУБ)". Если же вас интересует именно дата отгрузки, то все не так просто. Например сейчас есть клиент, баланс 50000, код формулы оплаты 21д, счет выстаили вчера, а в поле "Задолженность" и "Задолженность (РУБ)". = 50000. Как я понимаю это общая задолжность клиента, а мне нужна просроченная задолжность. | 
|  | 
|  27.05.2009, 11:35 | #5 | 
| Участник | 
			
			Чтобы пользоваться этими полями, надо накладывать FlowFilter на поле "Дата Фильтр". Введите туда фильтр вида '.. Дата', и увидите сумму операций, просроченных к оплате на эту дату.
		 | 
|  | 
|  27.05.2009, 12:54 | #6 | 
| Участник | Цитата: так не получается Customer - OnPreDataItem() Customer.SETFILTER(Customer."Date Filter",[TODAY]); // только вместо TODAY , надо '.. Дата'. Подскажите пожалуйста? | 
|  | 
|  27.05.2009, 13:22 | #7 | 
| Участник | Цитата: Поэкспериментируйте на 1 Клиенте с разными отсрочками и поссмотрите какие поля Дат меняются... | 
|  | 
|  27.05.2009, 13:28 | #8 | 
| Участник | Цитата: Customer.SETRANGE("Date Filter", 0D, TODAY); или Customer.SETFILTER("Date Filter", '..%1', TODAY); | 
|  | 
|  27.05.2009, 13:43 | #9 | 
| Участник |   Цитата: .. и нужно какминимум добавить Posting Date=FIELD(Date Filter) в расчёт Balance тогда уже... { Customer No.=FIELD(No.),Initial Entry Global Dim. 1=FIELD(Global Dimension 1 Filter),Initial Entry Global Dim. 2=FIELD(Global Dimension 2 Filter),Currency Code=FIELD(Currency Filter),Posting Date=FIELD(Date Filter) } P.S. Ну да ладно, Вам виднее.. | 
|  | 
|  27.05.2009, 13:51 | #10 | 
| Участник | 
			
			2 RedFox: Совершенно не претендую на истину в последней инстанции. Про отстрочки по платежам, например, я просто не понял, что Вы имеете в виду. А поле Balance лучше не трогать. Чтобы видеть баланс на дату, лучше воспользоваться полями "Net Change" и "Net Change (LCY)", в них есть фильтр по дате.
		 | 
|  | 
|  27.05.2009, 13:59 | #11 | 
| Участник | Цитата: 
		
			Сообщение от Milk
			   2 RedFox: Совершенно не претендую на истину в последней инстанции. Про отстрочки по платежам, например, я просто не понял, что Вы имеете в виду. А поле Balance лучше не трогать. Чтобы видеть баланс на дату, лучше воспользоваться полями "Net Change" и "Net Change (LCY)", в них есть фильтр по дате.  ). Просто данное фильтр просто добавит возможность ещё фильтровать по дате. P.S. Я тоже не претендую на истину. Она всегда где-то рядом. Но я никак не могу её найти   | 
|  | 
|  27.05.2009, 14:09 | #12 | 
| Участник | 
			
			RedFox, если Вы добавите в поле Balance фильтр по дате, Вы получите в точности поле "Net Change"     А небольшие проблемы, справедливости ради, все же возникнуть могут - вдруг, например, в каком-нибудь отчете используется поле Balance, и при этом в нем для каких- то целей накладывается фильтр по дате. Ну и для обновлений удобнее, когда меньше изменений. | 
|  | 
|  27.05.2009, 16:57 | #13 | 
| Участник | Цитата: А для задачи можно использовать так же Balance Due. Цитата: 
		
			А небольшие проблемы, справедливости ради, все же возникнуть могут - вдруг, например, в каком-нибудь отчете используется поле Balance, и при этом в нем для каких- то целей накладывается фильтр по дате. Ну и для обновлений удобнее, когда меньше изменений.
		
	 | 
|  | 
|  27.05.2009, 17:09 | #14 | 
| Участник | |
|  |